Python中np.linalg.norm()用法实例总结
作者:小k同学! 发布时间:2021-01-08 03:36:35
标签:python,np.linalg.norm()
前言
np.linalg.norm()用于求范数,linalg本意为linear(线性) + algebra(代数),norm则表示范数。
用法
np.linalg.norm(x, ord=None, axis=None, keepdims=False)
1.x: 表示矩阵(一维数据也是可以的~)
2.ord: 表示范数类型
向量的范数:
矩阵的向量:
ord=1:表示求列和的最大值
ord=2:|λE-ATA|=0,求特征值,然后求最大特征值得算术平方根
ord=∞:表示求行和的最大值
ord=None:表示求整体的矩阵元素平方和,再开根号
3.axis:
参数 | 含义 |
---|---|
0 | 表示按列向量来进行处理,求多个列向量的范数 |
1 | 表示按行向量来进行处理,求多个行向量的范数 |
None | 表示整个矩阵的范数 |
4.keepdims:表示是否保持矩阵的二位特性,True表示保持,False表示不保持,默认为False
例子
1.默认状态下:
import numpy as np
X = [[1, 2, 3], [4, 5, 6]]
print(np.linalg.norm(X))
Result:
2.改变axis:
import numpy as np
X = [[1, 2, 3], [4, 5, 6]]
print(np.linalg.norm(X, axis=1))
import numpy as np
X = [[1, 2, 3], [4, 5, 6]]
print(np.linalg.norm(X, axis=0))
3.改变ord:
import numpy as np
X = [[1, 2, 3], [4, 5, 6]]
print(np.linalg.norm(X, ord=1))
import numpy as np
X = [[1, 2, 3], [4, 5, 6]]
print(np.linalg.norm(X, ord=2))
4.改变keepdims:
import numpy as np
X = [[1, 2, 3], [4, 5, 6]]
print(np.linalg.norm(X, axis=0, keepdims=True))
import numpy as np
X = [[1, 2, 3], [4, 5, 6]]
print(np.linalg.norm(X, axis=0))
注意:严格来说,当 ord <= 0 时,不符合数学上的范数公式,但它仍然适用于各种数值目的。
import numpy as np
a = np.arange(12)
print(a)
b = a.reshape((3, 4))
print(b)
print(np.linalg.norm(a))
print(np.linalg.norm(b))
print(np.linalg.norm(b, 'fro'))
print(np.linalg.norm(b, 'nuc'))
print(np.linalg.norm(a, np.inf))
print(np.linalg.norm(a, -np.inf))
print(np.linalg.norm(a, 1))
print(np.linalg.norm(b, np.inf, axis=1))
print(np.linalg.norm(b, -np.inf, axis=0))
print(np.linalg.norm(b, 1))
[ 0 1 2 3 4 5 6 7 8 9 10 11]
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
22.4944437584
22.4944437584
22.4944437584
24.3646384993
11.0
0.0
66.0
[ 3. 7. 11.]
[ 0. 1. 2. 3.]
21.0
来源:https://blog.csdn.net/silent1cat/article/details/120811844


猜你喜欢
- 这是《python基础教程》中的第二个项目,关于python操作PDF。涉及到的知识点1、urllib的使用2、reportlab库的使用这
- html_downloaderfrom urllib import requestdef download(url): &nb
- 列表降维(python:3.x)之前遇到需要使用列表降维的情况,如:原列表 : [[12,34],[57,86,1],[43,22,7],[
- AIML全名为Artificial Intelligence Markup Language(人工智能标记语言),是一种创建自然语言软件代理
- 一提到python,大家经常会提到爬虫,爬虫近来兴起的原因我觉得主要还是因为大数据的原因,大数据导致了我们的数据不在只存在于自己的服务器,而
- 今天接到一任务,有一张学生信息表(Excel表),里面有一万多条记录,现在要把这张表导入到数据库中,并设置学生学号为主键,但是现在这张表中的
- var a = 0, b = 0;[0, 0].sort(function() {a = 1;return 0;});[0, 1].sort
- 在软件开发的初始阶段,开发商们总是想把整个系统的最小的细节设计好了,然后再去单线程的编写代码。这样软件开发完成需要很长时间,但开发商们一直都
- 首先说一下需求,我需要将数据以分钟为单位进行分组,然后每一分钟内的数据作为一行输出,因为不同时间的数据量不一样,所以所有数据按照最长的那组数
- 下面我们以论坛排行榜举例说明:<% @ LANGUAGE="VBSCRIPT" %&
- 前言最近,我已经成功将我的个人网站从 Flask 迁移到 Django 了,最早接触 Django 的时候大概是在 4 年前,我记得那个时候
- Numpy通过观察Python的自有数据类型,我们可以发现Python原生并不提供多维数组的操作,那么为了处理矩阵,就需要使用第三方提供的相
- 本文实例讲述了Selenium定位元素操作。分享给大家供大家参考,具体如下:Selenium是一个用于Web应用程序测试的工具。Seleni
- 前言最近在写Vue项目的时候,遇到了一个问题,我从A路由使用parmas方式传参跳转到B路由,然后从B路由跳转到C路由,再从C路由返回B路由
- 获取当前工作目录import sysprint(sys.path[0])获取执行命令的位置import osprint(os.getcwd(
- 本文实例为大家分享了python实现移位加密和解密的具体代码,供大家参考,具体内容如下代码很简单,就不多做解释啦。主要思路是将字符串转为As
- 一.Numpy库1.什么是numpy?numpy是python进行科学计算的一个基础软件包,他是一个python库,提供多维数组
- 一、步骤要从 JPEG 图像中获取经纬度信息,可以使用 Python 的 PIL(Python Imaging Library)库。以下是一
- 题:取表table中100条-200条之间数据 方法1:临时表 select top 200 * into #aa from table o
- ⛳️ 本次反反爬实战案例背景本篇博客选择的案例是由 VX 好友提出,他希望有一篇博客能简单的介绍清楚下面这个问题。快速定位加密参数逻辑,快速