当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python SciPy stats.ortho_group用法及代码示例


本文简要介绍 python 语言中 scipy.stats.ortho_group 的用法。

用法:

scipy.stats.ortho_group = <scipy.stats._multivariate.ortho_group_gen object>#

正交矩阵 (O(N)) 随机变量。

返回一个随机正交矩阵,取自 O(N) Haar 分布(O(N) 上唯一的均匀分布)。

dim 关键字指定维度 N。

参数

dim 标量

矩阵的维数

seed {无,int,np.random.RandomState,np.random.Generator},可选

用于绘制随机变量。如果种子None, 这RandomState使用单例。如果种子是一个 int,一个新的RandomState使用实例,用种子播种。如果种子已经是一个RandomState或者Generator实例,然后使用该对象。默认为None.

注意

此类与 special_ortho_group 密切相关。

根据 Mezzadri 的论文,需要注意避免数字错误。

参考

[1]

F. Mezzadri,“如何从经典紧群生成随机矩阵”,arXiv:math-ph/0609050v2

例子

>>> import numpy as np
>>> from scipy.stats import ortho_group
>>> x = ortho_group.rvs(3)
>>> np.dot(x, x.T)
array([[  1.00000000e+00,   1.13231364e-17,  -2.86852790e-16],
       [  1.13231364e-17,   1.00000000e+00,  -1.46845020e-16],
       [ -2.86852790e-16,  -1.46845020e-16,   1.00000000e+00]])
>>> import scipy.linalg
>>> np.fabs(scipy.linalg.det(x))
1.0

这会从 O(3) 生成一个随机矩阵。它是正交的,行列式为 +1 或 -1。

或者,可以调用该对象(作为函数)来修复 dim 参数,返回 “frozen” ortho_group 随机变量:

>>> rv = ortho_group(5)
>>> # Frozen object with the same methods but holding the
>>> # dimension parameter fixed.

相关用法


注:本文由纯净天空筛选整理自scipy.org大神的英文原创作品 scipy.stats.ortho_group。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。