Vector.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 store the results in calling object.
└ 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 and store the results in calling object.
└ 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.Vector.Complex properties do not match.

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

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.Vector.Complex properties of the calling object must be set explicitly. An exception is raised if Dew.Math.Vector.ConditionCheck is True and array borders are overrun or underrun.

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

Subtract complex Value from Src store the results in calling object.

#NameTypeDescription
1SrcTMtxVecsource TVec or TMtx
2ValueTCplxscalar

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

Remarks:

Size and Dew.Math.Vector.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] and store the result in calling object elements [Index]..[Index+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:

Size and Dew.Math.Vector.Complex properties of the calling object must be set explicitly. An exception is raised if Dew.Math.Vector.ConditionCheck is True and array borders are overrun or underrun.

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

Subtract Vec2 elements from Vec1 elements and store the results in calling object.

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

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

Remarks:

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

Examples
Vector a = new Vector();
Vector x = new Vector();
x.SetIt(new double[] { 1.0, 2.0, 3.0, 4.0 });
Vector y = new Vector();
y.SetIt(new double[] { 5.0, 6.0, 7.0, 8.0 });
a.Sub(x, y);
Vector expected = new Vector();
expected.SetIt(new double[] { -4.0, -4.0, -4.0, -4.0 });
if (!a.IsEqual(expected, 1e-10, TCompare.cmpAbsolute))
    throw new Exception("Vector.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:

Store the results in calling object elements [Index]..[Index+Len-1]. Size and Dew.Math.Vector.Complex properties of the calling object must be set explicitly. An exception is raised if Dew.Math.Vector.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.Vector.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] and store the result in calling object elements [Index]..[Index+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:

Size and Dew.Math.Vector.Complex properties of the calling object must be set explicitly. An exception is raised if Dew.Math.Vector.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.

See Also: Vector.Add

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.