np.linalg.norm 求矩阵的范数

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

参数:

①x: 表示矩阵(也可以是一维)

②ord:范数类型

向量的范数:

矩阵的范数:
ord=1:列和的最大值
ord=2:|λE-ATA|=0,求特征值,然后求最大特征值得算术平方根   (

非方阵求最大奇异值)
ord=∞:行和的最大值
③axis:处理类型
axis=1表示按行向量处理,求多个行向量的范数
axis=0表示按列向量处理,求多个列向量的范数
axis=None表示矩阵范数。
④keepding:是否保持矩阵的二维特性
True表示保持矩阵的二维特性,False相反

import numpy as np
from numpy import linalg as la
x = np.array([

    [0, 3, 4],

    [1, 6, 4]])

# 默认参数ord=None,axis=None,keepdims=False

print("默认参数(矩阵2范数,不保留矩阵二维特性):", np.linalg.norm(x))

print("矩阵2范数,保留矩阵二维特性:", np.linalg.norm(x, keepdims=True))

print("矩阵每个行向量求向量的2范数:", np.linalg.norm(x, axis=1, keepdims=True))

print("矩阵每个列向量求向量的2范数:", np.linalg.norm(x, axis=0, keepdims=True))

print("矩阵1范数:", np.linalg.norm(x, ord=1, keepdims=True))

print("矩阵2范数:", np.linalg.norm(x, ord=2, keepdims=True))

print("矩阵∞范数:", np.linalg.norm(x, ord=np.inf, keepdims=True))

print("矩阵每个行向量求向量的1范数:", np.linalg.norm(x, ord=1, axis=1, keepdims=True))

u,sigma,vt=la.svd(x)
print(sigma) 最大奇异值为矩阵的2范数

运行结果:

默认参数(矩阵2范数,不保留矩阵二维特性): 8.831760866327848
矩阵2范数,保留矩阵二维特性: [[8.83176087]]
矩阵每个行向量求向量的2范数: [[5.        ]
 [7.28010989]]
矩阵每个列向量求向量的2范数: [[1.         6.70820393 5.65685425]]
矩阵1范数: [[9.]]
矩阵2范数: [[8.70457079]]
矩阵∞范数: [[11.]]
矩阵每个行向量求向量的1范数: [[ 7.]
 [11.]]
[8.70457079 1.49346824]



原文:https://blog.csdn.net/hqh131360239/article/details/79061535 
 

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值