linalg 通常指 线性代数(linear algebra) 模块;在 Python 里多指 numpy.linalg(基础)或 scipy.linalg(更全更稳)。给你一份极简速查👇
NumPy numpy.linalg 常用函数速查
-
解线性方程
np.linalg.solve(A, b):解方阵线性方程组 Ax=bA x=b(要求 det(A)≠0\det(A)\neq0) -
最小二乘
np.linalg.lstsq(A, b, rcond=None):解过定/欠定系统的最小二乘解 -
行列式/秩/范数
np.linalg.det(A):det(A)\det(A)
np.linalg.matrix_rank(A):秩
np.linalg.norm(A, ord=2):向量/矩阵范数(按ord选择) -
逆/伪逆
np.linalg.inv(A):矩阵逆(仅非奇异方阵)
np.linalg.pinv(A):Moore–Penrose 伪逆 -
特征分解 / SVD
np.linalg.eig(A):一般方阵的特征值与特征向量
np.linalg.eigh(A):对称/厄米矩阵特征分解(更稳定)
np.linalg.svd(A, full_matrices=True):奇异值分解 A=UΣVTA=U\Sigma V -
其他
np.linalg.qr(A):QR 分解
np.linalg.cholesky(A):Cholesky 分解(要求对称正定)
np.linalg.slogdet(A):返回 (sign,log∣det(A)∣)(\text{sign}, \log|\det(A)|)(数值稳定)
迷你示例
import numpy as np
A = np.array([[3., 2.],
[1., 4.]])
b = np.array([7., 5.])
x = np.linalg.solve(A, b) # 解 Ax=b
detA = np.linalg.det(A) # 行列式
rankA = np.linalg.matrix_rank(A) # 秩
vals, vecs = np.linalg.eig(A) # 特征分解
U, S, VT = np.linalg.svd(A) # SVD
A_inv = np.linalg.inv(A) # 逆
x_ls, *_ = np.linalg.lstsq(A, b, rcond=None) # 最小二乘