宋浩数学题库
学习计划章节题库

线性代数资料库

章节目录

2 章 · 17 节 · 40 份资料

46 道例题与练习
第 1 章 行列式7
1.2 排列与逆序
练习题2答案与解析
1.3 n阶行列式
练习题答案与解析
1.4 行列式的性质
练习题答案与解析
1.5 行列式按一行列展开
练习题答案与解析
1.6 行列式按多行列展开
练习题答案与解析
1.7 行列式的计算
练习题答案与解析
1.8 克莱姆法则
练习题答案与解析
第 2 章 矩阵10
2.1 矩阵的概念
视频截图笔记课堂例题2
2.2 矩阵的加减法与数乘
视频截图笔记课堂例题5
2.3 矩阵的乘法
视频截图笔记课堂例题7
2.4 方阵的幂
视频截图笔记课堂例题7
2.5 矩阵的转置
视频截图笔记课堂例题答案与解析
2.6 方阵的行列式
视频截图笔记课堂例题答案与解析
2.7 方阵的伴随矩阵
视频截图笔记练习题3答案与解析
2.8 矩阵方程
视频截图笔记练习题6答案与解析
2.8 逆矩阵
视频截图笔记练习题7答案与解析
2.8 逆矩阵2
视频截图笔记练习题7答案与解析
第 2 章 矩阵/2.1 矩阵的概念

视频截图笔记

2.1 矩阵的概念

笔记.md

课堂例题
视频截图笔记课堂例题

来源

  • 课程:宋浩老师《线性代数》教学视频 2.0 版
  • 分集:第 10 个分集,2.1 矩阵的概念
  • 视频:BV1h7pteyEww,P10
  • 原始材料:截图目录
  • 课堂例题:例题.md

1. 矩阵是什么

把 m×nm\times nm×n 个数 aija_{ij}aij​ 按照 mmm 行、nnn 列排成的数表称为一个 m×nm\times nm×n 矩阵:

A=(aij)m×n=(a11a12⋯a1na21a22⋯a2n⋮⋮⋱⋮am1am2⋯amn).A=(a_{ij})_{m\times n} = \begin{pmatrix} a_{11}&a_{12}&\cdots&a_{1n}\\ a_{21}&a_{22}&\cdots&a_{2n}\\ \vdots&\vdots&\ddots&\vdots\\ a_{m1}&a_{m2}&\cdots&a_{mn} \end{pmatrix}.A=(aij​)m×n​=​a11​a21​⋮am1​​a12​a22​⋮am2​​⋯⋯⋱⋯​a1n​a2n​⋮amn​​​.
  • mmm 是行数,nnn 是列数,m×nm\times nm×n 称为矩阵的形状(shape)。
  • aija_{ij}aij​ 是矩阵的元素,表示第 iii 行、第 jjj 列的数。
  • 数学中下标从 111 开始;Python、NumPy 和 PyTorch 的数组下标从 000 开始。

例如

A=(30541111)A= \begin{pmatrix} 3&0&5&4\\ 1&1&1&1 \end{pmatrix}A=(31​01​51​41​)

是一个 2×42\times42×4 矩阵,其中 a13=5a_{13}=5a13​=5。

矩阵与行列式不要混淆

| 对比项 | 矩阵 | 行列式 | |---|---|---| | 书写 | 圆括号或方括号 | 两条竖线 | | 形状 | 可以是任意 m×nm\times nm×n | 必须是方阵对应的形式 | | 本质 | 一个有行列结构的数表 | 按规则计算后得到的一个数 | | 行列数 | 可以不相等 | 行数必须等于列数 |

2. 同型矩阵与矩阵相等

同型矩阵

矩阵 AAA 与 BBB 的行数相等、列数也相等,就称 AAA 与 BBB 是同型矩阵。

同型只比较形状,不要求对应元素相等。例如两个不同的 2×32\times32×3 矩阵仍然同型。

矩阵相等

