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


Python scipy linalg.pinv2用法及代碼示例


用法:

scipy.linalg.pinv2(a, cond=None, rcond=None, return_rank=False, check_finite=True)

計算矩陣的(Moore-Penrose)pseudo-inverse。

使用singular-value分解並包括所有‘large’奇異值來計算矩陣的廣義逆。

參數:

a(M, N) array_like

矩陣為pseudo-inverted。

cond, rcondfloat 或 None

‘small’奇異值的截止值;小於此值的奇異值將被視為零。如果兩者都省略,則為默認值max(M,N)*largest_singular_value*eps用在其中eps是的數據類型的機器精度值a

在1.3.0版中進行了更改:以前默認的截止值是eps*f其中f原為1e3單精度和1e6雙精度。

return_rankbool, 可選參數

如果為True,則返回矩陣的有效等級。

check_finitebool, 可選參數

是否檢查輸入矩陣僅包含有限數。禁用可能會提高性能,但是如果輸入中確實包含無窮大或NaN,則會導致問題(崩潰,終止)。

返回值:

B(N,M)ndarray

矩陣a的pseudo-inverse。

rank整型

矩陣的有效等級。如果return_rank為True,則返回。

異常:

LinAlgError

如果SVD計算不收斂。

例子:

>>> from scipy import linalg
>>> a = np.random.randn(9, 6)
>>> B = linalg.pinv2(a)
>>> np.allclose(a, np.dot(a, np.dot(B, a)))
True
>>> np.allclose(B, np.dot(B, np.dot(a, B)))
True

源碼:

scipy.linalg.pinv2的API實現見:[源代碼]


注:本文由純淨天空篩選整理自 scipy.linalg.pinv2。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。