Overload List
| # | Signature | Description |
|---|---|---|
| 1 | function LUSolve(const B: TMtx; const A: TMtx; MtxType: TMtxType; Operation: TMtxOperation): Matrix; | Returns the X from LU solving A*X = B. |
| 2 | function LUSolve(const B: TVec; const A: TMtx; MtxType: TMtxType; Operation: TMtxOperation): Vector; | Returns the X from LU solving A*X = B. |
Overload 1: function LUSolve(const B: TMtx; const A: TMtx; MtxType: TMtxType; Operation: TMtxOperation): Matrix;
Returns the X from LU solving A*X = B.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | B | TMtx | |
| 2 | A | TMtx | |
| 3 | MtxType | TMtxType | |
| 4 | Operation | TMtxOperation |
Returns: Matrix
Remarks:
Internally calls Matrix.LUSolve
Examples
aXY = (X Row index, Y Column index)
[a11, a12, a13, 0, 0, 0]
[a21, a22, a23, a24, 0, 0]
[a31, a32, a33, a34, a35, 0]
[0, a42, a43, a44, a45, a46]
[0, 0, a53, a54, a55, a56]
[0, 0, 0, a64, a65, a66]
A.SubDiag := 2;
A.SuperDiag := 2;
A.Size(5,6); // 5 here is the number of rows for the banded, not for the dense matrix storage format
[0 , 0, a13, a24 ,a35, a46] second upper diagonal
[0 , a12, a23, a34, a45, a56] first upper diagonal
[a11 , a22, a33, a44, a55, a66] main diagonal
[a21 , a32, a43, a54, a65, 0] first lower diagonal
[a31 , a42, a53, a64, 0, 0] second lower diagonal
Overload 2: function LUSolve(const B: TVec; const A: TMtx; MtxType: TMtxType; Operation: TMtxOperation): Vector;
Returns the X from LU solving A*X = B.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | B | TVec | |
| 2 | A | TMtx | |
| 3 | MtxType | TMtxType | |
| 4 | Operation | TMtxOperation |
Returns: Vector
Remarks:
Internally calls Matrix.LUSolve