Overload List
| # | Signature | Description |
|---|---|---|
| 1 | procedure Inv(const Y: TMtx); | The inverse matrix. |
| 2 | function Inv: TMtxVec; | Inverse elements. |
| └ indexed: function Inv(Index: Integer; Len: Integer): TMtxVec; | ||
| 3 | function Inv(const X: TMtxVec): TMtxVec; | Calculate the inverse of all X object elements without limiting operating. |
| └ indexed: function Inv(const X: TMtxVec; XIndex: Integer; Index: Integer; Len: Integer): TMtxVec; | ||
| 4 | function Inv(const X: TMtxVec; const Threshold: Double): TMtxVec; | Calculate the inverse of all X object elements anmd store the results to calling object elements. |
| └ indexed: function Inv(const X: TMtxVec; const Threshold: Double; XIndex: Integer; Index: Integer; Len: Integer): TMtxVec; | ||
| 5 | function Inv(const Threshold: Double): TMtxVec; | 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: function Inv(const Threshold: Double; Index: Integer; Len: Integer): TMtxVec; |
Overload 1: procedure Inv(const Y: TMtx);
The inverse matrix.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | Y | TMtx |
Result: stored in self (calling object)
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.
Overload 2: function Inv: TMtxVec;
Inverse elements.
Result: stored in self (calling object), returns self for chaining
Calculates the inverse of all calling object elements in-place without limiting inverse operation.
var A: TMtx;
begin
CreateIt(A);
try
A.SetIt(2,2,False,[1,2,
2,4]); // 2x2, real matrix
A.Inv;
finally
FreeIt(A);
end;
end;
Indexed: function Inv(Index: Integer; Len: Integer): TMtxVec;
Calculate the inverse of calling object elements [Index]..[Index+Len-1] in-place.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | Index | Integer | start index |
| 2 | Len | Integer | element count |
Result: stored in self (calling object), returns self for chaining
An exception is raised if array borders are overrun/underrun.
var a,b: Matrix;
begin
a.SetIt(2,2,False,[1,2,3,4]); // a = [1, 2, 3, 4]
b.Inv(a,0.01); // b = [1.0, 0.5, 0.3333, 0.25]
b := Inv(a,0.01);
end;
Overload 3: function Inv(const X: TMtxVec): TMtxVec;
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 TMtxVec.Complex property of calling object are adjusted automatically.
Indexed: function Inv(const X: TMtxVec; XIndex: Integer; Index: Integer; Len: Integer): TMtxVec;
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 | Integer | X start index |
| 3 | Index | Integer | start index |
| 4 | Len | Integer | 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 TMtxVec.Complex property does not match or array borders are overrun/underrun.
Overload 4: function Inv(const X: TMtxVec; const Threshold: Double): TMtxVec;
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 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: function Inv(const X: TMtxVec; const Threshold: Double; XIndex: Integer; Index: Integer; Len: Integer): TMtxVec;
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 | Integer | X start index |
| 4 | Index | Integer | start index |
| 5 | Len | Integer | 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 TMtxVec.Complex property do not match or array borders are overrun/underrun.
Overload 5: function Inv(const Threshold: Double): TMtxVec;
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: function Inv(const Threshold: Double; Index: Integer; Len: Integer): TMtxVec;
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 | Integer | start index |
| 3 | Len | Integer | element count |
Result: stored in self (calling object), returns self for chaining
An exception is raised if array borders are overrun/underrun.