Overload List
| # | Signature | Description |
|---|---|---|
| 1 | function DotProdc(const Vec: TMtxVec; ConjVec: Boolean; VecIndex: Integer; Index: Integer; Len: Integer): TCplx; | Returns the scalar product between Vec (complex) elements [VecIndex]..[VecIndex+Len-1] and calling object (complex) elements [Index]..[Index+Len-1]. |
| 2 | function DotProdc(const Vec: TMtxVec; VecIndex: Integer; Index: Integer; Len: Integer): TCplx; | Scalar product of two complex arrays. |
Overload 1: function DotProdc(const Vec: TMtxVec; ConjVec: Boolean; VecIndex: Integer; Index: Integer; Len: Integer): TCplx;
Returns the scalar product between Vec (complex) elements [VecIndex]..[VecIndex+Len-1] and calling object (complex) elements [Index]..[Index+Len-1].
| # | Name | Type | Description |
|---|---|---|---|
| 1 | Vec | TMtxVec | |
| 2 | ConjVec | Boolean | |
| 3 | VecIndex | Integer | |
| 4 | Index | Integer | start index |
| 5 | Len | Integer | element count |
Returns: TCplx (complex)
If ConjVec is True, scalar product between calling object and conjugated Vec object elements is calculated. An exception is raised if Vec and calling object Matrix.Complex property is False. An exception is raised if Matrix.ConditionCheck is True and array borders are overrun or underrun.
Overload 2: function DotProdc(const Vec: TMtxVec; VecIndex: Integer; Index: Integer; Len: Integer): TCplx;
Scalar product of two complex arrays.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | Vec | TMtxVec | |
| 2 | VecIndex | Integer | |
| 3 | Index | Integer | start index |
| 4 | Len | Integer | element count |
Returns: TCplx (complex)
Returns the scalar product between Vec (complex) elements [VecIndex]..[VecIndex+Len-1] and calling object (complex) elements [Index]..[Index+Len-1]. An exception is raised if Vec and calling object Matrix.Complex property is False. An exception is raised if Matrix.ConditionCheck is True and array borders are overrun or underrun. An exception is raised if calling or Vec object Matrix.Complex property is false. The dot product is defined by the equation:
Both objects must be of equal size. If they are not, the method will return the dot product of the largest sub-array.
var a,b: Matrix;
prod: TCplx;
begin
a.SetIt(1,2,True,[1,2,3,4]);
b.SetIt(1,2,True,[5,6,7,8]);
prod := a.DotProdc(b,0,0,2); //= (1+2i)*(5+6i)+(3+4i)*(7+8i)
end;