TMtx.DotProd Method

Double DotProd(TMtxVec Vec)

Scalar product of two real arrays.

#NameTypeDescription
1VecTMtxVecsource TVec or TMtx

Returns: Double

Remarks:

Calculates the dot product (scalar value) of the calling object and Vec object and returns a real scalar value. The dot product is defined by the equation:

VV=k=0Length1V[k]V[k]\text{V}\cdot \text{V} = \sum _{k=0} ^{\text{Length}-1}\text{V}[k]\cdot \text{V}[k]

Both objects must be of equal size. If they are not, the method will return the dot product of the largest sub-array.

Indexed: Double DotProd(TMtxVec Vec, Int32 VecIndex, Int32 Index, Int32 Len)

Returns the scalar product between Vec elements [VecIndex]..[VecIndex+Len-1] and calling object elements [Index]..[Index+Len-1].

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

Returns: Double

Remarks:

An exception is raised if Vec and calling object Dew.Math.TMtxVec.Complex property is True. An exception is raised if Dew.Math.TMtxVecBase.ConditionCheck is True and array borders are overrun or underrun.

Examples
Matrix a;
Matrix b;
double prod;
a.SetIt(1,4,false,new double[] {1,2,3,4});
b.SetIt(1,4,false,new double[] {5,6,7,8});
prod = a.DotProd(b,0,0,4); // = 1*5 + 2*6 + * 3*7 + 4*8