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

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中求向量和矩阵的范数实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持码农之家。

以上就是本次给大家分享的关于java的全部知识点内容总结,大家还可以在下方相关文章里找到相关文章进一步学习,感谢大家的阅读和支持。

python二维元素向量_详解python Numpy中求向量和矩阵的范数相关推荐

  1. python求向量函数的雅可比矩阵_在python Numpy中求向量和矩阵的范数实例

    np.linalg.norm(求范数):linalg=linear(线性)+algebra(代数),norm则表示范数. 函数参数 x_norm=np.linalg.norm(x, ord=None, ...

  2. python三维图切片提取_详解Python二维数组与三维数组切片的方法

    如果对象是二维数组,则切片应当是x[:]的形式,里面有一个冒号,冒号之前和之后分别表示对象的第0个维度和第1个维度: 如果对象是三维数组,则切片应当是x[::],里面有两个冒号,分割出三个间隔,三个间 ...

  3. python从random生成列表_详解Python利用random生成一个列表内的随机数

    详解Python利用random生成一个列表内的随机数 首先,需要导入random模块: import random 随机取1-33之间的1个随机数,可能重复: random.choice(range ...

  4. 用于生成随机数的python标准库模块是_详解Python基础random模块随机数的生成

    详解Python基础random模块随机数的生成 来源:中文源码网    浏览: 次    日期:2019年11月5日 [下载文档:  详解Python基础random模块随机数的生成.txt ] ( ...

  5. python命令提示符窗口在哪里_详解python命令提示符窗口下如何运行python脚本

    以arcgispro的python脚本为例在arcgispro自带的python窗口下运行python脚本 需求: 将arcgispro的.aprx项目包中gdb的数据源路径更换为sde数据源路径. ...

  6. python策略模式包含角色_详解Python设计模式之策略模式

    虽然设计模式与语言无关,但这并不意味着每一个模式都能在每一门语言中使用.<设计模式:可复用面向对象软件的基础>一书中有 23 个模式,其中有 16 个在动态语言中"不见了,或者简 ...

  7. python可变参数的实验性_详解Python的三种可变参数

    可变参数 可变参数应该最简单,在C/C++和Java等语言中都有,就是用*号来表示,例如 def testArg(*arg) 你可以传入任意多个元素(包括0)到参数中,在函数内部会自动认为是一个元组或 ...

  8. python super()方法的作用_详解python的super()的作用和原理

    Python中对象方法的定义很怪异,第一个参数一般都命名为self(相当于其它语言的this),用于传递对象本身,而在调用的时候则不必显式传递,系统会自动传递.uz0免费资源网 今天我们介绍的主角是s ...

  9. python什么是可变参数_详解Python的三种可变参数

    可变参数 可变参数应该最简单,在C/C++和Java等语言中都有,就是用*号来表示,例如 def testArg(*arg) 你可以传入任意多个元素(包括0)到参数中,在函数内部会自动认为是一个元组或 ...

最新文章

  1. php-nginx超时时间过短导致的post失败
  2. 深度学习中将类别标签映射到one_hot向量
  3. memcpy 头文件_C|memcpy()和memmove()的比较及实现
  4. stm32 PWM输出学习
  5. ajax上传plupload的使用
  6. mysql怎么初始化自增值_MySQL 重置自增值
  7. OpenShift 4 之 GitOps(8)用ArgoCD实现的应用迁移、金丝雀部署、DR
  8. java list move_Java中List最重要的特性
  9. Sun HotSpot JVM内存管理及垃圾收集
  10. MFC最详细入门教程[转载]
  11. 红蜘蛛多媒体网络教室v7.2版一款网络教学的软件_我是亲民_新浪博客
  12. ppt文件太大怎么压缩变小?
  13. 猜一宋词名句 Java_宋词名句
  14. 开学季,如何申请免费学生云服务器
  15. 婚恋相亲源码-视频相亲app将会是直播的下一个风口吗?
  16. java使用多态打印个人信息_java 多态 回顾
  17. 应急管理大屏可视化决策系统产品白皮书
  18. 如何查找国际会议信息的总结
  19. 【Linux】软件安装、仓库搭建、服务器配置
  20. 2021年终总结--躺平的一年

热门文章

  1. oracle配置的监听文件,配置oracle监听文件
  2. Maximum Subrectangle(矩阵,前缀和)
  3. EFLS开源 | 阿里妈妈联邦学习解决方案详解
  4. java架构分层_java分层架构概念
  5. JAVA秒杀mysql层实现_Java商城高并发秒杀系统架构分析设计与开发实战
  6. php yii框架源码,yii 源码解读
  7. php kafka storm,php的kafka踩坑(二)
  8. FAILED: Error in metadata: MetaException(message:Got exception: java.net.ConnectException
  9. 完美下巴标准_平行下颚抓
  10. k 最近邻_k最近邻与维数的诅咒