Matrix.DotProd Method

function DotProd(const Vec: TMtxVec; VecIndex: Integer; Index: Integer; Len: Integer): Double;

Scalar product of two real arrays.

#NameTypeDescription
1VecTMtxVec
2VecIndexInteger
3IndexIntegerstart index
4LenIntegerelement count

Returns: Double

Remarks:

Returns the scalar product between Vec elements [VecIndex]..[VecIndex+Len-1] and calling object elements [Index]..[Index+Len-1]. An exception is raised if Vec and calling object Matrix.Complex property is True. An exception is raised if Matrix.ConditionCheck is True and array borders are overrun or underrun. 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.

Examples
var a,b: Matrix;
prod: double;
begin
    a.SetIt(1,4,False,[1,2,3,4]);
    b.SetIt(1,4,False,[5,6,7,8]);
    prod := a.DotProd(b,0,0,4); // = 1*5 + 2*6 + * 3*7 + 4*8
end;
See Also: Matrix.DotProdc