conj

Return the complex conjugate of a double-precision complex floating-point number.

Usage

var conj = require( '@stdlib/complex/float64/conj' );

conj( z )

Returns the complex conjugate of a double-precision complex floating-point number.

var Complex128 = require( '@stdlib/complex/float64/ctor' );

var z = new Complex128( 5.0, 3.0 );
var str = z.toString();
// returns '5 + 3i'

var v = conj( z );
str = v.toString();
// returns '5 - 3i'

Examples

var Complex128 = require( '@stdlib/complex/float64/ctor' );
var discreteUniform = require( '@stdlib/random/base/discrete-uniform' );
var filledarrayBy = require( '@stdlib/array/filled-by' );
var conj = require( '@stdlib/complex/float64/conj' );

function random() {
    return new Complex128( discreteUniform( -10, 10 ), discreteUniform( -10, 10 ) );
}

// Generate an array of random complex numbers:
var x = filledarrayBy( 100, 'complex128', random );
// returns <Complex128Array>

// Compute the complex conjugate of each complex number...
var z;
var i;
for ( i = 0; i < x.length; i++ ) {
    z = x.get( i );
    console.log( 'conj(%s) = %s', z.toString(), conj( z ).toString() );
}

C APIs

Usage

#include "stdlib/complex/float64/conj.h"

stdlib_complex128_conj( z )

Returns the complex conjugate of a double-precision complex floating-point number.

#include "stdlib/complex/float64/ctor.h"
#include "stdlib/complex/float64/real.h"
#include "stdlib/complex/float64/imag.h"

stdlib_complex128_t z = stdlib_complex128( 5.0, 2.0 );

// ...

stdlib_complex128_t v = stdlib_complex128_conj( z );

double re = stdlib_complex128_real( v );
// returns 5.0

double im = stdlib_complex128_imag( v );
// returns -2.0

The function accepts the following arguments:

  • z: [in] stdlib_complex128_t double-precision complex floating-point number.
stdlib_complex128_t stdlib_complex128_conj( const stdlib_complex128_t z );

Examples

#include "stdlib/complex/float64/conj.h"
#include "stdlib/complex/float64/real.h"
#include "stdlib/complex/float64/imag.h"
#include "stdlib/complex/float64/ctor.h"
#include <stdio.h>

int main( void ) {
    const stdlib_complex128_t x[] = {
        stdlib_complex128( 5.0, 2.0 ),
        stdlib_complex128( -2.0, 1.0 ),
        stdlib_complex128( 0.0, -0.0 ),
        stdlib_complex128( 0.0/0.0, 0.0/0.0 )
    };

    stdlib_complex128_t z;
    stdlib_complex128_t v;
    int i;
    for ( i = 0; i < 4; i++ ) {
        z = x[ i ];
        v = stdlib_complex128_conj( z );
        printf( "conj(%lf + %lfi) = %lf + %lfi\n", stdlib_complex128_real( z ), stdlib_complex128_imag( z ), stdlib_complex128_real( v ), stdlib_complex128_imag( v ) );
    }
}
Did you find this page helpful?