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.
var spreadDimensions = require( '@stdlib/ndarray/spread-dimensions' );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:
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 ) );