本文簡要介紹 python 語言中 scipy.linalg.norm
的用法。
用法:
scipy.linalg.norm(a, ord=None, axis=None, keepdims=False, check_finite=True)#
矩陣或向量範數。
根據
ord
範圍。對於秩不同於 1 或 2 的張量,僅ord=無支持。- a: array_like
輸入數組。如果軸是無,a必須是一維或二維,除非ord是無。如果兩者軸和ord是無,的 2 範數
a.ravel
將被退回。- ord: {int,inf,-inf,‘fro’, ‘nuc’,無},可選
規範的順序(見下表
Notes
)。 inf 表示 NumPy 的inf對象。- axis: {int, 2-tuple of ints, None}, 可選
如果axis是一個整數,它指定計算向量範數的軸。如果axis是一個2元組,它指定保存二維矩陣的軸,並計算這些矩陣的矩陣範數。如果axis為None,則返回向量範數(當a為一維時)或矩陣範數(當a為二維時)。
- keepdims: 布爾型,可選
如果將其設置為 True,則規範化的軸將作為尺寸為 1 的尺寸留在結果中。使用此選項,結果將針對原始 a 正確廣播。
- check_finite: 布爾型,可選
是否檢查輸入矩陣是否僅包含有限數。禁用可能會提高性能,但如果輸入確實包含無窮大或 NaN,則可能會導致問題(崩潰、非終止)。
- n: 浮點數或 ndarray
矩陣或向量的範數。
參數 ::
返回 ::
注意:
對於
ord <= 0
的值,嚴格來說,結果不是數學上的 ‘norm’,但它對於各種數值目的可能仍然有用。可以計算以下規範:
ord
矩陣的範數
向量的範數
None
弗羅貝尼烏斯範數
2範數
‘fro’
弗羅貝尼烏斯範數
-
‘nuc’
核規範
-
inf
最大值(總和(絕對值(a),軸 = 1))
最大值(絕對值(a))
-inf
最小值(總和(絕對值(a),軸 = 1))
分鍾(絕對值(a))
0
-
總和(一個!= 0)
1
最大值(總和(絕對值(a),軸 = 0))
如下
-1
最小值(總和(絕對值(a),軸 = 0))
如下
2
2-範數(最大單值)
如下
-2
最小奇異值
如下
other
-
總和(abs(a)**ord)**(1./ord)
Frobenius 範數由 [1] 給出:
核範數是奇異值的總和。
Frobenius 和核範數階都隻為矩陣定義。
參考:
[1]G. H. Golub 和 C. F. Van Loan,矩陣計算,馬裏蘭州巴爾的摩,約翰霍普金斯大學出版社,1985 年,第 頁。 15
例子:
>>> import numpy as np >>> from scipy.linalg import norm >>> a = np.arange(9) - 4.0 >>> a array([-4., -3., -2., -1., 0., 1., 2., 3., 4.]) >>> b = a.reshape((3, 3)) >>> b array([[-4., -3., -2.], [-1., 0., 1.], [ 2., 3., 4.]])
>>> norm(a) 7.745966692414834 >>> norm(b) 7.745966692414834 >>> norm(b, 'fro') 7.745966692414834 >>> norm(a, np.inf) 4 >>> norm(b, np.inf) 9 >>> norm(a, -np.inf) 0 >>> norm(b, -np.inf) 2
>>> norm(a, 1) 20 >>> norm(b, 1) 7 >>> norm(a, -1) -4.6566128774142013e-010 >>> norm(b, -1) 6 >>> norm(a, 2) 7.745966692414834 >>> norm(b, 2) 7.3484692283495345
>>> norm(a, -2) 0 >>> norm(b, -2) 1.8570331885190563e-016 >>> norm(a, 3) 5.8480354764257312 >>> norm(a, -3) 0
相關用法
- Python SciPy linalg.null_space用法及代碼示例
- Python SciPy linalg.eigvalsh_tridiagonal用法及代碼示例
- Python SciPy linalg.cdf2rdf用法及代碼示例
- Python SciPy linalg.LaplacianNd用法及代碼示例
- Python SciPy linalg.solve_circulant用法及代碼示例
- Python SciPy linalg.polar用法及代碼示例
- Python SciPy linalg.clarkson_woodruff_transform用法及代碼示例
- Python SciPy linalg.rsf2csf用法及代碼示例
- Python SciPy linalg.hessenberg用法及代碼示例
- Python SciPy linalg.tril用法及代碼示例
- Python SciPy linalg.triu用法及代碼示例
- Python SciPy linalg.svd用法及代碼示例
- Python SciPy linalg.ishermitian用法及代碼示例
- Python SciPy linalg.invhilbert用法及代碼示例
- Python SciPy linalg.factorized用法及代碼示例
- Python SciPy linalg.lu_factor用法及代碼示例
- Python SciPy linalg.SuperLU用法及代碼示例
- Python SciPy linalg.lsqr用法及代碼示例
- Python SciPy linalg.cho_factor用法及代碼示例
- Python SciPy linalg.fractional_matrix_power用法及代碼示例
- Python SciPy linalg.eig_banded用法及代碼示例
- Python SciPy linalg.tanhm用法及代碼示例
- Python SciPy linalg.orthogonal_procrustes用法及代碼示例
- Python SciPy linalg.use_solver用法及代碼示例
- Python SciPy linalg.qr_multiply用法及代碼示例
注:本文由純淨天空篩選整理自scipy.org大神的英文原創作品 scipy.linalg.norm。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。