public static Complex_F64 innerProd(ZMatrixRMaj x, ZMatrixRMaj y , Complex_F64 output )
    {
        if( output == null )
            output = new Complex_F64();
        else {
            output.real = output.imaginary = 0;
        }

        int m = x.getDataLength();

        for( int i = 0; i < m; i += 2 ) {
            double realX = x.data[i];
            double imagX = x.data[i+1];

            double realY = y.data[i];
            double imagY = y.data[i+1];

            output.real += realX*realY - imagX*imagY;
            output.imaginary += realX*imagY + imagX*realY;
        }

        return output;
    }
public static Complex_F64 innerProd ( ZMatrixRMaj x , ZMatrixRMaj y , Complex_F64 output ) { if ( output == null ) output = new Complex_F64 ( ) ; else { output . real = output . imaginary = 0 ; } int m = x . getDataLength ( ) ; for ( int i = 0 ; i < m ; i += 2 ) { double realX = x . data [ i ] ; double imagX = x . data [ i + 1 ] ; double realY = y . data [ i ] ; double imagY = y . data [ i + 1 ] ; output . real += realX * realY - imagX * imagY ; output . imaginary += realX * imagY + imagX * realY ; } return output ; }
<p>
Computes the inner product of the two vectors.  In geometry this is known as the dot product.<br>
<br>
&sum;<sub>k=1:n</sub> x<sub>k</sub> * y<sub>k</sub><br>
where x and y are vectors with n elements.
</p>

<p>
These functions are often used inside of highly optimized code and therefor sanity checks are
kept to a minimum.  It is not recommended that any of these functions be used directly.
</p>

@param x A vector with n elements. Not modified.
@param y A vector with n elements. Not modified.
@return The inner product of the two vectors.