Vector::NormC Method

Overload List

#SignatureDescription
1double NormC(TDenseMtxVec *Vec, bool RelativeError = false) const;The C-norm.
2double NormC(TDenseMtxVec *Vec, int VecIndex, int Index, int Len, bool RelativeError = false) const;Calculates the C norm ||V-Vec|| between Vec elements [VecIndex]..[VecIndex+Len-1] and calling vector elements [Index]..[Index+Len-1].
3double NormC() const;Calculate the C-norm of calling vector.
4double NormC(int Index, int Len) const;Calculates the C norm from calling vector elements [Index]..[Index+Len-1].

Overload 1: double NormC(TDenseMtxVec *Vec, bool RelativeError = false) const;

The C-norm.

#NameTypeDescription
1VecTDenseMtxVec *
2RelativeError = falsebool
Remarks:

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

∥V−Vec∥C=max⁡k∣V[k]−Vec[k]∣\|\text{V} - \text{Vec}\| _C = \max _k |\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":

∥V−Vec∥∥V∥\frac{\| \text{V} - \text{Vec}\|}{\|\text{V}\|}
Examples
#include "MtxExpr.h"

using namespace Dew;
using namespace Dew::Math;

void Example()
{
    Vector a, b;
    double c;

    a.SetIt(false, DewArray<double>{1, 2, 3, 4});
    b.SetIt(false, DewArray<double>{4, 3, 2, 1});
    c = a.NormC(b, false);
}
See Also: Vector::NormL1, Vector::NormL2
Declared in Dew::Math::Vector · Dew.Math/MtxExpr.h · Cross-compiler

Overload 2: double NormC(TDenseMtxVec *Vec, int VecIndex, int Index, int Len, bool RelativeError = false) const;

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

#NameTypeDescription
1VecTDenseMtxVec *
2VecIndexint
3Indexint
4Lenint
5RelativeError = falsebool
Examples
#include "MtxExpr.h"

using namespace Dew;
using namespace Dew::Math;

void Example()
{
    Vector a, b;
    double c;

    a = {1, 2, 3, 4};
    b = {4, 3, 2, 1};
    c = a.NormC(b, false);
}
Declared in Dew::Math::Vector · Dew.Math/MtxExpr.h · Cross-compiler

Overload 3: double NormC() const;

Calculate the C-norm of calling vector.

Remarks:

Computes:

NormC = max|a[i]|, 0 < i < Length-1
Declared in Dew::Math::Vector · Dew.Math/MtxExpr.h · Cross-compiler

Overload 4: double NormC(int Index, int Len) const;

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

#NameTypeDescription
1Indexint
2Lenint
Declared in Dew::Math::Vector · Dew.Math/MtxExpr.h · Cross-compiler