Overload List
Overload 1: function Mul(const Mtx1: TMtx; const Mtx2: TMtx): Matrix;
Returns the matrix product of two matrices.
Returns: Matrix
Internally calls Matrix.Mul and does JIT-ed (faster) multiply for small square matrices.
var A,B,C: TMtx;
begin
CreateIt(A,B,C);
try
A.SetIt(2,2,False,[1,2,
2,4]);
B.SetIt(2,2,False,[1,2,
2,4]);
C.Mul(A,B);
finally
FreeIt(A,B,C);
end;
end;
Overload 2: function Mul(const Mtx1: TMtx; const Mtx2: TMtx; const Mtx3: TMtx): Matrix;
Returns the matrix product of three matrices.
Returns: Matrix
Internally calls Matrix.Mul and does JIT-ed (faster) multiply for small square matrices.
Overload 3: function Mul(const Mtx1: TMtx; const Mtx2: TMtx; const Mtx3: TMtx; const Mtx4: TMtx): Matrix;
Returns the matrix product of four matrices.
Returns: Matrix
Internally calls Matrix.Mul and does JIT-ed (faster) multiply for small square matrices.
Overload 4: function Mul(const Mtx1: TMtx; const Mtx2: TMtx; Operation1: TMtxOperation; Operation2: TMtxOperation): Matrix;
Returns the matrix product of two matrices.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | Mtx1 | TMtx | |
| 2 | Mtx2 | TMtx | |
| 3 | Operation1 | TMtxOperation | |
| 4 | Operation2 | TMtxOperation |
Returns: Matrix
Internally calls Matrix.Mul This operation is not JIT-ed.
Overload 5: function Mul(const Mtx1: TMtx; const Mtx2: TMtx; Mtx1Type: TMtxType; Mtx2Type: TMtxType; Operation1: TMtxOperation; Operation2: TMtxOperation): Matrix;
Returns the matrix product of two matrices.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | Mtx1 | TMtx | |
| 2 | Mtx2 | TMtx | |
| 3 | Mtx1Type | TMtxType | |
| 4 | Mtx2Type | TMtxType | |
| 5 | Operation1 | TMtxOperation | |
| 6 | Operation2 | TMtxOperation |
Returns: Matrix
Internally calls Matrix.Mul This operation is not JIT-ed.
Overload 6: function Mul(const Left: TMtx; const Right: TVec): Vector;
Matrix vector multiply returning Vector type result.
Returns: Vector
Internally calls Vector.TensorProd
Overload 7: function Mul(const mtxArray: TMtxArray): Matrix;
Returns the matrix product of multiple matrices.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | mtxArray | TMtxArray |
Returns: Matrix
Internally calls Matrix.Mul and does JIT-ed (faster) multiply for small square matrices.
var a,b,c,d,e: Matrix; begin
a := Mul([b,c,d,e]); end;
Overload 8: function Mul(const mtxArray: TMtxArray; const transpArray: TIntegerArray): Matrix;
Returns the matrix product of multiple matrices.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | mtxArray | TMtxArray | |
| 2 | transpArray | TIntegerArray |
Returns: Matrix
Internally calls Matrix.Mul and will not use JIT-ed matrix multiply for small square matrices, if transpose is requested for the specified matrix. Both parameters need to be equal in length.
var a,b,c,d,e: Matrix; begin
a := Mul([b,c,d,e], [0,1,0,0]); // transpose c before multiplying end;
Overload 9: function Mul(const Left: TVec; const Right: TMtx): Vector;
Vector matrix multiply returning Vector type result.
Returns: Vector
Internally calls Vector.TensorProd
Overload 10: function Mul(const Left: TVec; const Right: TVec): Matrix;
Tensor product of two vectors returning Matrix type result.
Returns: Matrix
Internally calls Vector.TensorProd