python数值计算库Numpy学习之—np.linalg.norm(求范数)

pytorch ---- torch.linalg.norm()函数 是 PyTorch 中用于计算张量范数(Norm)的函数。范数是线性代数中的一个重要概念,用于量化向量或矩阵的大小或长度。这个函数可以处理任意形状的张量,支持多种类型的范数计算。 阅读详情

    Numpy在python中是非常著名的一个数值计算类型的库,在线性代数里面的矩阵求和、求逆、求距离、求范数等等,都有很友好的支持,今天正好再一次用到了它的范数求解操作,就专门找一点时间总结了一下,备忘,下面是具体的实现,参数解释以及代码注释都已经比较详细了就不多再解释了:

#!usr/bin/env python
#encoding:utf-8


'''
__Author__:沂水寒城
功能: 基于numpy计算范数
'''

import sys
reload(sys)
import numpy as np
sys.setdefaultencoding('utf-8')



def testFunc():
    '''
    linalg=linear(线性)+algebra(代数)
    norm则表示范数
    接口调用:
    np.linalg.norm(data, ord=None, axis=None, keepdims=False)
    data:数据矩阵(一维或者二维)
    ord:求解的范数类型(默认为二范数)
          ord=1:列和的最大值
          ord=2:|λE-ATA|=0,求特征值,然后求最大特征值得算术平方根
          ord=∞:行和的最大值
    axis:处理类型
          axis=1表示按行向量处理,求多个行向量的范数
          axis=0表示按列向量处理,求多个列向量的范数
          axis=None表示矩阵范数。
    keepding:是否保持矩阵的二维特性
              True 保持
              False 不保持
    '''
    data=np.array(range(36))
    data=data.reshape(6,6)
    print u"行向量的1范数:  "
    print u"不保留矩阵二维特性:  ",np.linalg.norm(data,ord=1,axis=1)
    print u"保留矩阵二维特性:  ",np.linalg.norm(data,ord=1,axis=1,keepdims=True)

    print u"行向量的2范数:  "
    print u"不保留矩阵二维特性:  ",np.linalg.norm(data,axis=1)
    print u"保留矩阵二维特性:  ",np.linalg.norm(data,axis=1,keepdims=True)

    print u"行向量的∞范数:  "
    print u"不保留矩阵二维特性:  ",np.linalg.norm(data,ord=np.inf,axis=1)
    print u"保留矩阵二维特性:  ",np.linalg.norm(data,ord=np.inf,axis=1,keepdims=True)

    print u"列向量的1范数:  "
    print u"不保留矩阵二维特性:  ",np.linalg.norm(data,ord=1,axis=0)
    print u"保留矩阵二维特性:  ",np.linalg.norm(data,ord=1,axis=0,keepdims=True)

    print u"列向量的2范数:  "
    print u"不保留矩阵二维特性:  ",np.linalg.norm(data,axis=0)
    print u"保留矩阵二维特性:  ",np.linalg.norm(data,axis=0,keepdims=True)

    print u"列向量的∞范数:  "
    print u"不保留矩阵二维特性:  ",np.linalg.norm(data,ord=np.inf,axis=0)
    print u"保留矩阵二维特性:  ",np.linalg.norm(data,ord=np.inf,axis=0,keepdims=True)

    print u"矩阵1范数: "
    print u"不保留矩阵二维特性:  ",np.linalg.norm(data,ord=1)
    print u"保留矩阵二维特性:  ",np.linalg.norm(data,ord=1,keepdims=True)

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

    print u"矩阵∞范数: "
    print u"不保留矩阵二维特性:  ",np.linalg.norm(data,ord=np.inf)
    print u"保留矩阵二维特性:  ",np.linalg.norm(data,ord=np.inf,keepdims=True)



if __name__=='__main__':
    testFunc()

       上述代码在python2.7环境下测试通过,结果如下:

行向量的1范数:  
不保留矩阵二维特性:   [ 15.  51.  87. 123. 159. 195.]
保留矩阵二维特性:   [[ 15.]
 [ 51.]
 [ 87.]
 [123.]
 [159.]
 [195.]]
行向量的2范数:  
不保留矩阵二维特性:   [ 7.41619849 21.23676058 35.76310948 50.38849075 65.04613747 79.71825387]
保留矩阵二维特性:   [[ 7.41619849]
 [21.23676058]
 [35.76310948]
 [50.38849075]
 [65.04613747]
 [79.71825387]]
