在Python中,norm()
函數(shù)用于計(jì)算向量的范數(shù)。范數(shù)是一個(gè)用于度量向量大小的函數(shù),常用于機(jī)器學(xué)習(xí)和數(shù)學(xué)領(lǐng)域。
norm()
函數(shù)可以通過(guò) numpy
庫(kù)中的 linalg
模塊來(lái)調(diào)用。它接受兩個(gè)參數(shù):向量和范數(shù)的類(lèi)型。
范數(shù)的類(lèi)型可以是以下幾種:
None
或者 np.inf
:計(jì)算向量的無(wú)窮范數(shù),即向量中絕對(duì)值最大的元素。
-np.inf
:計(jì)算向量的負(fù)無(wú)窮范數(shù),即向量中絕對(duì)值最小的元素。
0
:計(jì)算向量的 0 范數(shù),即向量中非零元素的個(gè)數(shù)。
1
:計(jì)算向量的 1 范數(shù),即向量中所有元素的絕對(duì)值之和。
2
:計(jì)算向量的 2 范數(shù),即向量中所有元素的平方和的平方根。
以下是 norm()
函數(shù)的用法示例:
import numpy as np
# 創(chuàng)建一個(gè)向量
vector = np.array([1, 2, 3, 4, 5])
# 計(jì)算向量的無(wú)窮范數(shù)
inf_norm = np.linalg.norm(vector, np.inf)
print("無(wú)窮范數(shù):", inf_norm)
# 計(jì)算向量的負(fù)無(wú)窮范數(shù)
neg_inf_norm = np.linalg.norm(vector, -np.inf)
print("負(fù)無(wú)窮范數(shù):", neg_inf_norm)
# 計(jì)算向量的0范數(shù)
zero_norm = np.linalg.norm(vector, 0)
print("0范數(shù):", zero_norm)
# 計(jì)算向量的1范數(shù)
one_norm = np.linalg.norm(vector, 1)
print("1范數(shù):", one_norm)
# 計(jì)算向量的2范數(shù)
two_norm = np.linalg.norm(vector, 2)
print("2范數(shù):", two_norm)
輸出結(jié)果:
無(wú)窮范數(shù): 5.0
負(fù)無(wú)窮范數(shù): 1.0
0范數(shù): 5.0
1范數(shù): 15.0
2范數(shù): 7.416198487095663
注意,norm()
函數(shù)還可以用于計(jì)算矩陣的范數(shù),用法類(lèi)似。