Vector.DotProd Method

function DotProd(const Vec: TMtxVec): Double;

Scalar product of two real arrays.

#NameTypeDescription
1VecTMtxVec

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.

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

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

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

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

Returns: Double

Remarks:

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