TMtx.Sub Method

Overload List

#SignatureDescription
1TMtxVec Sub(TCplx Value)Subtracts complex Value from all calling object complex elements.
└ indexed: TMtxVec Sub(TCplx Value, Int32 Index, Int32 Len)
2TMtxVec Sub(TMtxVec Vec)Array subtraction.
└ indexed: TMtxVec Sub(TMtxVec Vec, Int32 VecIndex, Int32 Index, Int32 Len)
3TMtxVec Sub(TMtxVec Src, TCplx Value)Subtract complex Value from Src.
└ indexed: TMtxVec Sub(TMtxVec Src, TCplx Value, Int32 SrcIndex, Int32 Index, Int32 Len)
4TMtxVec Sub(TMtxVec Vec1, TMtxVec Vec2)Subtract Vec2 elements from Vec1 elements.
└ indexed: TMtxVec Sub(TMtxVec Vec1, TMtxVec Vec2, Int32 Vec1Index, Int32 Vec2Index, Int32 Index, Int32 Len)
5TMtxVec Sub(TMtxVec X, TMtxVec Y, TCplx Z)self = X - Y - zScalar
└ indexed: TMtxVec Sub(TMtxVec X, Int32 XIndex, TMtxVec Y, Int32 YIndex, TCplx Z, Int32 Index, Int32 Len)
6TMtxVec Sub(TMtxVec X, TMtxVec Y, TMtxVec Z)self = X - Y - Z
└ indexed: TMtxVec Sub(TMtxVec X, Int32 XIndex, TMtxVec Y, Int32 YIndex, TMtxVec Z, Int32 zIndex, Int32 Index, Int32 Len)
7TMtxVec Sub(TMtxVec X, TMtxVec Y, Double Z)self = X - Y - zScalar
└ indexed: TMtxVec Sub(TMtxVec X, Int32 XIndex, TMtxVec Y, Int32 YIndex, Double Z, Int32 Index, Int32 Len)
8TMtxVec Sub(TMtxVec Src, Double Value)Subtract real Value from Src.
└ indexed: TMtxVec Sub(TMtxVec Src, Double Value, Int32 SrcIndex, Int32 Index, Int32 Len)
9TMtxVec Sub(Double Value)Subtracts Value from object elements.
└ indexed: TMtxVec Sub(Double Value, Int32 Index, Int32 Len)

Overload 1: TMtxVec Sub(TCplx Value)

Subtracts complex Value from all calling object complex elements.

#NameTypeDescription
1ValueTCplxscalar

Result: stored in self (calling object), returns self for chaining

Indexed: TMtxVec Sub(TCplx Value, Int32 Index, Int32 Len)

Subtracts complex Value from calling object complex elements [Index]..[Index+Len-1].

#NameTypeDescription
1ValueTCplxscalar
2IndexInt32start index
3LenInt32element count

Result: stored in self (calling object), returns self for chaining

Remarks:

An exception is raised if array borders are overrun.

Overload 2: TMtxVec Sub(TMtxVec Vec)

Array subtraction.

#NameTypeDescription
1VecTMtxVecsource TVec or TMtx

Result: stored in self (calling object), returns self for chaining

Remarks:

Subtract each of Vec elements from corresponding elements in the calling object. An exception is raised if Vec and calling object size and Dew.Math.TMtxVec.Complex properties do not match.

Examples
Matrix a = new Matrix();
a.SetIt(2, 2, false, new double[] { 1.0, 2.0, 3.0, 4.0 });
Matrix b = new Matrix();
b.SetIt(2, 2, false, new double[] { 5.0, 6.0, 7.0, 8.0 });
a.Sub(b);
Matrix expected = new Matrix();
expected.SetIt(2, 2, false, new double[] { -4.0, -4.0, -4.0, -4.0 });
if (!a.IsEqual(expected, 1e-10, TCompare.cmpAbsolute))
    throw new Exception("Matrix.Sub: mismatch");

Indexed: TMtxVec Sub(TMtxVec Vec, Int32 VecIndex, Int32 Index, Int32 Len)

