Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Complex128Vector

Create a double-precision complex floating-point vector (i.e., a one-dimensional ndarray).

Usage

var Complex128Vector = require( '@stdlib/ndarray/vector/complex128' );

Complex128Vector( [options] )

Returns a one-dimensional double-precision complex floating-point ndarray.

var numel = require( '@stdlib/ndarray/numel' );

var arr = new Complex128Vector();
// returns <ndarray>

var len = numel( arr );
// returns 0

The function accepts the following options:

  • order: specifies whether an ndarray is 'row-major' (C-style) or 'column-major' (Fortran-style). Default: 'row-major'.
  • mode: specifies how to handle indices which exceed array dimensions (see ndarray). Default: 'throw'.
  • readonly: boolean indicating whether an array should be read-only. Default: false.

Complex128Vector( length[, options] )

Returns a one-dimensional double-precision complex floating-point ndarray having a specified length.

var numel = require( '@stdlib/ndarray/numel' );

var arr = new Complex128Vector( 5 );
// returns <ndarray>

var len1 = numel( arr );
// returns 5

Complex128Vector( obj[, options] )

Creates a one-dimensional double-precision complex floating-point ndarray from an array-like object or iterable.

var numel = require( '@stdlib/ndarray/numel' );

var arr = new Complex128Vector( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 ] );
// returns <ndarray>

var len1 = numel( arr );
// returns 3

Complex128Vector( buffer[, byteOffset[, length]][, options] )

Returns a one-dimensional double-precision complex floating-point ndarray view of an ArrayBuffer.

var ArrayBuffer = require( '@stdlib/array/buffer' );
var numel = require( '@stdlib/ndarray/numel' );

var buf = new ArrayBuffer( 64 );

var arr1 = new Complex128Vector( buf );
// returns <ndarray>

var len1 = numel( arr1 );
// returns 4

var arr2 = new Complex128Vector( buf, 16 );
// returns <ndarray>

var len2 = numel( arr2 );
// returns 3

var arr3 = new Complex128Vector( buf, 16, 1 );
// returns <ndarray>

var len3 = numel( arr3 );
// returns 1

Examples

var discreteUniform = require( '@stdlib/random/array/discrete-uniform' );
var sum = require( '@stdlib/blas/ext/sum' );
var map = require( '@stdlib/ndarray/map' );
var real = require( '@stdlib/complex/float64/real' );
var imag = require( '@stdlib/complex/float64/imag' );
var Complex128 = require( '@stdlib/complex/float64/ctor' );
var Complex128Vector = require( '@stdlib/ndarray/vector/complex128' );

// Create a vector containing random values:
var x = new Complex128Vector( discreteUniform( 20, 0, 100 ) );

// Compute the sum:
var v = sum( x );
console.log( v.get() );

// Define a function which applies a threshold to real and imaginary components:
function threshold( v ) {
    if ( real( v ) > 10 && imag( v ) > 10 ) {
        return v;
    }
    return new Complex128( 0.0, 0.0 );
}

// Apply threshold:
var y = map( x, threshold );

// Recompute the sum:
v = sum( y );
console.log( v.get() );