up previous next
CartesianProduct, CartesianProductList

Cartesian product of lists
Syntax

L_1 >< ... >< L_n

where each L_i is a list.


Description
This command returns the list whose elements form the Cartesian product of L_1,...,L_n.

For the N-fold product of a list with itself, one may use Tuples .

Example
  L1 := [1,2,3];
  L2 := ["a","b"];
  L1 >< L2 >< [5];  -- same as
  CartesianProduct(L1, L2, [5]);  -- same as
  CartesianProductList([L1, L2, [5]]);  -- this takes a lists of lists
[[1, "a", 5], [1, "b", 5], [2, "a", 5], [2, "b", 5], [3, "a", 5], [3, "b", 5]]
-------------------------------
  ChessBoard := (1..8)><(1..8); -- Need brackets around 1..8 otherwise
                                -- we get a parse error.
Note that only <> is used for not equal in CoCoA.

See Also