Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

spreadDimensions

Return a read-only view of an input ndarray where the dimensions of the input ndarray are expanded to a specified dimensionality by spreading dimensions to specified dimension indices and inserting dimensions of size one for the remaining dimensions.

Usage

var spreadDimensions = require( '@stdlib/ndarray/spread-dimensions' );

spreadDimensions( ndims, x, dims )

Returns a read-only view of an input ndarray where the dimensions of the input ndarray are expanded to a specified dimensionality by spreading dimensions to specified dimension indices and inserting dimensions of size one for the remaining dimensions.

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

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

// Prepend a singleton dimension:
var y = spreadDimensions( 3, x, [ 1, 2 ] );
// returns <ndarray>[ [ [ 1, 2 ], [ 3, 4 ] ] ]

// Append a singleton dimension:
y = spreadDimensions( 3, x, [ 0, 1 ] );
// returns <ndarray>[ [ [ 1 ], [ 2 ] ], [ [ 3 ], [ 4 ] ] ]

// Insert a singleton dimension:
y = spreadDimensions( 3, x, [ 0, 2 ] );
// returns <ndarray>[ [ [ 1, 2 ] ], [ [ 3, 4 ] ] ]

The function accepts the following arguments:

  • ndims: number of dimensions in the output ndarray. Must be greater than or equal to the number of dimensions in the input ndarray.
  • x: input ndarray.
  • dims: dimension indices specifying where to place the dimensions of the input ndarray. Must resolve to normalized indices arranged in ascending order.

Examples

var uniform = require( '@stdlib/random/uniform' );
var ndarray2array = require( '@stdlib/ndarray/to-array' );
var spreadDimensions = require( '@stdlib/ndarray/spread-dimensions' );

var x = uniform( [ 3, 3, 3 ], -10.0, 10.0 );
console.log( ndarray2array( x ) );

var y = spreadDimensions( 5, x, [ 0, 1, 2 ] );
console.log( ndarray2array( y ) );