Python中np.linalg.norm()用法实例总结

作者:小k同学! 时间:2021-01-08 03:36:35 

前言

np.linalg.norm()用于求范数,linalg本意为linear(线性) + algebra(代数),norm则表示范数。

用法

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

1.x: 表示矩阵(一维数据也是可以的~)

2.ord: 表示范数类型

向量的范数

Python中np.linalg.norm()用法实例总结

矩阵的向量

  • 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:

Python中np.linalg.norm()用法实例总结

Python中np.linalg.norm()用法实例总结

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

Python中np.linalg.norm()用法实例总结

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

Python中np.linalg.norm()用法实例总结

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

Python中np.linalg.norm()用法实例总结

注意:严格来说,当 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,np.linalg.norm()
0
投稿

猜你喜欢

  • 关于你不想知道的所有Python3 unicode特性

    2022-03-03 13:06:40
  • SQL Server 2005实现数据库缓存依赖

    2009-05-07 13:20:00
  • python打包成so文件过程解析

    2022-03-19 18:08:46
  • Python无权点文件转化成邻接矩阵方式

    2021-04-19 02:14:29
  • tensorflow入门:tfrecord 和tf.data.TFRecordDataset的使用

    2022-06-29 16:23:40
  • 对Python3中bytes和HexStr之间的转换详解

    2022-12-10 22:15:36
  • Python 字符串转换为整形和浮点类型的方法

    2021-09-02 00:09:31
  • python实现websocket的客户端压力测试

    2023-09-30 11:19:57
  • PHP中trait的使用和同时引入多个trait时同名方法冲突的处理方法

    2023-06-16 23:13:52
  • django自带的server 让外网主机访问方法

    2023-06-03 22:59:50
  • Win10系统下安装编辑器之神(The God of Editor)Vim并且构建Python生态开发环境过程(2020年最新攻略)

    2021-11-24 05:20:30
  • 举例讲解Python装饰器

    2022-02-17 10:49:18
  • Python学习笔记(一)(基础入门之环境搭建)

    2021-12-26 12:51:40
  • 教你用Python脚本快速为iOS10生成图标和截屏

    2022-03-04 05:08:28
  • Python实现列表中非负数保留,负数转化为指定的数值方式

    2022-07-23 21:23:24
  • Python 弹窗设计小人发射爱心

    2021-07-16 14:41:01
  • Python常用的json标准库

    2022-02-26 10:37:52
  • 在asp中使用js的encodeURIComponent方法

    2012-11-30 20:05:53
  • JS代码混淆加密工具

    2008-05-25 13:49:00
  • 一个非常有代表性的javascript简易拖动类

    2009-05-25 12:44:00
  • asp之家 网络编程 m.aspxhome.com