行向量的∞范数:  
不保留矩阵二维特性:   [ 5. 11. 17. 23. 29. 35.]
保留矩阵二维特性:   [[ 5.]
 [11.]
 [17.]
 [23.]
 [29.]
 [35.]]
列向量的1范数:  
不保留矩阵二维特性:   [ 90.  96. 102. 108. 114. 120.]
保留矩阵二维特性:   [[ 90.  96. 102. 108. 114. 120.]]
列向量的2范数:  
不保留矩阵二维特性:   [44.49719092 46.54030511 48.62098312 50.73460358 52.87721627 55.04543578]
保留矩阵二维特性:   [[44.49719092 46.54030511 48.62098312 50.73460358 52.87721627 55.04543578]]
列向量的∞范数:  
不保留矩阵二维特性:   [30. 31. 32. 33. 34. 35.]
保留矩阵二维特性:   [[30. 31. 32. 33. 34. 35.]]
矩阵1范数: 
不保留矩阵二维特性:   120.0
保留矩阵二维特性:   [[120.]]
矩阵2范数: 
不保留矩阵二维特性:   121.99726466378695
保留矩阵二维特性:   [[121.99726466]]
矩阵∞范数: 
不保留矩阵二维特性:   195.0
保留矩阵二维特性:   [[195.]]

 

