在python Numpy中求向量和矩阵的范数实例

yipeiwu_com6年前Python基础

np.linalg.norm(求范数):linalg=linear(线性)+algebra(代数),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相反

向量范数:

1-范数: ,即向量元素绝对值之和,matlab调用函数norm(x, 1) 。

2-范数: ,Euclid范数(欧几里得范数,常用计算向量长度),即向量元素绝对值的平方和再开方,matlab调用函数norm(x, 2)。

∞-范数: ,即所有向量元素绝对值中的最大值,matlab调用函数norm(x, inf)。

-∞-范数: ,即所有向量元素绝对值中的最小值,matlab调用函数norm(x, -inf)。

p-范数: ,即向量元素绝对值的p次方和的1/p次幂,matlab调用函数norm(x, p)。

矩阵范数:

1-范数: , 列和范数,即所有矩阵列向量绝对值之和的最大值,matlab调用函数norm(A, 1)。

2-范数: ,谱范数,即A'A矩阵的最大特征值的开平方。matlab调用函数norm(x, 2)。

∞-范数: ,行和范数,即所有矩阵行向量绝对值之和的最大值,matlab调用函数norm(A, inf)。

F-范数: ,Frobenius范数,即矩阵元素绝对值的平方和再开平方,matlab调用函数norm(A, 'fro‘)。

import numpy as np

x1=np.array([1,5,6,3,-1])
x2=np.arange(12).reshape(3,4)
print x1,'\n',x2
print '向量2范数:'
print np.linalg.norm(x1)
print np.linalg.norm(x1,ord=2)
print '默认的矩阵范数:'
print np.linalg.norm(x2)
print '矩阵2范数:'
print np.linalg.norm(x2,ord=2)

经测试知:

np.linalg.norm(X),X为向量时,默认求向量2范数,即求向量元素绝对值的平方和再开方;

X为矩阵是,默认求的是F范数。矩阵的F范数即:矩阵的各个元素平方之和再开平方根,它通常也叫做矩阵的L2范数,它的有点在它是一个凸函数,可以求导求解,易于计算。

以上这篇在python Numpy中求向量和矩阵的范数实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python实现Restful API的例子

最近写了一个网络验证登录的爬虫,需要发布为Rest服务,然后发现Flask是一个很好的Web框架,使用Python语言实现。 1. 安装flask pip install flask...

python中pygame针对游戏窗口的显示方法实例分析(附源码)

python中pygame针对游戏窗口的显示方法实例分析(附源码)

本文实例讲述了python中pygame针对游戏窗口的显示方法。分享给大家供大家参考,具体如下: 在这篇教程中,我将给出一个demo演示: 当我们按下键盘的‘f'键的时候,演示的窗口会切...

python rsa实现数据加密和解密、签名加密和验签功能

python rsa实现数据加密和解密、签名加密和验签功能

本篇文章主要说明python库rsa生成密钥对,数据的加密解密,api接口的签名和验签,如有抄袭,请留言联系我。 先安装 pip install rsa 安装好后,请看代码 """...

Python利用matplotlib生成图片背景及图例透明的效果

Python利用matplotlib生成图片背景及图例透明的效果

前言 最近工作中遇到一个需求,在使用matplotlib生成图片,想要背景透明,而且图例部分也显示透明效果,通过查找相关资料找到了大概的设置方法,特此记录,方便自己或者有需要的朋友们参考...

python 应用之Pycharm 新建模板默认添加编码格式-作者-时间等信息【推荐】

python 应用之Pycharm 新建模板默认添加编码格式-作者-时间等信息【推荐】

在pycharm使用过程中,对于每次新建文件的编码格式和关于代码编写者的一些个人信息快捷填写,方法如下: 1.打开pycharm,选择File-Settings(Ctrl + Alt +...