當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。