MtxExpr.Mul Method

Overload List

#SignatureDescription
1Matrix Mul(TMtx Mtx1, TMtx Mtx2)Returns the matrix product of two matrices.
2Matrix Mul(TMtx Mtx1, TMtx Mtx2, TMtx Mtx3)Returns the matrix product of three matrices.
3Matrix Mul(TMtx Mtx1, TMtx Mtx2, TMtx Mtx3, TMtx Mtx4)Returns the matrix product of four matrices.
4Matrix Mul(TMtx Mtx1, TMtx Mtx2, TMtxOperation Operation1, TMtxOperation Operation2)Returns the matrix product of two matrices.
5Matrix Mul(TMtx Mtx1, TMtx Mtx2, TMtxType Mtx1Type, TMtxType Mtx2Type, TMtxOperation Operation1, TMtxOperation Operation2)Returns the matrix product of two matrices.
6Vector Mul(TMtx Left, TVec Right)Matrix vector multiply returning Vector type result.
7Matrix Mul(TMtx[] mtxArray)Returns the matrix product of multiple matrices.
8Matrix Mul(TMtx[] mtxArray, Int32[] transpArray)Returns the matrix product of multiple matrices.
9Vector Mul(TVec Left, TMtx Right)Vector matrix multiply returning Vector type result.
10Matrix Mul(TVec Left, TVec Right)Tensor product of two vectors returning Matrix type result.

Overload 1: Matrix Mul(TMtx Mtx1, TMtx Mtx2)

Returns the matrix product of two matrices.

#NameTypeDescription
1Mtx1TMtxsource TMtx
2Mtx2TMtxsource TMtx

Returns: Matrix

Remarks:

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

Examples
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.

#NameTypeDescription
1Mtx1TMtxsource TMtx
2Mtx2TMtxsource TMtx
3Mtx3TMtxsource TMtx

Returns: Matrix

Remarks:

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.

#NameTypeDescription
1Mtx1TMtxsource TMtx
2Mtx2TMtxsource TMtx
3Mtx3TMtxsource TMtx
4Mtx4TMtxsource TMtx

Returns: Matrix

Remarks:

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.

#NameTypeDescription
1Mtx1TMtxsource TMtx
2Mtx2TMtxsource TMtx
3Operation1TMtxOperation
4Operation2TMtxOperation

Returns: Matrix

Remarks:

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.

#NameTypeDescription
1Mtx1TMtxsource TMtx
2Mtx2TMtxsource TMtx
3Mtx1TypeTMtxType
4Mtx2TypeTMtxType
5Operation1TMtxOperation
6Operation2TMtxOperation

Returns: Matrix

Remarks:

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.

#NameTypeDescription
1LeftTMtxsource TMtx
2RightTVecsource TVec

Returns: Vector

Remarks:

Internally calls Dew.Math.Vector.TensorProd

Overload 7: Matrix Mul(TMtx[] mtxArray)

Returns the matrix product of multiple matrices.

#NameTypeDescription
1mtxArrayTMtx[]

Returns: Matrix

Remarks:

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.

#NameTypeDescription
1mtxArrayTMtx[]
2transpArrayInt32[]

Returns: Matrix

Remarks:

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.

#NameTypeDescription
1LeftTVecsource TVec
2RightTMtxsource TMtx

Returns: Vector

Remarks:

Internally calls Dew.Math.Vector.TensorProd

Overload 10: Matrix Mul(TVec Left, TVec Right)

Tensor product of two vectors returning Matrix type result.

#NameTypeDescription
1LeftTVecsource TVec
2RightTVecsource TVec

Returns: Matrix

Remarks:

Internally calls Dew.Math.Vector.TensorProd