Subtract Vec elements [VecIndex]..[VecIndex+Len-1] from corresponding calling object elements [Index]..[Index+Len-1].

#NameTypeDescription
1VecTMtxVecsource TVec or TMtx
2VecIndexInt32
3IndexInt32start index
4LenInt32element count

Result: stored in self (calling object), returns self for chaining

Remarks:

The results are stored in the calling object elements [Index]..[Index+Len-1]. Size and Dew.Math.TMtxVec.Complex properties of the calling object must be set explicitly. An exception is raised if Dew.Math.TMtxVecBase.ConditionCheck is True and array borders are overrun or underrun.

Overload 3: TMtxVec Sub(TMtxVec Src, TCplx Value)

Subtract complex Value from Src.

#NameTypeDescription
1SrcTMtxVecsource TVec or TMtx
2ValueTCplxscalar

Result: stored in self (calling object), returns self for chaining

Remarks:

Store the results in calling object. Size and Dew.Math.TMtxVec.Complex property of calling object are adjusted automatically.

Indexed: TMtxVec Sub(TMtxVec Src, TCplx Value, Int32 SrcIndex, Int32 Index, Int32 Len)

Subtract complex Value from Src elements [SrcIndex]..[SrcIndex+Len-1].

#NameTypeDescription
1SrcTMtxVecsource TVec or TMtx
2ValueTCplxscalar
3SrcIndexInt32source start index
4IndexInt32start index
5LenInt32element count

Result: stored in self (calling object), returns self for chaining

Remarks:

Stores the result in calling object elements [Index]..[Index+Len-1]. Size and Dew.Math.TMtxVec.Complex properties of the calling object must be set explicitly. An exception is raised if Dew.Math.TMtxVecBase.ConditionCheck is True and array borders are overrun or underrun.

Overload 4: TMtxVec Sub(TMtxVec Vec1, TMtxVec Vec2)

Subtract Vec2 elements from Vec1 elements.

#NameTypeDescription
1Vec1TMtxVecsource TVec or TMtx
2Vec2TMtxVecsource TVec or TMtx

Result: stored in self (calling object), returns self for chaining

Remarks:

Stores the results in calling object. Size and Dew.Math.TMtxVec.Complex property of calling object are adjusted automatically. An exception is raised if Vec1 and Vec2 size and Dew.Math.TMtxVec.Complex property do not match.

Examples
Matrix a = new Matrix();
Matrix x = new Matrix();
x.SetIt(2, 2, false, new double[] { 1.0, 2.0, 3.0, 4.0 });
Matrix y = new Matrix();
y.SetIt(2, 2, false, new double[] { 5.0, 6.0, 7.0, 8.0 });
a.Sub(x, y);
Matrix expected = new Matrix();
expected.SetIt(2, 2, false, new double[] { -4.0, -4.0, -4.0, -4.0 });
if (!a.IsEqual(expected, 1e-10, TCompare.cmpAbsolute))
    throw new Exception("Matrix.Sub: mismatch");

Indexed: TMtxVec Sub(TMtxVec Vec1, TMtxVec Vec2, Int32 Vec1Index, Int32 Vec2Index, Int32 Index, Int32 Len)

Subtract Vec22 elements [Vec2Index]..[Vec2Index+Len-1] from Vec1 object elements [Vec1Index]..[Vec1Index+Len-1].

#NameTypeDescription
1Vec1TMtxVecsource TVec or TMtx
2Vec2TMtxVecsource TVec or TMtx
3Vec1IndexInt32
4Vec2IndexInt32
5IndexInt32start index
6LenInt32element count

Result: stored in self (calling object), returns self for chaining

Remarks:

Stores the results in calling object elements [Index]..[Index+Len-1]. Size and Dew.Math.TMtxVec.Complex properties of the calling object must be set explicitly. An exception is raised if Dew.Math.TMtxVecBase.ConditionCheck is True and array borders are overrun or underrun.

Overload 5: TMtxVec Sub(TMtxVec X, TMtxVec Y, TCplx Z)

