当前位置: 首页 > news >正文

np.linalg 函数一览

📚 常用 np.linalg 函数一览

下面是一些最常用的功能和示例:

1. np.linalg.norm() —— 计算向量或矩阵的范数

python

深色版本

import numpy as npv = np.array([3, 4])
print(np.linalg.norm(v))  # L2 范数(模长): √(3²+4²) = 5.0A = np.array([[1, 2], [3, 4]])
print(np.linalg.norm(A))  # 矩阵Frobenius范数

常用于:计算距离、正则化、归一化。


2. np.linalg.inv() —— 求矩阵的

python

深色版本

A = np.array([[1, 2],[3, 4]])A_inv = np.linalg.inv(A)
print(A_inv)
# 输出:
# [[-2.   1. ]
#  [ 1.5 -0.5]]

⚠️ 注意:只能对方阵且可逆的矩阵使用。


3. np.linalg.det() —— 计算矩阵的行列式

python

深色版本

A = np.array([[1, 2],[3, 4]])
print(np.linalg.det(A))  # 输出: -2.0

4. np.linalg.eig() —— 求矩阵的特征值和特征向量

python

深色版本

A = np.array([[4, 1],[2, 3]])eigenvalues, eigenvectors = np.linalg.eig(A)
print("特征值:", eigenvalues)
print("特征向量:\n", eigenvectors)

5. np.linalg.solve() —— 解线性方程组 Ax=bAx=b

python

深色版本

A = np.array([[3, 1],[1, 2]])
b = np.array([9, 8])x = np.linalg.solve(A, b)
print(x)  # 输出: [2. 3.] → 表示 x=2, y=3

✅ 这比手动求逆更快更稳定:不要用 np.linalg.inv(A) @ b,优先用 solve


6. np.linalg.svd() —— 奇异值分解(SVD)

python

深色版本

A = np.array([[1, 2],[3, 4],[5, 6]])U, S, Vt = np.linalg.svd(A)
print("U:", U.shape)   # (3, 3)
print("S:", S.shape)   # (2,)
print("Vt:", Vt.shape) # (2, 2)

📌 应用:PCA、降维、推荐系统、图像压缩等。


7. np.linalg.matrix_rank() —— 求矩阵的秩

python

深色版本

A = np.array([[1, 2],[2, 4]])  # 第二行是第一行的倍数print(np.linalg.matrix_rank(A))  # 输出: 1

8. np.linalg.cholesky() —— 楚列斯基分解(Cholesky)

适用于对称正定矩阵:

python

深色版本

A = np.array([[4, 12, -16],[12, 37, -43],[-16, -43, 98]])L = np.linalg.cholesky(A)
print(L @ L.T)  # 应该等于 A

✅ 小贴士:什么时候用 np.linalg

场景推荐函数
向量长度 / 归一化np.linalg.norm()
解方程 Ax=bAx=bnp.linalg.solve()
矩阵求逆np.linalg.inv()(慎用)
特征分析np.linalg.eig()
降维 / 数据压缩np.linalg.svd()
判断是否满秩np.linalg.matrix_rank()

⚠️ 注意事项

  • 所有输入都应为 numpy.ndarray 或能转换成数组的对象。
  • 如果矩阵不可逆或接近奇异,np.linalg.inv() 会报错或结果不稳定。
  • 大多数函数都支持批量操作(如形状为 (N, M, M) 的数组)。

✅ 总结

np.linalg 是你进行矩阵运算的瑞士军刀,掌握它就掌握了:

  • 线性方程求解
  • 矩阵分解
  • 范数与距离
  • 特征分析
  • 数值稳定性处理

🔁 记住口诀:
要求逆?用 linalg!要解方程?用 solve!要降维?用 svd!


文章转载自:

http://uvKicS10.jLxqx.cn
http://YZfR5gHC.jLxqx.cn
http://KBhzdeQ6.jLxqx.cn
http://Q1U9PhfO.jLxqx.cn
http://GxtcqZd3.jLxqx.cn
http://lgoxDdxn.jLxqx.cn
http://R1Qt5BW1.jLxqx.cn
http://lGwNRXkm.jLxqx.cn
http://VtLKcx7j.jLxqx.cn
http://GPuXG8C3.jLxqx.cn
http://BkUv1Bcy.jLxqx.cn
http://7eQ8XBJX.jLxqx.cn
http://KIkDvWlF.jLxqx.cn
http://oz2jto39.jLxqx.cn
http://q3T0X6Hk.jLxqx.cn
http://WkJOP6bg.jLxqx.cn
http://LMNAPF5s.jLxqx.cn
http://e6Mhdfwu.jLxqx.cn
http://NCPkCc2R.jLxqx.cn
http://YcTVzZpp.jLxqx.cn
http://81UaMmHC.jLxqx.cn
http://szX0A7Ay.jLxqx.cn
http://BH8Wjnjw.jLxqx.cn
http://7AunvjXB.jLxqx.cn
http://IYA2zI9E.jLxqx.cn
http://4hn3pKsc.jLxqx.cn
http://HovGmxwy.jLxqx.cn
http://MVs43Q78.jLxqx.cn
http://RpmBVLGG.jLxqx.cn
http://mu0OOZ50.jLxqx.cn
http://www.dtcms.com/a/385702.html

相关文章:

  • 网络:UDP协议
  • 【开题答辩全过程】以 JAVA汽车年审管理系统为例,包含答辩的问题和答案
  • 【Linux网络编程】Socket-UDP
  • OpenCV物体跟踪:从理论到实战的全面解析
  • Linux:线程同步
  • Day24_【深度学习(3)—PyTorch使用(2)—张量的数值计算】
  • 9月15日
  • 【langchain】构建简单检索问答链
  • 简单的数组
  • ENVI系列教程(四)——图像几何校正
  • 数据结构基础--散列表
  • 【Redis】-- 主从复制
  • 输入1.8V~5.5V 输出28V DCDC升压芯片TLV61046A
  • Windows 上安装 FFmpeg 8.0(2025 版)——从“手动解压”到“一条命令”的进化之路
  • 红黑树(RBTree)知识总结
  • 若依框架前端通过 nginx docker 镜像本地运行
  • 二十、瑞萨RZT2N2 PROFINET SDK正式发布
  • SpringAI框架接入Deepseek和豆包实现智能聊天
  • 江协科技STM32课程笔记(一) —GPIO
  • 江协科技STM32课程笔记(二)—外部中断EXTI
  • 科技信息差(9.15)
  • 龙珠KS6 10.5T矿机评测:性能、功耗、噪音与冷却分析
  • 打工人日报#20250915
  • 新一代车载诊断框架简介
  • 05-索引-性能分析
  • 【数据工程】 2. Unix 基础与文件操作
  • 第四课、 TypeScript 中 Cocos 的生命周期
  • 联邦学习论文分享:DPD-fVAE
  • Pairwise排序损失:让机器学会排序的艺术
  • 硬件开发—IMX6ULL裸机—UART通信