天天看點

python 庫 Numpy 中如何求取向量範數 np.linalg.norm(求範數)(向量的第二範數為傳統意義上的向量長度),(如何求取向量的機關向量)

求取向量二範數,并求取機關向量(行向量計算)

python 庫 Numpy 中如何求取向量範數 np.linalg.norm(求範數)(向量的第二範數為傳統意義上的向量長度),(如何求取向量的機關向量)
import numpy as np
x=np.array([[0, 3, 4], [2, 6, 4]])

y=np.linalg.norm(x, axis=1, keepdims=True)

z=x/y      
python 庫 Numpy 中如何求取向量範數 np.linalg.norm(求範數)(向量的第二範數為傳統意義上的向量長度),(如何求取向量的機關向量)

x 為需要求解的向量, y為x中行向量的二範數, z的行向量為x的行方向的機關向量。

np.linalg.norm

顧名思義,linalg=linear+algebra,norm 則表示範數,

首先需要注意的是範數是對向量(或者矩陣)的度量,是一個标量(scalar):

首先​

​help(np.linalg.norm)​

​檢視其文檔:

norm(x, ord=None, axis=None, keepdims=False)      

ord  為設定具體範數值, axis 向量的計算方向, keepdims 設定是否保持次元不變

python 庫 Numpy 中如何求取向量範數 np.linalg.norm(求範數)(向量的第二範數為傳統意義上的向量長度),(如何求取向量的機關向量)

範數理論的一個推論:

L1  >=  L2  >=  L∞

import numpy as np

x=np.array([[0, 3, 4], [2, 6, 4]])

y2=np.sum(x**2, axis=1, keepdims=True)**0.5

z2=x/y2