scipy.linalg.

pinvh#

scipy.linalg.pinvh(a, atol=None, rtol=None, lower=True, return_rank=False, check_finite=True)[源代码][源代码]#

计算厄米矩阵的(摩尔-彭罗斯)伪逆。

使用其特征值分解计算复厄米特/实对称矩阵的广义逆,并包括所有具有’大’绝对值的特征值。

参数:
a(N, N) array_like

要进行伪逆运算的实对称或复埃尔米特矩阵

atolfloat, 可选

绝对阈值术语,默认值为 0。

Added in version 1.7.0.

rtolfloat, 可选

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

Added in version 1.7.0.

下限bool, 可选

相关数组数据是从 a 的下三角还是上三角获取。(默认:下三角)

return_rankbool, 可选

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

check_finitebool, 可选

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

返回:
B(N, N) ndarray

矩阵 a 的伪逆。

等级整数

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

Raises:
LinAlgError

如果特征值算法不收敛。

参见

pinv

矩阵的 Moore-Penrose 伪逆。

示例

更多详细示例请参见 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