TMtx::Inv Method

Overload List

#SignatureDescription
1TMtxVec *Inv(int Index, int Len);Calculate the inverse of calling object elements [Index]..[Index+Len-1] in-place.
2TMtxVec *Inv(const double Threshold);Calculate the inverse of all calling object elements in-place. The computation occurs after first limiting the magnitude of each element by the lower bound of Threshold.
3TMtxVec *Inv(const double Threshold, int Index, int Len);Calculate the inverse of calling object elements [Index]..[Index+Len-1] in-place after limiting the magnitude of each element by the lower bound of Threshold.
4TMtxVec *Inv(TMtxVec *X);Calculate the inverse of all X object elements without limiting operating.
5TMtxVec *Inv(TMtxVec *X, int XIndex, int Index, int Len);Calculate the inverse of X object elements [XIndex]..[XIndex+Len-1] without limiting operating.
6TMtxVec *Inv(TMtxVec *X, const double Threshold);Calculate the inverse of all X object elements anmd store the results to calling object elements.
7TMtxVec *Inv(TMtxVec *X, const double Threshold, int XIndex, int Index, int Len);Calculate the inverse of X object elements [XIndex]..[XIndex+Len-1] after limiting the magnitude of each element by the lower bound of Threshold.
8void Inv(TMtxVec *Src, TMtxVec *Dst, double Threshold, const int SrcIdx, const int DstIdx, const int Len);
9void Inv(TMtxVec *Src, TMtxVec *Dst, const int SrcIdx, const int DstIdx, const int Len);
10TMtx *Inv();Calculates matrix inverse (Mtx^-1).
11TMtx *Inv(TMtxType MtxType);Compute inverse of the matrix.

Overload 1: TMtxVec *Inv(int Index, int Len);

Calculate the inverse of calling object elements [Index]..[Index+Len-1] in-place.

#NameTypeDescription
1Indexint
2Lenint
Remarks:

An exception is raised if array borders are overrun/underrun.

Declared in Dew::Math::TMtxVec · Dew.Math/AbstractMtxVec.h · Cross-compiler

Overload 2: TMtxVec *Inv(const double Threshold);

Calculate the inverse of all calling object elements in-place. The computation occurs after first limiting the magnitude of each element by the lower bound of Threshold.

#NameTypeDescription
1Thresholdconst double
Remarks:

The limiting operation is performed to avoid division by zero. Since Threshold represents a magnitude, it is always real and must always be positive.

For complex versions, the magnitude of the input is limited, but the phase remains unchanged. Zero-valued input is assumed to have zero phase.

Declared in Dew::Math::TMtxVec · Dew.Math/AbstractMtxVec.h · Cross-compiler

Overload 3: TMtxVec *Inv(const double Threshold, int Index, int Len);

Calculate the inverse of calling object elements [Index]..[Index+Len-1] in-place after limiting the magnitude of each element by the lower bound of Threshold.

#NameTypeDescription
1Thresholdconst double
2Indexint
3Lenint
Remarks:

An exception is raised if array borders are overrun/underrun.

Declared in Dew::Math::TMtxVec · Dew.Math/AbstractMtxVec.h · Cross-compiler

Overload 4: TMtxVec *Inv(TMtxVec *X);

Calculate the inverse of all X object elements without limiting operating.

#NameTypeDescription
1XTMtxVec *
Remarks:

Store the results in calling object. Size and TMtx::Complex property of calling object are adjusted automatically.

Declared in Dew::Math::TMtxVec · Dew.Math/AbstractMtxVec.h · Cross-compiler

Overload 5: TMtxVec *Inv(TMtxVec *X, int XIndex, int Index, int Len);

Calculate the inverse of X object elements [XIndex]..[XIndex+Len-1] without limiting operating.

#NameTypeDescription
1XTMtxVec *
2XIndexint
3Indexint
4Lenint
Remarks:

Store the results in calling object elements [Index]..[Index+Len-1]. An exception is raised if X and calling object TMtx::Complex property does not match or array borders are overrun/underrun.

Declared in Dew::Math::TMtxVec · Dew.Math/AbstractMtxVec.h · Cross-compiler

Overload 6: TMtxVec *Inv(TMtxVec *X, const double Threshold);

Calculate the inverse of all X object elements anmd store the results to calling object elements.

#NameTypeDescription
1XTMtxVec *
2Thresholdconst double
Remarks:

Size and TMtx::Complex property of calling obhect are adjusted automatically. The computation occurs after first limiting the magnitude of each element by the lower bound of Threshold. The limiting operation is performed to avoid division by zero. Since Threshold represents a magnitude, it is always real and must always be positive.

For complex versions, the magnitude of the input is limited, but the phase remains unchanged. Zero-valued input is assumed to have zero phase.

Declared in Dew::Math::TMtxVec · Dew.Math/AbstractMtxVec.h · Cross-compiler

Overload 7: TMtxVec *Inv(TMtxVec *X, const double Threshold, int XIndex, int Index, int Len);

Calculate the inverse of X object elements [XIndex]..[XIndex+Len-1] after limiting the magnitude of each element by the lower bound of Threshold.

#NameTypeDescription
1XTMtxVec *
2Thresholdconst double
3XIndexint
4Indexint
5Lenint
Remarks:

Store the results in calling object elements [Index]..[Index+Len-1]. An exception is raised if X and calling object TMtx::Complex property do not match or array borders are overrun/underrun.

Declared in Dew::Math::TMtxVec · Dew.Math/AbstractMtxVec.h · Cross-compiler

Overload 8: void Inv(TMtxVec *Src, TMtxVec *Dst, double Threshold, const int SrcIdx, const int DstIdx, const int Len);

#NameTypeDescription
1SrcTMtxVec *
2DstTMtxVec *
3Thresholddouble
4SrcIdxconst int
5DstIdxconst int
6Lenconst int
Declared in Dew::Math::TMtxVec · Dew.Math/AbstractMtxVec.h · Cross-compiler

Overload 9: void Inv(TMtxVec *Src, TMtxVec *Dst, const int SrcIdx, const int DstIdx, const int Len);

#NameTypeDescription
1SrcTMtxVec *
2DstTMtxVec *
3SrcIdxconst int
4DstIdxconst int
5Lenconst int
Declared in Dew::Math::TMtxVec · Dew.Math/AbstractMtxVec.h · Cross-compiler

Overload 10: TMtx *Inv();

Calculates matrix inverse (Mtx^-1).

Remarks:

Calculate the inverse (Mtx^-1) of the calling matrix. If the calling matrix is not TMtx::Quadratic, an exception is raised. Parameter TMtxType determines which optimized method will be used for calculating the inverse matrix. If MtxType is omitted, the default value mtGeneral (general quadratic matrix) is used.

Note
The MtxType parameter is not verified. To determine if the calling matrix type is actually MtxType, use the TMtx::DetectMtxType method.

See Also: TMtx::DetectMtxType, TMtx::MtxError
Declared in Dew::Math::TMtx · Dew.Math/MtxVec.h · Cross-compiler

Overload 11: TMtx *Inv(TMtxType MtxType);

Compute inverse of the matrix.

#NameTypeDescription
1MtxTypeTMtxType
Remarks:

Specify the matrix type to select the most performance efficient algorithm.

Declared in Dew::Math::TMtx · Dew.Math/MtxVec.h · Cross-compiler