python中norm函數(shù)的用法是什么

小億
172
2023-07-13 15:57:01

在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)似。

0