removeSingletonDimensions

Remove singleton dimensions.

Usage

var removeSingletonDimensions = require( '@stdlib/ndarray/base/remove-singleton-dimensions' );

removeSingletonDimensions( x )

Returns an ndarray without singleton dimensions (i.e., dimensions whose size is equal to 1).

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

// Create a 1x2x2 ndarray:
var x = array( [ [ [ 1, 2 ], [ 3, 4 ] ] ] );
// returns <ndarray>

// Remove singleton dimensions:
var y = removeSingletonDimensions( x );
// returns <ndarray>

var sh = y.shape;
// returns [ 2, 2 ]

Notes

  • If a provided ndarray does not have any singleton dimensions, the function returns the provided ndarray unchanged.
  • If a provided ndarray does have singleton dimensions, the function returns a new ndarray view.

Examples

var array = require( '@stdlib/ndarray/array' );
var numel = require( '@stdlib/ndarray/base/numel' );
var ind2sub = require( '@stdlib/ndarray/ind2sub' );
var removeSingletonDimensions = require( '@stdlib/ndarray/base/remove-singleton-dimensions' );

// Create a 5-dimensional array:
var x = array( [ [ 1, 2 ], [ 3, 4 ] ], {
    'ndmin': 5
});
// returns <ndarray>

// Remove singleton dimensions:
var y = removeSingletonDimensions( x );
// returns <ndarray>

// Retrieve the shape:
var sh = y.shape;
// returns [ 2, 2 ]

// Retrieve the number of elements:
var N = numel( sh );

// Loop through the array elements...
var i;
for ( i = 0; i < N; i++ ) {
    console.log( 'Y[%s] = %d', ind2sub( sh, i ).join( ', ' ), y.iget( i ) );
}
Did you find this page helpful?