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


Python numpy linalg.cond用法及代碼示例


本文簡要介紹 python 語言中 numpy.linalg.cond 的用法。

用法:

linalg.cond(x, p=None)

計算矩陣的條件數。

此函數能夠使用七種不同規範之一返回條件編號,具體取決於 p 的值(請參閱下麵的參數)。

參數

x (…, M, N) 數組

尋找其條件數的矩陣。

p {無,1,-1,2,-2,inf,-inf,‘fro’},可選

條件數計算中使用的範數階:

p

矩陣的範數

None

2 範數,直接使用 SVD 計算

‘fro’

弗羅貝尼烏斯範數

inf

最大值(總和(絕對值(x),軸 = 1))

-inf

最小值(總和(絕對值(x),軸 = 1))

1

最大值(總和(絕對值(x),軸 = 0))

-1

最小值(總和(絕對值(x),軸 = 0))

2

2-範數(最大單值)

-2

最小奇異值

inf 表示 numpy.inf 對象,Frobenius 範數是root-of-sum-of-squares 範數。

返回

c {浮點數,inf}

矩陣的條件數。可能是無限的。

注意

條件數x被定義為範數x乘以倒數的範數x [1];範數可以是通常的 L2 範數 (root-of-sum-of-squares) 或許多其他矩陣範數之一。

參考

1

G. Strang,線性代數及其應用,佛羅裏達州奧蘭多,Academic Press,Inc.,1980 年,頁碼。 285.

例子

>>> from numpy import linalg as LA
>>> a = np.array([[1, 0, -1], [0, 1, 0], [1, 0, 1]])
>>> a
array([[ 1,  0, -1],
       [ 0,  1,  0],
       [ 1,  0,  1]])
>>> LA.cond(a)
1.4142135623730951
>>> LA.cond(a, 'fro')
3.1622776601683795
>>> LA.cond(a, np.inf)
2.0
>>> LA.cond(a, -np.inf)
1.0
>>> LA.cond(a, 1)
2.0
>>> LA.cond(a, -1)
1.0
>>> LA.cond(a, 2)
1.4142135623730951
>>> LA.cond(a, -2)
0.70710678118654746 # may vary
>>> min(LA.svd(a, compute_uv=False))*min(LA.svd(LA.inv(a), compute_uv=False))
0.70710678118654746 # may vary

相關用法


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