Compute X - Y - zScalar

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

Result: stored in self (calling object), returns self for chaining

Indexed: TMtxVec Sub(TMtxVec X, Int32 XIndex, TMtxVec Y, Int32 YIndex, TCplx Z, Int32 Index, Int32 Len)

Compute X - Y - zScalar on sub array

#NameTypeDescription
1XTMtxVecsource TVec or TMtx
2XIndexInt32X start index
3YTMtxVecsource TVec or TMtx
4YIndexInt32Y start index
5ZTCplxscalar
6IndexInt32start index
7LenInt32element count

Result: stored in self (calling object), returns self for chaining

Overload 6: TMtxVec Sub(TMtxVec X, TMtxVec Y, TMtxVec Z)

Compute X - Y - Z

#NameTypeDescription
1XTMtxVecsource TVec or TMtx
2YTMtxVecsource TVec or TMtx
3ZTMtxVecsource TVec or TMtx

Result: stored in self (calling object), returns self for chaining

Indexed: TMtxVec Sub(TMtxVec X, Int32 XIndex, TMtxVec Y, Int32 YIndex, TMtxVec Z, Int32 zIndex, Int32 Index, Int32 Len)

Compute X - Y - Z on sub array

#NameTypeDescription
1XTMtxVecsource TVec or TMtx
2XIndexInt32X start index
3YTMtxVecsource TVec or TMtx
4YIndexInt32Y start index
5ZTMtxVecsource TVec or TMtx
6zIndexInt32
7IndexInt32start index
8LenInt32element count

Result: stored in self (calling object), returns self for chaining

Overload 7: TMtxVec Sub(TMtxVec X, TMtxVec Y, Double Z)

Compute X - Y - zScalar

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

Result: stored in self (calling object), returns self for chaining

Indexed: TMtxVec Sub(TMtxVec X, Int32 XIndex, TMtxVec Y, Int32 YIndex, Double Z, Int32 Index, Int32 Len)

Compute X - Y - zScalar on sub array

#NameTypeDescription
1XTMtxVecsource TVec or TMtx
2XIndexInt32X start index
3YTMtxVecsource TVec or TMtx
4YIndexInt32Y start index
5ZDoublescalar
6IndexInt32start index
7LenInt32element count

Result: stored in self (calling object), returns self for chaining

Overload 8: TMtxVec Sub(TMtxVec Src, Double Value)

Subtract real Value from Src.

#NameTypeDescription
1SrcTMtxVecsource TVec or TMtx
2ValueDoublescalar

Result: stored in self (calling object), returns self for chaining

Remarks:

Store the results in calling object. Size and Dew.Math.TMtxVec.Complex property of calling object are adjusted automatically.

Indexed: TMtxVec Sub(TMtxVec Src, Double Value, Int32 SrcIndex, Int32 Index, Int32 Len)

Subtract real Value from Src elements [SrcIndex]..[SrcIndex+Len-1].

#NameTypeDescription
1SrcTMtxVecsource TVec or TMtx
2ValueDoublescalar
3SrcIndexInt32source start index
4IndexInt32start index
5LenInt32element count

Result: stored in self (calling object), returns self for chaining

Remarks:

Stores the result in calling object elements [Index]..[Index+Len-1]. Size and Dew.Math.TMtxVec.Complex properties of the calling object must be set explicitly. An exception is raised if Dew.Math.TMtxVecBase.ConditionCheck is True and array borders are overrun or underrun.

Overload 9: TMtxVec Sub(Double Value)

Subtracts Value from object elements.

#NameTypeDescription
1ValueDoublescalar

Result: stored in self (calling object), returns self for chaining

Remarks:

Subtracts Value from all calling object elements.

Indexed: TMtxVec Sub(Double Value, Int32 Index, Int32 Len)

Subtracts Value from calling object elements [Index]..[Index+Len-1].

#NameTypeDescription
1ValueDoublescalar
2IndexInt32start index
3LenInt32element count

Result: stored in self (calling object), returns self for chaining

Remarks:

An exception is raised if array borders are overrun.