Overload List
Overload 1: Vector Mul(TVec *Left, TMtx *Right);
Vector matrix multiply returning Vector type result.
Internally calls Vector::TensorProd
Overload 2: Vector Mul(TMtx *Left, TVec *Right);
Matrix vector multiply returning Vector type result.
Internally calls Vector::TensorProd
Overload 3: Matrix Mul(TVec *Left, TVec *Right);
Tensor product of two vectors returning Matrix type result.
Internally calls Vector::TensorProd
Overload 4: Matrix Mul(TMtx *Mtx1, TMtx *Mtx2);
Returns the matrix product of two matrices.
Internally calls Matrix::Mul and does JIT-ed (faster) multiply for small square matrices.
Overload 5: Matrix Mul(TMtx *Mtx1, TMtx *Mtx2, TMtx *Mtx3);
Returns the matrix product of three matrices.
Internally calls Matrix::Mul and does JIT-ed (faster) multiply for small square matrices.
Overload 6: Matrix Mul(TMtx *Mtx1, TMtx *Mtx2, TMtx *Mtx3, TMtx *Mtx4);
Returns the matrix product of four matrices.
Internally calls Matrix::Mul and does JIT-ed (faster) multiply for small square matrices.
Overload 7: Matrix Mul(const DewArray<TMtx *> &mtxArray);
Returns the matrix product of multiple matrices.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | mtxArray | const DewArray<TMtx *> & |
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: Matrix Mul(const DewArray<TMtx *> &mtxArray, const DewArray<int> &transpArray);
Returns the matrix product of multiple matrices.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | mtxArray | const DewArray<TMtx *> & | |
| 2 | transpArray | const DewArray<int> & |
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: Matrix Mul(TMtx *Mtx1, TMtx *Mtx2, TMtxOperation Operation1, TMtxOperation Operation2 = TMtxOperation::opNone);
Returns the matrix product of two matrices.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | Mtx1 | TMtx * | |
| 2 | Mtx2 | TMtx * | |
| 3 | Operation1 | TMtxOperation | |
| 4 | Operation2 = TMtxOperation::opNone | TMtxOperation |
Internally calls Matrix::Mul This operation is not JIT-ed.
Overload 10: Matrix Mul(TMtx *Mtx1, TMtx *Mtx2, TMtxType Mtx1Type, TMtxType Mtx2Type = TMtxType::mtGeneral, TMtxOperation Operation1 = TMtxOperation::opNone, TMtxOperation Operation2 = TMtxOperation::opNone);
Returns the matrix product of two matrices.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | Mtx1 | TMtx * | |
| 2 | Mtx2 | TMtx * | |
| 3 | Mtx1Type | TMtxType | |
| 4 | Mtx2Type = TMtxType::mtGeneral | TMtxType | |
| 5 | Operation1 = TMtxOperation::opNone | TMtxOperation | |
| 6 | Operation2 = TMtxOperation::opNone | TMtxOperation |
Internally calls Matrix::Mul This operation is not JIT-ed.