A=B  ⟺  {A 与 B 同型,aij=bij(所有对应位置).A=B \iff \begin{cases} A\text{ 与 }B\text{ 同型},\\ a_{ij}=b_{ij}\quad(\text{所有对应位置}). \end{cases}A=B⟺{A 与 B 同型,aij​=bij​(所有对应位置).​

因此,矩阵相等是“形状相同”与“对应元素全部相等”两个条件同时成立。

3. 常见的特殊矩阵

3.1 方阵

行数和列数相等的矩阵称为方阵。n×nn\times nn×n 方阵简称 nnn 阶方阵。

  • 主对角线:从左上角到右下角,即 a11,a22,…,anna_{11},a_{22},\ldots,a_{nn}a11​,a22​,…,ann​。
  • 次对角线:从右上角到左下角。
  • 111 阶方阵就是一个数:(a)=a(a)=a(a)=a。

3.2 行矩阵与列矩阵

  • 只有一行的矩阵称为行矩阵,也称行向量,形状为 1×n1\times n1×n。
  • 只有一列的矩阵称为列矩阵,也称列向量,形状为 m×1m\times1m×1。

行向量 (1,1,1)(1,1,1)(1,1,1) 与列向量 (111)T\begin{pmatrix}1&1&1\end{pmatrix}^{\mathsf T}(1​1​1​)T 的元素虽然相同,但形状不同,因此不是同型矩阵,更不相等。

3.3 零矩阵

所有元素都为 000 的矩阵称为零矩阵,记作 OOO。零矩阵可以是任意形状;需要强调形状时写作 Om×nO_{m\times n}Om×n​。

两个不同形状的零矩阵并不相等。仅写 OOO 时,要根据上下文判断它的形状。

3.4 负矩阵

把矩阵 A=(aij)A=(a_{ij})A=(aij​) 的每个元素都取相反数,所得矩阵称为 AAA 的负矩阵:

−A=(−aij).-A=(-a_{ij}).−A=(−aij​).

−A-A−A 与 AAA 一定同型。

3.5 上三角矩阵与下三角矩阵

对方阵 A=(aij)A=(a_{ij})A=(aij​):

  • 上三角矩阵:主对角线下方的元素全为 000,即 i>ji>ji>j 时 aij=0a_{ij}=0aij​=0。
  • 下三角矩阵:主对角线上方的元素全为 000,即 i<ji<ji<j 时 aij=0a_{ij}=0aij​=0。

主对角线上的元素没有必须非零的要求。

3.6 对角矩阵

主对角线上方、下方的元素全为 000 的方阵称为对角矩阵:

diag⁡(a1,a2,…,an)=(a10⋯00a2⋯0⋮⋮⋱⋮00⋯an).\operatorname{diag}(a_1,a_2,\ldots,a_n) = \begin{pmatrix} a_1&0&\cdots&0\\ 0&a_2&\cdots&0\\ \vdots&\vdots&\ddots&\vdots\\ 0&0&\cdots&a_n \end{pmatrix}.diag(a1​,a2​,…,an​)=​a1​0⋮0​0a2​⋮0​⋯⋯⋱⋯​00⋮an​​​.

每个对角矩阵既是上三角矩阵,也是下三角矩阵。

3.7 数量矩阵

主对角线元素都是同一个常数 aaa 的对角矩阵称为数量矩阵:

diag⁡(a,a,…,a)=aIn.\operatorname{diag}(a,a,\ldots,a)=aI_n.diag(a,a,…,a)=aIn​.

3.8 单位矩阵

主对角线元素全为 111、其他元素全为 000 的方阵称为单位矩阵:

In=(10⋯001⋯0⋮⋮⋱⋮00⋯1).I_n= \begin{pmatrix} 1&0&\cdots&0\\ 0&1&\cdots&0\\ \vdots&\vdots&\ddots&\vdots\\ 0&0&\cdots&1 \end{pmatrix}.In​=​10⋮0​01⋮0​⋯⋯⋱⋯​00⋮1​​.

课程中也使用 EEE 表示单位矩阵。InI_nIn​ 是 a=1a=1a=1 时的数量矩阵。

全部元素都是 111 的矩阵不是单位矩阵;单位矩阵只有主对角线上是 111。

4. 特殊矩阵之间的关系

单位矩阵⊂数量矩阵⊂对角矩阵⊂{上三角矩阵,下三角矩阵⊂方阵.\text{单位矩阵}\subset\text{数量矩阵}\subset\text{对角矩阵} \subset \begin{cases} \text{上三角矩阵},\\ \text{下三角矩阵} \end{cases} \subset\text{方阵}.单位矩阵⊂数量矩阵⊂对角矩阵⊂{上三角矩阵,下三角矩阵​⊂方阵.

零方阵既是上三角矩阵、下三角矩阵和对角矩阵,也是 a=0a=0a=0 的数量矩阵;非方形零矩阵则不属于这些方阵类别。

5. NumPy / PyTorch 对照

NumPy

import numpy as np

A = np.array([
    [3, 0, 5, 4],
    [1, 1, 1, 1],
])

print(A.shape)       # (2, 4)
print(A[0, 2])       # 5;对应数学记号 a_13

O = np.zeros((2, 4), dtype=int)
D = np.diag([1, 2, 3])
I = np.eye(3, dtype=int)
U = np.triu(np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]))
L = np.tril(np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]))

