# Building Cartesian Products using NumPy

The Cartesian product is a binary operation that takes two sets and returns a set containing all ordered pairs of elements from the two sets. By building the Cartesian product using NumPy, we can efficiently generate large sets of data for analysis or training. In this context, the cartesian product of two arrays can be computed using the following functions:

#### 1. Using “np.meshgrid()” function

This code creates two one-dimensional arrays “a” and “b”, and uses `np.meshgrid()` to compute their cartesian product. The resulting two-dimensional arrays “A” and “B” are flattened and stacked horizontally using `np.stack()` to produce a two-dimensional array containing all pairs of elements in “a” and “b”. Finally, the resulting cartesian product is printed using the `print()` function.

#### 2. Using “np.transpose()” function:

This code creates two one-dimensional arrays “a” and “b”, and builds the cartesian product of “a” and “b” using `np.transpose()`, `np.tile()`, and `np.repeat()`. The resulting cartesian product is stored in the variable “c” and printed to the console using the `print()` function.