Overload List
Overload 1: Matrix Mul(TMtx Mtx1, TMtx Mtx2)
Returns the matrix product of two matrices.
Returns: Matrix
Internally calls Dew.Math.Matrix.Mul and does JIT-ed (faster) multiply for small square matrices.
TMtx A;
TMtx B;
TMtx C;
MtxVec.CreateIt(out A, out B, out 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
{
MtxVec.FreeIt(ref A, ref B, ref C);
}
Overload 2: Matrix Mul(TMtx Mtx1, TMtx Mtx2, TMtx Mtx3)
Returns the matrix product of three matrices.
Returns: Matrix
Internally calls Dew.Math.Matrix.Mul and does JIT-ed (faster) multiply for small square matrices.
Overload 3: Matrix Mul(TMtx Mtx1, TMtx Mtx2, TMtx Mtx3, TMtx Mtx4)
Returns the matrix product of four matrices.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | Mtx1 | TMtx | source TMtx |
| 2 | Mtx2 | TMtx | source TMtx |
| 3 | Mtx3 | TMtx | source TMtx |
| 4 | Mtx4 | TMtx | source TMtx |
Returns: Matrix
Internally calls Dew.Math.Matrix.Mul and does JIT-ed (faster) multiply for small square matrices.
Overload 4: Matrix Mul(TMtx Mtx1, TMtx Mtx2, TMtxOperation Operation1, TMtxOperation Operation2)
Returns the matrix product of two matrices.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | Mtx1 | TMtx | source TMtx |
| 2 | Mtx2 | TMtx | source TMtx |
| 3 | Operation1 | TMtxOperation | |
| 4 | Operation2 | TMtxOperation |
Returns: Matrix
Internally calls Dew.Math.Matrix.Mul This operation is not JIT-ed.
Overload 5: Matrix Mul(TMtx Mtx1, TMtx Mtx2, TMtxType Mtx1Type, TMtxType Mtx2Type, TMtxOperation Operation1, TMtxOperation Operation2)
Returns the matrix product of two matrices.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | Mtx1 | TMtx | source TMtx |
| 2 | Mtx2 | TMtx | source TMtx |
| 3 | Mtx1Type | TMtxType | |
| 4 | Mtx2Type | TMtxType | |
| 5 | Operation1 | TMtxOperation | |
| 6 | Operation2 | TMtxOperation |
Returns: Matrix
Internally calls Dew.Math.Matrix.Mul This operation is not JIT-ed.
Overload 6: Vector Mul(TMtx Left, TVec Right)
Matrix vector multiply returning Vector type result.
Returns: Vector
Internally calls Dew.Math.Vector.TensorProd
Overload 7: Matrix Mul(TMtx[] mtxArray)
Returns the matrix product of multiple matrices.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | mtxArray | TMtx[] |
Returns: Matrix
Internally calls Dew.Math.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: Matrix Mul(TMtx[] mtxArray, Int32[] transpArray)
Returns the matrix product of multiple matrices.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | mtxArray | TMtx[] | |
| 2 | transpArray | Int32[] |
Returns: Matrix
Internally calls Dew.Math.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: Vector Mul(TVec Left, TMtx Right)
Vector matrix multiply returning Vector type result.
Returns: Vector
Internally calls Dew.Math.Vector.TensorProd
Overload 10: Matrix Mul(TVec Left, TVec Right)
Tensor product of two vectors returning Matrix type result.
Returns: Matrix
Internally calls Dew.Math.Vector.TensorProd