numpy.linalg.norm
def norm(x, ord=None, axis=None, keepdims=False):
可以计算矩阵范数和向量范数
This function is able to return one of eight different matrix norms, or one of an infinite number of vector norms (described below), depending on the value of the
ord
parameter.
该函数可以返回八个不同的矩阵范数,或任意一种向量范数
以下先只介绍向量范数,只依赖于ord的值,axis和keepdims默认值即可。
ord | 意义 |
---|---|
None | 2-norm(2范数) |
1 | 1-norm(1范数) |
2 | 2-norm(2范数) |
inf | ∞-norm(正无穷范数) |
-inf | 负无穷范数 |
other(通用情况,见下p范数) | (sum(abs(x) ord) )(1./ord) |
范数
- p-范数:
∥ X ∥ p = ( ∑ ∣ x ∣ p ) a b \Vert X \Vert_p =(\sum \lvert x \rvert^p)^\frac ab ∥X∥p=(∑∣x∣p)ba
- 1-范数:
∥ X ∥ 1 = ∑ ∣ x ∣ \Vert X \Vert_1 =\sum \lvert x \rvert ∥X∥1=∑∣x∣
可用于计算曼哈顿距离。
- 2-范数:
∥ X ∥ 2 = ( ∑ ∣ x ∣ 2 ) 1 2 \Vert X \Vert_2 =(\sum \lvert x \rvert^2)^\frac 12 ∥X∥2=(∑∣x∣2)21
可用于计算向量长度,欧几里得距离。
- 正无穷范数
∥ X ∥ + ∞ = ( ∑ ∣ x ∣ + ∞ ) 1 + ∞ = max ∣ x ∣ \Vert X \Vert_{+\infty} =(\sum \lvert x \rvert^{+\infty})^\frac 1{+\infty} = \max \; \lvert x \rvert ∥X∥+∞=(∑∣x∣+∞)+∞1=max∣x∣
- 负无穷范数
∥ X ∥ 1 ∞ = ( ∑ ∣ x ∣ − ∞ ) 1 − ∞ = min ∣ x ∣ \Vert X \Vert_{1\infty} =(\sum \lvert x \rvert^{-\infty})^\frac 1{-\infty} = \min \; \lvert x \rvert ∥X∥1∞=(∑∣x∣−∞)−∞1=min∣x∣