python - 如何在python numpy中创建随机正交矩阵

标签 python numpy linear-algebra orthogonal

有没有可以调用的方法在 python 中创建随机正交矩阵?可能使用numpy?或者有没有办法使用多个 numpy 方法创建一个正交矩阵?谢谢。

最佳答案

scipy 0.18 版有 scipy.stats.ortho_groupscipy.stats.special_ortho_group .添加它的拉取请求是 https://github.com/scipy/scipy/pull/5622

例如,

In [24]: from scipy.stats import ortho_group  # Requires version 0.18 of scipy

In [25]: m = ortho_group.rvs(dim=3)

In [26]: m
Out[26]: 
array([[-0.23939017,  0.58743526, -0.77305379],
       [ 0.81921268, -0.30515101, -0.48556508],
       [-0.52113619, -0.74953498, -0.40818426]])

In [27]: np.set_printoptions(suppress=True)

In [28]: m.dot(m.T)
Out[28]: 
array([[ 1.,  0., -0.],
       [ 0.,  1.,  0.],
       [-0.,  0.,  1.]])

关于python - 如何在python numpy中创建随机正交矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38426349/

相关文章:

python - Flask SQLAlchemy 查询连接

python 和 ruby​​ - 有什么用呢?

python - Python 中出现意外的 "except"

math - numpy离散连续傅里叶变换

c++ - Eigen 多线程操作

python - Opencv 无法识别 USB 摄像头

python - 使用 pandas 查找从特定范围内的单元格中删除 '!' 的代码

graph - 为Networkx和Graphviz中的特定节点着色

Python:将向量列表乘以矩阵列表作为单个矩阵运算

python - 解决 Numpy 中的广义特征值问题