clMatrix.NormL1 Method

Overload List

#SignatureDescription
1function NormL1: Double;Calculate the L1-norm of the calling vector.
└ indexed: function NormL1(Index: Integer; Len: Integer): Double;
2function NormL1(const Vec: TOpenCLMtxVec; RelativeError: Boolean): Double;The L1-norm.
└ indexed: function NormL1(const Vec: TOpenCLMtxVec; VecIndex: Integer; Index: Integer; Len: Integer; RelativeError: Boolean): Double;

Overload 1: function NormL1: Double;

Calculate the L1-norm of the calling vector.

Returns: Double - L-1 norm, defined by the following equation: NormL1 = Sum(|a[i]|), 0 < i < Length-1

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

Calculates the L1 norm from calling vector elements [Index]..[Index+Len-1].

#NameTypeDescription
1IndexIntegerstart index
2LenIntegerelement count

Returns: Double

Overload 2: function NormL1(const Vec: TOpenCLMtxVec; RelativeError: Boolean): Double;

The L1-norm.

#NameTypeDescription
1VecTOpenCLMtxVec
2RelativeErrorBoolean

Returns: Double - L-1 norm, defined by: ||V-Vec||, where V is calling vector.

Remarks:

If the NormL1 is called without any parameters, the NormL1 calculates the norm of calling vector. The L1 norm of ||V-Vec|| is defined by the formula:

VVecL1=k=0Length1V[k]Vec[k]\|\text{V} - \text{Vec}\| _{L1} = \sum _{k=0} ^{\text{Length}-1}|\text{V}[k]-\text{Vec}[k]|

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}\|}
See Also: clMatrix.NormC, clMatrix.NormL2

Indexed: function NormL1(const Vec: TOpenCLMtxVec; VecIndex: Integer; Index: Integer; Len: Integer; RelativeError: Boolean): Double;

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

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

Returns: Double