np.linalg.norm()(numpy求范数) 1、linalg=linear(线性)+algebra(代数),norm则表示范数。 2、函数参数 x_norm=np.linalg.norm(x, ord=None, axis=None, keepdims=False) ①x: 表示矩阵(也可以是一维) ②ord:范数类型 向量的范数: 矩阵的范数: ord=1:列和的最大值 ord=2:|λE-ATA|=0,求特征值,然后求最大特征值得算术平方根(matlab在线版,计算ans=ATA,[x,y]=eig(ans),sqrt(y),x是特征向量,y 阅读详情

相关推荐

在没有信用卡的情况下怎么申请谷歌云(Google Cloud)?

这笔额度足够用来跑一台云服务器、部署小型网站,甚至可以尝试 AI、机器学习等项目。但问题来了——想要拿到这 300 美元,你必须先通过支付方式验证。默认选项就是绑定一张国际信用卡(Visa、MasterCard 之类),然而不少人没有信用卡,或者信用卡无法支持国际支付,结果就卡在注册第一步。很多人会疑惑:既然是送额度,为什么还要绑卡?原因其实很简单:谷歌需要确认你是真实用户,而不是批量注册薅羊毛;通过支付验证,后续如果你用完 300 美元额度,可以直接进行付费使用;

m0_74824483的博客 5654

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=Non

silent1cat的博客 9万+

强化学习 之 Actor Critic

简介 Actor Critic是一种结合体算法: (1)Actor 的前生是 Policy Gradients,这能让它毫不费力地在连续动作中选取合适的动作,而 Q-learning 做这件事会瘫痪; (2)Critic 的前生是 Q-learning 或者其他的 以值为基础的学习法,能进行单步更新,而传统的 Policy Gradients 则是回合更新,这降低了学习效率。 算法思想 Actor...

Test_tju的博客 812

np.linalg.norm()

本文记录了np.linalg.norm()的原理及使用方法

chen_znn的博客 1万+

RTOS任务调度原理:高优先级任务为何在低优先级任务执行时无法响应

实时操作系统(RTOS)的核心在于其确定性的任务调度机制,它通过优先级抢占确保关键任务及时执行。其基本原理是调度器仅在特定调度点(如任务主动阻塞、中断退出时)运行,比较就绪态任务的优先级并切换上下文。这一机制的技术价值在于为嵌入式系统提供可预测的响应时间,广泛应用于工业控制、汽车电子和物联网设备等对实时性要求高的场景。当低优先级任务执行**长时间非阻塞运算**且无中断发生时,调度器无法被触发,导致高优先级任务虽处于就绪态却无法获得CPU,造成系统响应延迟。理解**任务状态机**与调度点,是优化实时性、避免此

weixin_33508411的博客 287

智慧社区:安防系统解决方案

智慧社区:安防系统解决方案

s13166803785的博客 433

【Numpy】np.linalg.norm() 的用法(求范数)

linalg=linear+algebra ,也就是线性代数的意思,是numpy 库中进行线性代数运算方面的函数。 使用 np.linalg 这个模块,可以计算范数、逆矩阵、求特征值、解线性方程组以及求解行列式等。 本文要讲的 np.linalg.norm() ,就是计算范数的意思,norm 则表示 范数。...

m0_51816252的博客 2万+

【Claude Code 源码解析教程】第4章:QueryEngine 查询引擎

本章深入解析 Claude Code 的核心引擎——QueryEngine,它是整个对话系统的"心脏",负责管理会话状态、消息处理流程和多轮对话支持。

rengang66的博客 269

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:列和的最大值 o...

qq_35154529的博客 6万+

ultralytics.data.utils——utils.py子模块代码详读

ultralytics.data.utils——utils.py子模块代码详读

Together_CZ的博客 1721

基于STM32与FPGA的数据采集系统的设计与实现

数据采集系统在现代工程中起着至关重要的作用,用于实时获取和处理各种传感器或外部设备的数据。在本文中,我们将探讨如何基于STM32微控制器和FPGA(现场可编程门阵列)实现一个高效的数据采集系统。我们可以使用STM32的UART、SPI或I2C接口与各种传感器或外部设备进行通信,并通过GPIO口实现控制功能。在硬件连接完成后,我们可以通过STM32控制FPGA的配置和数据传输。STM32作为主控单元负责与外部设备进行通信和数据处理,而FPGA则用于高速数据采集和实时处理。具体的通信协议取决于连接的设备类型。

UbiSqlserver的博客 1797

Python——np.linalg.norm求三种范数的方法(超详细附代码与注解)

开始之前 在处理机器学习问题中,我们常常会碰到范数,这里我将通过code给大家讲解一下范数。 范式代码:np.linalg.norm(x, ord=None, axis=None) 其中: (1)linalg=linear(线性)+algebra(代数),norm表示范数 (2)x代表矩阵,ord为范数类型 参数 范数类型 ord=2或None 二范数 ord=1 一范数 ...

weixin_37763870的博客 1万+

多传感器标定:如何统一摄像头、雷达与IMU坐标?

多传感器标定:如何统一摄像头、雷达与IMU坐标?​ ,人工智能,计算机视觉,大模型,AI,本文详细阐述多传感器标定中统一摄像头、雷达与 IMU 坐标的方法。先介绍传感器坐标系统、坐标统一必要性及变换数学基础,再分述摄像头与雷达、IMU 与摄像头、IMU 与雷达的标定原理、步骤、参数计算及结果验证,还讲解了多传感器坐标统一的整体流程,分析了标定常见问题及解决办法,介绍了常用标定工具,结合实际案例说明应用,探讨了标定精度的影响因素、提升方法及发展趋势,为相关领域提供了全面的多传感器标定指导。​

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 12万+

python 库 Numpy 中如何求取向量范数 np.linalg.norm(求范数)(向量的第二范数为传统意义上的向量长度),(如何求取向量的单位向量)

转载自: https://www.cnblogs.com/devilmaycry812839668/p/9352814.html 求取向量二范数,并求取单位向量(行向量计算) import numpy as np x=np.array([[0, 3, 4], [2, 6, 4]]) y=np.linalg.norm(x, axis=1, keepdims=True) z=x/y x 为需...

lixixi 3548

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

np.linalg.norm(求范数)

1、字面理解 linalg=linear(线性)+algebra(代数),norm则表示范数。 2、函数参数 x_norm=np.linalg.norm(x, ord=None, axis=None, keepdims=False) x: 表示矩阵(也可以是一维) ord:范数类型 向量的范数: 矩阵的范数: ord=1:列和的最大值 ord=2:|λE-ATA|=0,求特征值,然后求最大特征值得算术平方根(matlab在线版,计算ans=ATA,[x,y]=eig(ans),sq

one-way or another 436

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

为什么np.linalg.norm比手动实现快10倍?性能对比分析

为了验证性能差异,我设计了手动实现的L1和L2范数计算函数。复现这个实验时,发现它的Jupyter环境预装了NumPy,还能一键分享可交互的测试报告,特别适合做这类性能分析。这让我很好奇背后的原因,于是做了一组对比实验,结果和原理都值得分享。最近在做矩阵运算优化时,发现一个有趣的现象:同样计算向量的L2范数,直接用NumPy的。测试覆盖了从10维到10000维的向量,确保数据规模的影响能被观察到。- 手动实现避免使用NumPy的向量化操作,模拟初学者的写法。在小向量(如10维)时,手动实现耗时约为。

SapphireOwl29的博客 865

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

【chatgpt】向量计算相对误差2范数(使用np.linalg.norm)

在线性代数中,矩阵或向量的 2-范数(也称为 Euclidean 范数)是一种常见的范数,用于衡量向量的大小或矩阵的大小。,它的 2-范数定义为矩阵的所有奇异值(Singular Values)的平方和的平方根,即矩阵的最大奇异值。2-范数在机器学习和数值计算中经常被使用,用于衡量向量或矩阵的大小,以及在优化问题中作为正则化项。函数计算了绝对误差的 2-范数,并将其除以实际值的 2-范数,得到了相对误差的 2-范数。之间的 2-范数(也可以使用其他范数,例如 1-范数或无穷范数),

Never Give Up 1527

Python之np.linalg.norm(求范数)

numpy.linalg.norm numpy.linalg.norm(x,ord = None,axis = None,keepdims = False ) 参数详解: x:array_like,数组和矩阵都可以 ord: axis: axis=0时表示处理列数据,axis=1时表示处理行数据。 keepdims:Ture时表示保持原来的shape,默认为Flase返回数值。 a=np.arr...

qq_44635691的博客 1050

python3(十五)np.linalg.norm

linalg=linear(线性)+algebra(代数)x_norm=np.linalg.norm(x, ord=None, axis=None, keepdims=False) 1231) x:表示矩阵2)ord:范数类型 ord=1:列和的最大值ord=2:|λE-ATA|=0,求特征值,然后求最大特征值得算术平方根ord=∞:行和的最大值3)axis:处理...

