Overload List
| # | Signature | Description |
|---|---|---|
| 1 | TMtxVec *Inv(); | Inverse elements. |
| 2 | TMtxVec *Inv(int Index, int Len); | Calculate the inverse of calling object elements [Index]..[Index+Len-1] in-place. |
| 3 | 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. |
| 4 | 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. |
| 5 | TMtxVec *Inv(TMtxVec *X); | Calculate the inverse of all X object elements without limiting operating. |
| 6 | TMtxVec *Inv(TMtxVec *X, int XIndex, int Index, int Len); | Calculate the inverse of X object elements [XIndex]..[XIndex+Len-1] without limiting operating. |
| 7 | TMtxVec *Inv(TMtxVec *X, const double Threshold); | Calculate the inverse of all X object elements anmd store the results to calling object elements. |
| 8 | 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. |
| 9 | void Inv(TMtxVec *Src, TMtxVec *Dst, double Threshold, const int SrcIdx, const int DstIdx, const int Len); | |
| 10 | void Inv(TMtxVec *Src, TMtxVec *Dst, const int SrcIdx, const int DstIdx, const int Len); | |
| 11 | void Inv(TMtx *Y); | The inverse matrix. |
Overload 1: TMtxVec *Inv();
Inverse elements.
Calculates the inverse of all calling object elements in-place without limiting inverse operation.
Overload 2: TMtxVec *Inv(int Index, int Len);
Calculate the inverse of calling object elements [Index]..[Index+Len-1] in-place.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | Index | int | |
| 2 | Len | int |
An exception is raised if array borders are overrun/underrun.
Overload 3: 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.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | Threshold | const double |
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.
Overload 4: 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.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | Threshold | const double | |
| 2 | Index | int | |
| 3 | Len | int |
An exception is raised if array borders are overrun/underrun.
Overload 5: TMtxVec *Inv(TMtxVec *X);
Calculate the inverse of all X object elements without limiting operating.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | X | TMtxVec * |
Store the results in calling object. Size and TSparseMtx::Complex property of calling object are adjusted automatically.
Overload 6: TMtxVec *Inv(TMtxVec *X, int XIndex, int Index, int Len);
Calculate the inverse of X object elements [XIndex]..[XIndex+Len-1] without limiting operating.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | X | TMtxVec * | |
| 2 | XIndex | int | |
| 3 | Index | int | |
| 4 | Len | int |
Store the results in calling object elements [Index]..[Index+Len-1]. An exception is raised if X and calling object TSparseMtx::Complex property does not match or array borders are overrun/underrun.
Overload 7: TMtxVec *Inv(TMtxVec *X, const double Threshold);
Calculate the inverse of all X object elements anmd store the results to calling object elements.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | X | TMtxVec * | |
| 2 | Threshold | const double |
Size and TSparseMtx::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.
Overload 8: 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.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | X | TMtxVec * | |
| 2 | Threshold | const double | |
| 3 | XIndex | int | |
| 4 | Index | int | |
| 5 | Len | int |
Store the results in calling object elements [Index]..[Index+Len-1]. An exception is raised if X and calling object TSparseMtx::Complex property do not match or array borders are overrun/underrun.
Overload 9: void Inv(TMtxVec *Src, TMtxVec *Dst, double Threshold, const int SrcIdx, const int DstIdx, const int Len);
| # | Name | Type | Description |
|---|---|---|---|
| 1 | Src | TMtxVec * | |
| 2 | Dst | TMtxVec * | |
| 3 | Threshold | double | |
| 4 | SrcIdx | const int | |
| 5 | DstIdx | const int | |
| 6 | Len | const int |
Overload 10: void Inv(TMtxVec *Src, TMtxVec *Dst, const int SrcIdx, const int DstIdx, const int Len);
| # | Name | Type | Description |
|---|---|---|---|
| 1 | Src | TMtxVec * | |
| 2 | Dst | TMtxVec * | |
| 3 | SrcIdx | const int | |
| 4 | DstIdx | const int | |
| 5 | Len | const int |
Overload 11: void Inv(TMtx *Y);
The inverse matrix.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | Y | TMtx * |
Calculates the inverse (Mtx^-1) of the calling matrix and stores the result in Y dense matrix. If the calling matrix is not quadratic, an exception is raised.