TOpenCLVector.PowerSpectrum Method

TOpenCLMtxVec PowerSpectrum(TOpenCLMtxVec Vec)

The power spectrum from object complex values.

#NameTypeDescription
1VecTOpenCLMtxVecsource TOpenCLVector or TOpenCLMatrix

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

Remarks:

Calculates the power spectrum from the Vec object complex values and stores the results (power spectrum) in the real calling object. Size and Dew.Math.TOpenCLBase.Complex properties of the calling object are set implicitly to match Vec object. The spectrum elements are squares of the magnitudes of the complex input elements:

Spect[k]=((Vec[k]))2+((Vec[k]))2\text{Spect}[k] = \left(\Re (\text{Vec}[k]) \right)^2 + \left(\Im (\text{Vec}[k]) \right)^2
Examples
clVector a;
clVector b;
a.CopyFromArray(TSingleArray.Create(1,2,3,-4)); // a = [1 + 2i, 3 - 4i]
b.PowerSpectrum(a);   // b = [1*1 + 2*2, 3*3+(-4)*(-4)]

Indexed: TOpenCLMtxVec PowerSpectrum(TOpenCLMtxVec Vec, Int32 VecIndex, Int32 Index, Int32 Len)

Calculates the power spectrum from the Vec complex elements [VecIndex]..[VecIndex+Len-1].

#NameTypeDescription
1VecTOpenCLMtxVecsource TOpenCLVector or TOpenCLMatrix
2VecIndexInt32
3IndexInt32start index
4LenInt32element count

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

Remarks:

Store the results in calling object real elements [Index]..[Index+Len-1]. An exception is raised if calling object Dew.Math.TOpenCLBase.Complex property is true or if array borders are overrun/underrun.