linalg=linear(线性)+algebra(代数)
x_norm=np.linalg.norm(x, ord=None, axis=None, keepdims=False)
1) x:表示矩阵
2)ord:范数类型
 ord=1:列和的最大值
ord=2:|λE-ATA|=0,求特征值,然后求最大特征值得算术平方根
ord=∞:行和的最大值
3)axis:处理类型
axis=1表示按行向量处理,求多个行向量的范数
axis=0表示按列向量处理,求多个列向量的范数
axis=None表示矩阵范数。
4)keepding:是否保持矩阵的二维特性
True表示保持矩阵的二维特性,False相反
numpy.linalg.norm(矩阵范数Matrix norm)
import numpy as np
from numpy import linalg as LA
a = np.array([-3, -5, -7, 2, 6, 4, 0, 2, 8])
b = a.reshape((3, 3))
print(b)
'''
[[-3 -5 -7]
[ 2 6 4]
[ 0 2 8]]
'''
print( LA.norm(b))
print(np.linalg.norm(b, ord=2))
print(np.linalg.norm(b, ord=1))
print(np.linalg.norm(b, ord=np.inf))
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
A=3;5;72;6;40;2;8,
‖A‖1=max(|3|+2+0;5+6+2;7+4+8)=max(5,13,19)=19
‖A‖∞=max(|3|+5+7;2+6+4;0+2+8)=max(15,12,10)=15.
‖A‖2=λmax(AA)√=σmax(A)
保持维度的方式
a=np.array([0,3,4,2,6,4]);
b = a.reshape((2, 3))
print(b)
print(np.linalg.norm(b,axis=1,keepdims=True))
#[[5. ]
#[7.48331477]]

|