MtxExpr.DivideElemC Method

Overload List

#SignatureDescription
1Matrix DivideElemC(TMtx X, TMtxVec Y, TCplx Z)Result = X / (Y*zScale), where X is a Matrix
2Matrix DivideElemC(TMtx X, TMtxVec Y, Double Z)Result = X / (Y*zScale), when X is a Matrix
3Vector DivideElemC(TVec X, TMtxVec Y, TCplx Z)Result = X / (Y*zScale)
4Vector DivideElemC(TVec X, TMtxVec Y, Double Z)Result = X / (Y*zScale)

Overload 1: Matrix DivideElemC(TMtx X, TMtxVec Y, TCplx Z)

Compute X / (Y*zScale), where X is a Matrix

#NameTypeDescription
1XTMtxsource TMtx
2YTMtxVecsource TVec or TMtx
3ZTCplxscalar

Returns: Matrix

Overload 2: Matrix DivideElemC(TMtx X, TMtxVec Y, Double Z)

Compute X / (Y*zScale), when X is a Matrix.

#NameTypeDescription
1XTMtxsource TMtx
2YTMtxVecsource TVec or TMtx
3ZDoublescalar

Returns: Matrix

Remarks:

The operation does only per-element math.

Overload 3: Vector DivideElemC(TVec X, TMtxVec Y, TCplx Z)

Compute X / (Y*zScale)

#NameTypeDescription
1XTVecsource TVec
2YTMtxVecsource TVec or TMtx
3ZTCplxscalar

Returns: Vector

Overload 4: Vector DivideElemC(TVec X, TMtxVec Y, Double Z)

Compute X / (Y*zScale)

#NameTypeDescription
1XTVecsource TVec
2YTMtxVecsource TVec or TMtx
3ZDoublescalar

Returns: Vector

Remarks:

Divides X by (Y multiplied by the scalar zScale) without temporary objects.

Examples
using Dew.Math;
using Dew.Math.Units;

namespace Dew.Examples
{
    void Example()
    {
        double zScale = 2.0;
        Vector X = (Vector) new double[] { 10, 20, 30, 40 };
        Vector Y = (Vector) new double[] { 2, 4, 6, 8 };
        Vector A1 = X / (Y * zScale);
        Vector A2 = DivideElemC(X, Y, zScale);
        Vector A3 = new Vector();
        A3.DivideC(X, Y, zScale);
        if (!A2.IsEqual(A1)) Math387.ERaise("Problem");
        if (!A3.IsEqual(A1)) Math387.ERaise("Problem");
    }
}