python3(十五)np.linalg.norm

论坛 期权论坛 编程之家     
选择匿名的用户   2021-5-31 15:16   11   0

linalg=linear(线性)+algebra(代数)

x_norm=np.linalg.norm(x, ord=None, axis=None, keepdims=False)

  • 1
  • 2
  • 3

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))
#14.38749456993816

print(np.linalg.norm(b, ord=2))
#13.686302989309274

print(np.linalg.norm(b, ord=1))
#19.0

print(np.linalg.norm(b, ord=np.inf))
#15.0
  • 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,

A1=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.

A2=λ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]]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

这里写图片描述

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP