NumPy线性代数速查指南 | AI生成和翻译

Home 2025.10

作为你专注于工程实践的辅导指南,本文在先前显式索引公式的基础上,通过整合实用的NumPy演示(使用import numpy as npnp.linalg)进行扩展。所有数学内容仍可通过索引验证(例如,\( A = [a_{ij}]{i=1}^2, j=1^2 \));代码使用显式数组以确保清晰度。输出结果均来自已验证的执行(例如,对于\( A = \begin{pmatrix} a{11}=1 & a_{12}=2 \ a_{21}=3 & a_{22}=4 \end{pmatrix} \),\( B = \begin{pmatrix} 5 & 6 \ 7 & 8 \end{pmatrix} \))。在备考时,可利用这些进行快速计算——重点在于对照公式解读输出结果。

1. 矩阵运算

数学公式如前:\( (AB){ij} = \sum{k=1}^2 a_{ik} b_{kj} \),等等。

NumPy 演示

import numpy as np
A = np.array([[1, 2], [3, 4]], dtype=float)
B = np.array([[5, 6], [7, 8]], dtype=float)

2. 行列式

数学公式:\( \det A = \sum_{j=1}^2 a_{1j} C_{1j} \),\( C_{1j} = (-1)^{1+j} \det(M_{1j}) \)(例如,\( M_{11} = [4] \),所以 \( C_{11} = 4 \);完整的 \( \det A = 1\cdot4 - 2\cdot3 = -2 \))。

NumPy 演示(续上):

关于伴随矩阵/逆矩阵的联系:逆矩阵在分母中使用行列式,如公式 \( A^{-1} = \frac{1}{\det A} \adj A \) 所示。

3. 线性方程组与高斯消元法

数学公式:增广矩阵 \( [A | b] \),其中 \( b = [b_i]_{i=1}^2 = [5, 11]^T \);在化为行阶梯形式后通过回代求解。

NumPy 演示

NumPy 的 solve 在内部执行类似 LU 分解的运算(无需显式编写高斯消元代码;如需自定义,可使用 scipy.linalg.lu,但此处建议坚持使用 np.linalg)。

4. 向量空间

数学公式:秩 A = 主元数量 = Col(A) 的维数;零度 = 2 - 秩 A。

NumPy 演示

5. 线性变换

数学公式:T(x)i = \( \sum_j a{ij} x_j \);矩阵表示是 A。

NumPy 关联:与矩阵运算相同;例如,T_x = A @ x 应用了变换(向量化)。

6. 特征值

数学公式:求解 det(A - λ I) = 0,(A - λ I){ij} = a{ij} - λ δ_{ij};然后求解 (A - λ I) v = 0 得到 v_j。

NumPy 演示

对于可对角化:满秩特征向量(det ≠0)。

7. 内积与正交化

数学公式:<u,v> = \( \sum_i u_i v_i \);投影 proj = (<v,w>/<w,w>) w(对 w_i 进行标量乘法)。

NumPy 演示(u=[1,2], v=[3,4]):

格拉姆-施密特正交化:对矩阵 V(列作为基向量)使用 np.linalg.qr(V);Q 是标准正交基。

二次型:u @ A @ u = 27.0(x^T A x,其中 x_i = u_i;对于正定,所有特征值 >0——此处特征值符号混合)。

快速验证提示:对于浮点数,始终使用 np.allclose;对于小的 n,手动进行行化简,然后与 solveeig 的结果匹配。练习:代入你自己的 3×3 矩阵。

NumPy linalg 文档
NumPy 中的线性代数 - SciPy 讲义笔记


Back

x-ai/grok-4-fast

Donate