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


Python SciPy linalg.pinvh用法及代码示例


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

用法:

scipy.linalg.pinvh(a, atol=None, rtol=None, lower=True, return_rank=False, check_finite=True)#

计算 Hermitian 矩阵的 (Moore-Penrose) pseudo-inverse。

使用其特征值分解并包括具有‘large’ 绝对值的所有特征值来计算复数 Hermitian/实对称矩阵的广义逆。

参数

a (N, N) 数组

实对称或复赫尔墨斯矩阵为pseudo-inverted

atol 浮点数,可选

绝对阈值项,默认值为 0。

rtol 浮点数,可选

相对阈值项,默认值为 N * eps 其中 epsa 数据类型的机器精度值。

lower 布尔型,可选

相关数组数据是否取自 a 的下三角形或上三角形。 (默认值:较低)

return_rank 布尔型,可选

如果为 True,则返回矩阵的有效秩。

check_finite 布尔型,可选

是否检查输入矩阵是否仅包含有限数。禁用可能会提高性能,但如果输入确实包含无穷大或 NaN,则可能会导致问题(崩溃、非终止)。

返回

B (N, N) 数组

矩阵a的pseudo-inverse。

rank int

矩阵的有效秩。如果return_rank 为真,则返回。

抛出

LinAlgError

如果特征值算法不收敛。

例子

有关更详细的示例,请参阅 pinv

>>> import numpy as np
>>> from scipy.linalg import pinvh
>>> rng = np.random.default_rng()
>>> a = rng.standard_normal((9, 6))
>>> a = np.dot(a, a.T)
>>> B = pinvh(a)
>>> np.allclose(a, a @ B @ a)
True
>>> np.allclose(B, B @ a @ B)
True

相关用法


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