Matrix.NormL2 Method

Overload List

#SignatureDescription
1function NormL2: Double;The L2-norm of the calling Matrix.
└ indexed: function NormL2(Index: Integer; Len: Integer): Double;
2function NormL2(const Vec: TDenseMtxVec; RelativeError: Boolean): Double;The L2-norm.
└ indexed: function NormL2(const Vec: TDenseMtxVec; VecIndex: Integer; Index: Integer; Len: Integer; RelativeError: Boolean): Double;

Overload 1: function NormL2: Double;

The L2-norm of the calling Matrix.

Returns: Double

Remarks:

Calculates:

NormL2 = ( sum | a[i] |^2 )^(0.5), 0 < i < Length-1

Indexed: function NormL2(Index: Integer; Len: Integer): Double;

Calculates the L2 norm from calling Matrix elements [Index]..[Index+Len-1].

#NameTypeDescription
1IndexIntegerstart index
2LenIntegerelement count

Returns: Double

Overload 2: function NormL2(const Vec: TDenseMtxVec; RelativeError: Boolean): Double;

The L2-norm.

#NameTypeDescription
1VecTDenseMtxVec
2RelativeErrorBoolean

Returns: Double

Remarks:

Calculates the L2 norm : ||V-Vec||, where V is calling Matrix. If the NormL2 is called without any parameters, the NormL2 calculates the norm of calling Matrix. The L2 norm of ||V-Vec|| is defined by the formula:

VVecL2=k=0Length1(V[k]Vec[k])2\|\text{V} - \text{Vec}\| _{L2} = \sqrt{\sum _{k=0} ^{\text{Length}-1}\left(|\text{V}[k]-\text{Vec}[k]| \right)^2}

If RelativeError is true then the computed norm is divided by the norm of V, and the function returns the "relative error":

VVecV\frac{\| \text{V} - \text{Vec}\|}{\|\text{V}\|}
Examples
var a,b: Matrix;
    c: double;
begin
    a.SetIt(1,4,False,[1,2,3,4]);
    b.SetIt(1,4,False,[4,3,2,1]);
    c := a.NormL2(b,True);  // or
    c := NormL2(a,b,true);
end;
See Also: Matrix.NormC, Matrix.NormL1

Indexed: function NormL2(const Vec: TDenseMtxVec; VecIndex: Integer; Index: Integer; Len: Integer; RelativeError: Boolean): Double;

Calculates the L2 norm ||V-Vec|| between Vec elements [VecIndex]..[VecIndex+Len-1] and calling Matrix elements [Index]..[Index+Len-1].

#NameTypeDescription
1VecTDenseMtxVec
2VecIndexInteger
3IndexIntegerstart index
4LenIntegerelement count
5RelativeErrorBoolean

Returns: Double