邹小驴 4369

np.linalg.norm(求范数)

np.linalg.norm 默认为求二范数

severe777777的博客 299

范数(norm) 几种范数的简单介绍

https://blog.csdn.net/a493823882/article/details/80569888 np.linalg.norm(value)

起飞的木木的博客 3829

numpy.linalg.norm

https://het.as.utexas.edu/HET/Software/Numpy/reference/generated/numpy.linalg.norm.html norm范数,默认求的是,就是二范数,或者叫做模,别的用法具体查看参数 关于不同的norm https://en.wikipedia.org/wiki/Norm_(mathematics) ...

Arthur_Holmes的博客 516

Python 线性方程组求解:NumPy 从入门到实践

本文介绍了使用NumPy求解线性方程组的三种方法:1. numpy.linalg.solve():最直接高效的方法,适用于适定方程组(方阵且可逆);2. 矩阵求逆法(numpy.linalg.inv()):理论直观但效率低,不推荐实际使用;3. 最小二乘法(numpy.linalg.lstsq()):处理无解或多解方程组的利器。文章通过代码示例和性能对比,建议优先使用solve()方法,并详细解释了最小二乘解的应用场景。

2301_81008130的博客 2268

Python实战:用NumPy计算向量与矩阵范数的5种常用方法

本文详细介绍了使用NumPy计算向量与矩阵范数的5种常用方法,包括1-范数、2-范数、无穷范数、Frobenius范数和谱范数。通过实际代码示例,展示了这些范数在数据归一化、矩阵条件数计算等科学计算和数据分析中的应用场景,帮助开发者提升数值计算的精准度和效率。

weixin_30335575的博客 449

关于Python中np.linalg.norm()的一个小细节

res=np.linalg.norm(x) 当参数axis如果是None,那么返回的res是矩阵范数还是向量范数,会根据传入x的是几维自动变化,一维就是向量范数,二维就是矩阵范数

qq_42787054的博客 557

np.linalg 函数一览

np.linalg是你进行矩阵运算的瑞士军刀线性方程求解矩阵分解范数与距离特征分析数值稳定性处理🔁 记住口诀:要求逆?用 linalg!要解方程?用 solve!要降维?用 svd!

2402_83802259的博客 755
上一篇: 使用python来读取超大型文件数据
下一篇: sklearn 学习实践之——基于自带数据集(波士顿房价、鸢尾花、糖尿病等)构建分类、回归模型
Together_CZ
Together_CZ 领域专家: 数据科学与机器学习技术领域 领域专家: 数据科学与机器学习技术领域
博客等级 码龄10年 19万+粉丝 3802原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Together_CZ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值