B = A.copy()
print(np.array_equal(A, B))  # True:整体判断两个矩阵是否相等
print(-A)                    # 负矩阵

经验:

  • 现代 NumPy 代码通常使用 np.ndarray,不建议使用旧的 np.matrix 类型。
  • A.shape 是后续所有矩阵运算中最先检查的信息。
  • A == B 返回逐元素布尔数组;判断整个矩阵是否完全相等使用 np.array_equal(A, B)。
  • 浮点计算存在舍入误差时,通常使用 np.allclose(A, B),而不是要求逐位完全相等。
  • np.ones((3, 3)) 是全 111 矩阵,不是单位矩阵;单位矩阵使用 np.eye(3)。

PyTorch

import torch

X = torch.tensor([[3, 0, 5, 4], [1, 1, 1, 1]])
O = torch.zeros(2, 4)
I = torch.eye(3)
mask = torch.tril(torch.ones(4, 4))

print(X.shape)  # torch.Size([2, 4])

PyTorch 的矩阵概念与 NumPy 一致,但张量还可以有三维、四维甚至更多维。二维张量就是本节所说的矩阵。

6. 与大模型的联系

  • 数据批次常写成 B×dB\times dB×d 矩阵:BBB 是样本数,ddd 是特征数。
  • 一段文本的 token 表示常是 T×dT\times dT×d 矩阵:TTT 是序列长度,ddd 是隐藏维度。
  • Transformer 的注意力分数常形成 T×TT\times TT×T 方阵。
  • 因果注意力用三角形遮罩阻止当前位置看到未来 token,代码中常见 torch.tril(...)。
  • 关系矩阵可以表示图中节点之间的连接,也就是图的邻接矩阵。

这些应用首先都依赖同一件事:清楚每个矩阵的 shape,以及每一行、每一列分别代表什么。

本节自检

  1. 能否只看 shape 判断两个矩阵是否同型?
  2. 矩阵相等为什么比同型多一个条件?
  3. aija_{ij}aij​ 中的 i,ji,ji,j 分别表示什么?
  4. 为什么行向量与含有相同元素的列向量不相等?
  5. 对角矩阵、数量矩阵、单位矩阵之间是什么包含关系?
  6. np.ones((3, 3)) 与 np.eye(3) 有什么不同?

原始课程材料

课堂截图

12 张
2.1 矩阵的概念课堂截图 1
01-矩阵与关系表示.png
2.1 矩阵的概念课堂截图 2
02-矩阵的定义与元素.png
2.1 矩阵的概念课堂截图 3
03-同型矩阵与矩阵相等.png
2.1 矩阵的概念课堂截图 4
04-例01-由矩阵相等求参数.png
2.1 矩阵的概念课堂截图 5
05-方阵及其阶数.png
2.1 矩阵的概念课堂截图 6
06-列矩阵与零矩阵.png
2.1 矩阵的概念课堂截图 7
07-例02-负矩阵.png
2.1 矩阵的概念课堂截图 8
08-上三角与下三角矩阵.png
2.1 矩阵的概念课堂截图 9
09-对角矩阵.png
2.1 矩阵的概念课堂截图 10
10-数量矩阵.png
2.1 矩阵的概念课堂截图 11
11-单位矩阵.png
2.1 矩阵的概念课堂截图 12
12-单位矩阵板书补充.png
上一份答案与解析下一份课堂例题