In mathematics, given two sets X and Y, the Cartesian product (or direct product) of the two sets, written as X × Y is the set of all ordered pairs with the first element of each pair selected from X and the second element selected from Y.

X × Y = { (x,y) | x in X and y in Y }

For example, if set X is the 13-element set {A, K, Q, J, 10, 9, 8, 7, 6, 5, 4, 3, 2} and set Y is the 4-element set {spades, hearts, diamonds, clubs}, then the Cartesian product of those two sets is the 52-element set { (A, spades), (K, spades), ... ,(2, spades), (A, hearts), ... , (3, clubs), (2, clubs) }. Another example is the 2-dimensional plane R × R where R is the set of real numbers - all points (x,y) where x and y are real numbers (see the Cartesian coordinate system). Subsets of the Cartesian product are called binary relations.

The binary Cartesian product can be generalized to the n-ary Cartesian product over n sets X1,... ,Xn:

X1 × ... × Xn = { (x1,... ,xn) | x1 in X1 and ... and xn in Xn }

Indeed, it can be identified to (X1 × ... × Xn-1) × Xn. It is a set of n-tuples.

An example of this is the Euclidean 3-space R × R × R, with R again the set of real numbers.

As an aid to its calculation, a table can be drawn up, with one set as the rows and the other as the columns, and forming the ordered pairs, the cells of the table by choosing the element of the set from the row and the column.

Children can be introduced to the Cartesian product by the familiar calendar:

  • weeks as rows;
  • weekdays as columns;
  • a given day as a cell.

The Cartesian product is named after Rene Descartes whose formulation of analytic geometry gave rise to this concept.

The Cartesian product can be used to graph mathematical properties, as in Graphing equivalence and Graphing the total product.

Infinite Products

The above definition is usually all that's needed for the most common mathematical applications. However, it is even possible to define the Cartesian product over an arbitrarily infinite collection of sets. If I is any index set, and {X i | i in I} is a collection of sets indexed by I, then we define

i.e. the set of all functions defined on the index set such that the value of the function at a particular index i is an element of Xi. This neatly coincides with the finite case, when I is a finite set, say {1, 2, ..., n}; any such function f defined on I is simply identified with the n-tuple (f(1), f(2), ..., f(n)). In the infinite case this can be thought of as an infinity-tuple. Working the other way around, an n-tuple can be viewed as a function on {1, 2, ..., n} that simply takes its value at i to be the ith position of the tuple.

One particular and familiar infinite case is when the index set is , the natural numbers: this is just the set of all infinite sequences with the ith term in its corresponding set Xi. Once again, trusty old provides an example of this:

is the collection of infinite sequences of real numbers, and it is easily visualized as a vector or tuple with an infinite number of components. Another special case (the above example also satisfies this) is when all the factors Xi involved in the product are the same, being like "cartesian exponentiation." Then the big union in the definition is just the set itself, and the other condition is trivially satisfied, so this is just the set of all functions from I to X.

Otherwise, the infinite cartesian product is less intuitive; though valuable in its applications to higher mathematics. In fact, asserting even whether or not the cartesian product is the empty set is one of the formulations of the axiom of choice.

See also: Mathematics, Set theory, Group direct product