numpy 计算笛卡尔积
时间: 2023-10-08 15:11:54 浏览: 163
Python实现求笛卡尔乘积的方法
可以使用numpy中的meshgrid函数来计算笛卡尔积。假设有两个数组a和b,分别代表两个集合,那么可以使用如下代码计算它们的笛卡尔积:
```python
import numpy as np
a = np.array([1, 2])
b = np.array([3, 4, 5])
a_mesh, b_mesh = np.meshgrid(a, b)
cartesian_product = np.column_stack((a_mesh.ravel(), b_mesh.ravel()))
print(cartesian_product)
```
输出结果为:
```
[[1 3]
[2 3]
[1 4]
[2 4]
[1 5]
[2 5]]
```
其中,a_mesh和b_mesh分别是a和b的网格矩阵,cartesian_product则是它们的笛卡尔积。可以看到,结果是一个二维数组,其中每一行代表一个笛卡尔积元素。如果有更多的集合需要计算笛卡尔积,可以继续使用meshgrid函数并使用np.c_进行连接。
阅读全文