Python中np.linalg.norm()用法實(shí)例總結(jié)
前言
np.linalg.norm()用于求范數(shù),linalg本意為linear(線性) + algebra(代數(shù)),norm則表示范數(shù)。
用法
np.linalg.norm(x, ord=None, axis=None, keepdims=False)
1.x: 表示矩陣(一維數(shù)據(jù)也是可以的~)
2.ord: 表示范數(shù)類型
向量的范數(shù):
矩陣的向量:
- ord=1:表示求列和的最大值
- ord=2:|λE-ATA|=0,求特征值,然后求最大特征值得算術(shù)平方根
- ord=∞:表示求行和的最大值
- ord=None:表示求整體的矩陣元素平方和,再開根號
3.axis:
參數(shù) | 含義 |
---|---|
0 | 表示按列向量來進(jìn)行處理,求多個(gè)列向量的范數(shù) |
1 | 表示按行向量來進(jìn)行處理,求多個(gè)行向量的范數(shù) |
None | 表示整個(gè)矩陣的范數(shù) |
4.keepdims:表示是否保持矩陣的二位特性,True表示保持,F(xiàn)alse表示不保持,默認(rèn)為False
例子
1.默認(rèn)狀態(tài)下:
import numpy as np X = [[1, 2, 3], [4, 5, 6]] print(np.linalg.norm(X))
Result:
2.改變axis:
import numpy as np X = [[1, 2, 3], [4, 5, 6]] print(np.linalg.norm(X, axis=1))
import numpy as np X = [[1, 2, 3], [4, 5, 6]] print(np.linalg.norm(X, axis=0))
3.改變ord:
import numpy as np X = [[1, 2, 3], [4, 5, 6]] print(np.linalg.norm(X, ord=1))
import numpy as np X = [[1, 2, 3], [4, 5, 6]] print(np.linalg.norm(X, ord=2))
4.改變keepdims:
import numpy as np X = [[1, 2, 3], [4, 5, 6]] print(np.linalg.norm(X, axis=0, keepdims=True))
import numpy as np X = [[1, 2, 3], [4, 5, 6]] print(np.linalg.norm(X, axis=0))
注意:嚴(yán)格來說,當(dāng) ord <= 0 時(shí),不符合數(shù)學(xué)上的范數(shù)公式,但它仍然適用于各種數(shù)值目的。
import numpy as np a = np.arange(12) print(a) b = a.reshape((3, 4)) print(b) print(np.linalg.norm(a)) print(np.linalg.norm(b)) print(np.linalg.norm(b, 'fro')) print(np.linalg.norm(b, 'nuc')) print(np.linalg.norm(a, np.inf)) print(np.linalg.norm(a, -np.inf)) print(np.linalg.norm(a, 1)) print(np.linalg.norm(b, np.inf, axis=1)) print(np.linalg.norm(b, -np.inf, axis=0)) print(np.linalg.norm(b, 1))
[ 0 1 2 3 4 5 6 7 8 9 10 11]
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
22.4944437584
22.4944437584
22.4944437584
24.3646384993
11.0
0.0
66.0
[ 3. 7. 11.]
[ 0. 1. 2. 3.]
21.0
總結(jié)
到此這篇關(guān)于Python中np.linalg.norm()用法實(shí)例的文章就介紹到這了,更多相關(guān)Python np.linalg.norm()用法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python執(zhí)行等待程序直到第二天零點(diǎn)的方法
這篇文章主要介紹了python執(zhí)行等待程序直到第二天零點(diǎn)的方法,涉及Python等待程序的實(shí)現(xiàn)技巧,需要的朋友可以參考下2015-04-04Python 創(chuàng)建子進(jìn)程模塊subprocess詳解
這篇文章主要介紹了Python 創(chuàng)建子進(jìn)程模塊subprocess詳解,本文詳細(xì)講解了subprocess模塊的方法、參數(shù)、使用實(shí)例等,需要的朋友可以參考下2015-04-04Python使用Asyncio實(shí)現(xiàn)檢查網(wǎng)站狀態(tài)
這篇文章主要為大家詳細(xì)介紹了Python如何使用Asyncio實(shí)現(xiàn)檢查網(wǎng)站狀態(tài),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-03-03python?DataFrame數(shù)據(jù)分組統(tǒng)計(jì)groupby()函數(shù)的使用
在python的DataFrame中對數(shù)據(jù)進(jìn)行分組統(tǒng)計(jì)主要使用groupby()函數(shù),本文主要介紹了python?DataFrame數(shù)據(jù)分組統(tǒng)計(jì)groupby()函數(shù)的使用,具有一定的參考價(jià)值,感興趣的可以了解一下2022-03-03Python使用sigthief簽發(fā)證書的實(shí)現(xiàn)步驟
Windows 系統(tǒng)中的一些非常重要文件通常會(huì)被添加數(shù)字簽名,其目的是用來防止被篡改,能確保用戶通過互聯(lián)網(wǎng)下載時(shí)能確信此代碼沒有被非法篡改和來源可信,從而保護(hù)了代碼的完整性、保護(hù)了用戶不會(huì)被病毒、惡意代碼和間諜軟件所侵害,本章將演示證書的簽發(fā)與偽造2021-06-06基于Python OpenCV實(shí)現(xiàn)圖像的覆蓋
本文將基于Python、OpenCV和Numpy實(shí)現(xiàn)圖像的覆蓋,即小圖像覆蓋在大圖像上。文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2022-02-02