Overload List
| # | Signature | Description |
|---|---|---|
| 1 | TMtx Inv | Calculates matrix inverse (Mtx^-1). |
| └ indexed: TMtxVec Inv(Int32 Index, Int32 Len) | ||
| 2 | TMtx Inv(TMtxType MtxType) | self = inverse of the matrix |
| 3 | TMtxVec Inv(TMtxVec X) | Calculate the inverse of all X object elements without limiting operating. |
| └ indexed: TMtxVec Inv(TMtxVec X, Int32 XIndex, Int32 Index, Int32 Len) | ||
| 4 | TMtxVec Inv(TMtxVec X, Double Threshold) | Calculate the inverse of all X object elements anmd store the results to calling object elements. |
| └ indexed: TMtxVec Inv(TMtxVec X, Double Threshold, Int32 XIndex, Int32 Index, Int32 Len) | ||
| 5 | TMtxVec Inv(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. |
| └ indexed: TMtxVec Inv(Double Threshold, Int32 Index, Int32 Len) |
Overload 1: TMtx Inv
Calculates matrix inverse (Mtx^-1).
Result: stored in self (calling object), returns self for chaining
Calculate the inverse (Mtx^-1) of the calling matrix. If the calling matrix is not Dew.Math.TMtx.Quadratic, an exception is raised. Parameter Dew.Math.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 Dew.Math.TMtx.DetectMtxType method.
TMtx A;
MtxVec.CreateIt(out A);
try
{
A.SetIt(2,2,false,[1,2,
2,4]); // 2x2, real matrix
A.Inv;
}
finally
{
MtxVec.FreeIt(ref A);
}
Indexed: TMtxVec Inv(Int32 Index, Int32 Len)
Calculate the inverse of calling object elements [Index]..[Index+Len-1] in-place.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | Index | Int32 | start index |
| 2 | Len | Int32 | element count |
Result: stored in self (calling object), returns self for chaining
An exception is raised if array borders are overrun/underrun.
Matrix a;
Matrix b;
a.SetIt(2,2,false,new double[] {1,2,3,4}); // a = new double[] {1, 2, 3, 4}
b.Inv(a,0.01); // b = new double[] {1.0, 0.5, 0.3333, 0.25}
b = Inv(a,0.01);
Overload 2: TMtx Inv(TMtxType MtxType)
Compute inverse of the matrix.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | MtxType | TMtxType |
Result: stored in self (calling object), returns self for chaining
Specify the matrix type to select the most performance efficient algorithm.
Overload 3: TMtxVec Inv(TMtxVec X)
Calculate the inverse of all X object elements without limiting operating.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | X | TMtxVec | source TVec or TMtx |
Result: stored in self (calling object), returns self for chaining
Store the results in calling object. Size and Dew.Math.TMtxVec.Complex property of calling object are adjusted automatically.
Indexed: TMtxVec Inv(TMtxVec X, Int32 XIndex, Int32 Index, Int32 Len)
Calculate the inverse of X object elements [XIndex]..[XIndex+Len-1] without limiting operating.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | X | TMtxVec | source TVec or TMtx |
| 2 | XIndex | Int32 | X start index |
| 3 | Index | Int32 | start index |
| 4 | Len | Int32 | element count |
Result: stored in self (calling object), returns self for chaining
Store the results in calling object elements [Index]..[Index+Len-1]. An exception is raised if X and calling object Dew.Math.TMtxVec.Complex property does not match or array borders are overrun/underrun.
Overload 4: TMtxVec Inv(TMtxVec X, Double Threshold)
Calculate the inverse of all X object elements anmd store the results to calling object elements.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | X | TMtxVec | source TVec or TMtx |
| 2 | Threshold | Double | scalar |
Result: stored in self (calling object), returns self for chaining
Size and Dew.Math.TMtxVec.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.
Indexed: TMtxVec Inv(TMtxVec X, Double Threshold, Int32 XIndex, Int32 Index, Int32 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 | source TVec or TMtx |
| 2 | Threshold | Double | scalar |
| 3 | XIndex | Int32 | X start index |
| 4 | Index | Int32 | start index |
| 5 | Len | Int32 | element count |
Result: stored in self (calling object), returns self for chaining
Store the results in calling object elements [Index]..[Index+Len-1]. An exception is raised if X and calling object Dew.Math.TMtxVec.Complex property do not match or array borders are overrun/underrun.
Overload 5: TMtxVec Inv(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 | Double | scalar |
Result: stored in self (calling object), returns self for chaining
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.
Indexed: TMtxVec Inv(Double Threshold, Int32 Index, Int32 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 | Double | scalar |
| 2 | Index | Int32 | start index |
| 3 | Len | Int32 | element count |
Result: stored in self (calling object), returns self for chaining
An exception is raised if array borders are overrun/underrun.