在Python中,norm函數可以使用numpy.linalg.norm()
來計算向量或矩陣的范數。numpy.linalg.norm()
函數的語法如下:
numpy.linalg.norm(x, ord=None, axis=None, keepdims=False)
參數說明:
x
:表示向量或矩陣。
ord
:表示范數的類型,默認為None,表示計算2范數。可以設置為1、2、np.inf等其它值,分別表示計算1范數、2范數和無窮范數。
axis
:表示沿著哪個軸計算范數,默認為None,表示對整個向量或矩陣計算范數。對于矩陣可以設置為0或1,分別表示按行計算范數和按列計算范數。
keepdims
:表示是否保持計算范數后的維度,默認為False。
下面是一些使用numpy.linalg.norm()
函數的例子:
import numpy as np
# 計算向量的2范數
x = np.array([1, 2, 3])
norm_2 = np.linalg.norm(x)
print(norm_2) # 輸出:3.7416573867739413
# 計算向量的1范數
norm_1 = np.linalg.norm(x, ord=1)
print(norm_1) # 輸出:6.0
# 計算矩陣的無窮范數
matrix = np.array([[1, 2, 3], [4, 5, 6]])
norm_inf = np.linalg.norm(matrix, ord=np.inf)
print(norm_inf) # 輸出:15.0
# 按行計算矩陣的2范數
norm_2_rows = np.linalg.norm(matrix, ord=2, axis=1)
print(norm_2_rows) # 輸出:[3.74165739 8.77496439]
注:需要先導入numpy
庫。