nCartesianProduct

Return the n-fold Cartesian product.

Usage

var nCartesianProduct = require( '@stdlib/array/base/n-cartesian-product' );

nCartesianProduct( x1, x2[, ...xN] )

Returns the n-fold Cartesian product.

var x1 = [ 1, 2, 3 ];
var x2 = [ 4, 5 ];

var out = nCartesianProduct( x1, x2 );
// returns [ [ 1, 4 ], [ 1, 5 ], [ 2, 4 ], [ 2, 5 ], [ 3, 4 ], [ 3, 5 ] ]

If provided one or more empty arrays, the function returns an empty array.

var x1 = [ 1, 2, 3, 4 ];
var x2 = [];

var out = nCartesianProduct( x1, x2 );
// returns []

Examples

var linspace = require( '@stdlib/array/base/linspace' );
var nCartesianProduct = require( '@stdlib/array/base/n-cartesian-product' );

var x1 = linspace( 0, 5, 6 );
var x2 = linspace( 10, 15, 6 );
var x3 = linspace( 20, 25, 6 );

var out = nCartesianProduct( x1, x2, x3 );
// returns [ [ 0, 10, 20 ], [ 0, 10, 21 ], ... ]
Did you find this page helpful?