scipy.stats.unitary_group#
- scipy.stats.unitary_group = <scipy.stats._multivariate.unitary_group_gen object>[source]#
取值是矩阵的 U(N) 随机变量。
返回一个随机的酉矩阵。
dim 关键字指定维度 N。
- 参数:
- dim标量
矩阵的维度,必须大于 1。
- seed可选的{None, int, np.random.RandomState, np.random.Generator}
用于对随机变量进行绘图。如果 seed 为 None,则会使用单例 RandomState。如果 seed 是整型,则使用新的
RandomState
实例,并使用 seed 来进行种子设定。如果 seed 目前是RandomState
或Generator
实例,则会使用该对象。默认值为 None。
另请参见
注释
该类与
ortho_group
类似。参考
[1]F. Mezzadri, “如何从经典紧凑型群中生成随机矩阵”,arXiv:math-ph/0609050v2。
示例
>>> import numpy as np >>> from scipy.stats import unitary_group >>> x = unitary_group.rvs(3)
>>> np.dot(x, x.conj().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]])
这就生成了一个 U(3) 中的一个随机矩阵。点积确认它接近机器精度下的一致性。
或者,这个对象可以被调用(作为函数)来修复dim 参数,返回一个“冻结”的 unitary_group 随机变量
>>> rv = unitary_group(5)
方法
rvs(dim=None, size=1, random_state=None)
从 U(N) 中绘制随机样本。