MtxExpr::Mul Function

Overload List

#SignatureDescription
1Vector Mul(TVec *Left, TMtx *Right);Vector matrix multiply returning Vector type result.
2Vector Mul(TMtx *Left, TVec *Right);Matrix vector multiply returning Vector type result.
3Matrix Mul(TVec *Left, TVec *Right);Tensor product of two vectors returning Matrix type result.
4Matrix Mul(TMtx *Mtx1, TMtx *Mtx2);Returns the matrix product of two matrices.
5Matrix Mul(TMtx *Mtx1, TMtx *Mtx2, TMtx *Mtx3);Returns the matrix product of three matrices.
6Matrix Mul(TMtx *Mtx1, TMtx *Mtx2, TMtx *Mtx3, TMtx *Mtx4);Returns the matrix product of four matrices.
7Matrix Mul(const DewArray<TMtx *> &mtxArray);Returns the matrix product of multiple matrices.
8Matrix Mul(const DewArray<TMtx *> &mtxArray, const DewArray<int> &transpArray);Returns the matrix product of multiple matrices.
9Matrix Mul(TMtx *Mtx1, TMtx *Mtx2, TMtxOperation Operation1, TMtxOperation Operation2 = TMtxOperation::opNone);Returns the matrix product of two matrices.
10Matrix 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.

Overload 1: Vector Mul(TVec *Left, TMtx *Right);

Vector matrix multiply returning Vector type result.

#NameTypeDescription
1LeftTVec *
2RightTMtx *
Remarks:

Internally calls Vector::TensorProd

Declared in Dew::Math::Units::MtxExpr · Dew.Math/Units.MtxExpr.h · Cross-compiler

Overload 2: Vector Mul(TMtx *Left, TVec *Right);

Matrix vector multiply returning Vector type result.

#NameTypeDescription
1LeftTMtx *
2RightTVec *
Remarks:

Internally calls Vector::TensorProd

Declared in Dew::Math::Units::MtxExpr · Dew.Math/Units.MtxExpr.h · Cross-compiler

Overload 3: Matrix Mul(TVec *Left, TVec *Right);

Tensor product of two vectors returning Matrix type result.

#NameTypeDescription
1LeftTVec *
2RightTVec *
Remarks:

Internally calls Vector::TensorProd

Declared in Dew::Math::Units::MtxExpr · Dew.Math/Units.MtxExpr.h · Cross-compiler

Overload 4: Matrix Mul(TMtx *Mtx1, TMtx *Mtx2);

Returns the matrix product of two matrices.

#NameTypeDescription
1Mtx1TMtx *
2Mtx2TMtx *
Remarks:

Internally calls Matrix::Mul and does JIT-ed (faster) multiply for small square matrices.

Declared in Dew::Math::Units::MtxExpr · Dew.Math/Units.MtxExpr.h · Cross-compiler

Overload 5: Matrix Mul(TMtx *Mtx1, TMtx *Mtx2, TMtx *Mtx3);

Returns the matrix product of three matrices.

#NameTypeDescription
1Mtx1TMtx *
2Mtx2TMtx *
3Mtx3TMtx *
Remarks:

Internally calls Matrix::Mul and does JIT-ed (faster) multiply for small square matrices.

Declared in Dew::Math::Units::MtxExpr · Dew.Math/Units.MtxExpr.h · Cross-compiler

Overload 6: Matrix Mul(TMtx *Mtx1, TMtx *Mtx2, TMtx *Mtx3, TMtx *Mtx4);

Returns the matrix product of four matrices.

#NameTypeDescription
1Mtx1TMtx *
2Mtx2TMtx *
3Mtx3TMtx *
4Mtx4TMtx *
Remarks:

Internally calls Matrix::Mul and does JIT-ed (faster) multiply for small square matrices.

Declared in Dew::Math::Units::MtxExpr · Dew.Math/Units.MtxExpr.h · Cross-compiler

Overload 7: Matrix Mul(const DewArray<TMtx *> &mtxArray);

Returns the matrix product of multiple matrices.

#NameTypeDescription
1mtxArrayconst DewArray<TMtx *> &
Remarks:

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;

Declared in Dew::Math::Units::MtxExpr · Dew.Math/Units.MtxExpr.h · Cross-compiler

Overload 8: Matrix Mul(const DewArray<TMtx *> &mtxArray, const DewArray<int> &transpArray);

Returns the matrix product of multiple matrices.

#NameTypeDescription
1mtxArrayconst DewArray<TMtx *> &
2transpArrayconst DewArray<int> &
Remarks:

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;

Declared in Dew::Math::Units::MtxExpr · Dew.Math/Units.MtxExpr.h · Cross-compiler

Overload 9: Matrix Mul(TMtx *Mtx1, TMtx *Mtx2, TMtxOperation Operation1, TMtxOperation Operation2 = TMtxOperation::opNone);

Returns the matrix product of two matrices.

#NameTypeDescription
1Mtx1TMtx *
2Mtx2TMtx *
3Operation1TMtxOperation
4Operation2 = TMtxOperation::opNoneTMtxOperation
Remarks:

Internally calls Matrix::Mul This operation is not JIT-ed.

Declared in Dew::Math::Units::MtxExpr · Dew.Math/Units.MtxExpr.h · Cross-compiler

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.

#NameTypeDescription
1Mtx1TMtx *
2Mtx2TMtx *
3Mtx1TypeTMtxType
4Mtx2Type = TMtxType::mtGeneralTMtxType
5Operation1 = TMtxOperation::opNoneTMtxOperation
6Operation2 = TMtxOperation::opNoneTMtxOperation
Remarks:

Internally calls Matrix::Mul This operation is not JIT-ed.

Declared in Dew::Math::Units::MtxExpr · Dew.Math/Units.MtxExpr.h · Cross-compiler