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

阿麦
阿麦
发布时间:2026-10-16| 4人浏览过
原创

本文详细介绍Python中numpy库的np.linalg.norm()函数,涵盖其求范数的核心功能。文章解析了x、ord、axis和keepdims四个关键参数的含义,并通过具体代码示例演示了默认状态、改变axis、ord及keepdims时的计算结果,帮助开发者掌握向量与矩阵范数的计算方法。

前言

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

运行结果:

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

总结

到此这篇关于Python中np.linalg.norm()用法实例的文章就介绍到这了,更多相关Python np.linalg.norm()用法内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。