1.前言
笔者会从函数的角度切入,通过函数与矩阵的关系直观地引入线性代数的核心概念。随后,我们将从换基的角度重新审视矩阵的运算原理,探索如何通过基的选取优化矩阵计算的效率。这种从函数到矩阵、从几何直观到运算优化的渐进式结构,旨在帮助读者全面理解线性代数的理论框架与实际应用。
2. 函数
2.1 函数的定义
函数是数学中描述对应关系的一种特殊集合,即映射关系的集合。粗略地说,从集合 S 1 S_1 S 1 到集合 S 2 S_2 S 2 的函数将 S 2 S_2 S 2 的一个元素恰好分配给 S 1 S_1 S 1 的每个元素。集合 S 1 S_1 S 1 称为函数的 Domain \text{Domain} Domain ,集合 S 2 S_2 S 2 称为函数的 Codomain \text{Codomain} Codomain 。函数的数学定义为:
f : S 1 → S 2 f:S_1\to S_2 f : S 1 → S 2
根据定义,函数是一种非常抽象的数学概念,对其 Domain \text{Domain} Domain 和 Codomain \text{Codomain} Codomain 的类型并无严格限制。然而,在实际应用中,我们通常需要将函数的 Domain \text{Domain} Domain 和 Codomain \text{Codomain} Codomain 限定在具体的范围内,以便描述和解决现实中的问题。
因此,为了解决实际问题,我们常将 Domain \text{Domain} Domain 和 Codomain \text{Codomain} Codomain 设定为与问题情境相关的具体集合。
2.2 线性变换(函数)
线性变换是线性代数中的核心概念之一,它描述了向量空间之间的映射关系。具体来说,从 R n \mathbb{R}^n R n 到 R m \mathbb{R}^m R m 的函数 T T T ,如果满足以下两个条件:
保持向量加法:T ( u + v ) = T ( u ) + T ( v ) T(\mathbf{u} + \mathbf{v}) = T(\mathbf{u}) + T(\mathbf{v}) T ( u + v ) = T ( u ) + T ( v ) 。
保持数乘运算:T ( c u ) = c T ( u ) T(c\mathbf{u}) = cT(\mathbf{u}) T ( c u ) = c T ( u ) ,其中 c c c 是标量。
那么我们称函数 T T T 为线性变换。
2.3 矩阵变换(函数)
2.3.1 矩阵变换的定义
给定一个 m × n m \times n m × n 矩阵 A A A ,定义 T A : R n → R m T_A : \mathbb{R}^n \to \mathbb{R}^m T A : R n → R m 为 T A ( x ) = A x T_A(\mathbf{x}) = A\mathbf{x} T A ( x ) = A x ,称其为由矩阵 A A A 引出的矩阵变换(matrix transformation)。
对于任意 m × n m \times n m × n 矩阵 A A A 和向量 u , v ∈ R n \mathbf{u}, \mathbf{v} \in \mathbb{R}^n u , v ∈ R n ,以下性质成立:
T A ( u + v ) = T A ( u ) + T A ( v ) T_A(\mathbf{u} + \mathbf{v}) = T_A(\mathbf{u}) + T_A(\mathbf{v}) T A ( u + v ) = T A ( u ) + T A ( v ) 。
T A ( c u ) = c T A ( u ) T_A(c\mathbf{u}) = cT_A(\mathbf{u}) T A ( c u ) = c T A ( u ) ,其中 c c c 为任意标量。
这表明由矩阵 A A A 引出的矩阵变换是线性变换。
2.3.2 标准矩阵
对于一个线性变换 T : R n → R m T: \mathbb{R}^n \to \mathbb{R}^m T : R n → R m ,存在唯一的 m × n m \times n m × n 矩阵 A A A ,其形式为:
A = [ T ( e 1 ) T ( e 2 ) ⋯ T ( e n ) ] , A = [T(\mathbf{e}_1) \ T(\mathbf{e}_2) \ \cdots \ T(\mathbf{e}_n)], A = [ T ( e 1 ) T ( e 2 ) ⋯ T ( e n )] ,
其中 e 1 , e 2 , … , e n \mathbf{e}_1, \mathbf{e}_2, \dots, \mathbf{e}_n e 1 , e 2 , … , e n 是 R n \mathbb{R}^n R n 的标准基向量。该矩阵的列向量是这些标准基向量在 T T T 下的像,且满足 T ( v ) = A v T(\mathbf{v}) = A\mathbf{v} T ( v ) = A v 对所有 v ∈ R n \mathbf{v} \in \mathbb{R}^n v ∈ R n 成立。而矩阵 A = [ T ( e 1 ) T ( e 2 ) ⋯ T ( e n ) ] A = [T(\mathbf{e}_1) \ T(\mathbf{e}_2) \ \cdots \ T(\mathbf{e}_n)] A = [ T ( e 1 ) T ( e 2 ) ⋯ T ( e n )] 被称为 T T T 的标准矩阵(standard matrix)。
2.5 将矩阵的作用量化
矩阵作为一种特殊的函数,其性质可以通过多个重要特征来量化描述。其中,行列式是表征矩阵性质的核心工具,它不仅反映了矩阵的基本特性,还提供了深入理解矩阵变换的几何意义的途径。
在现代线性代数应用中,行列式主要用于辅助计算矩阵的其他特征(如特征值和特征向量),而较少直接作为计算目标。这种工具性的定位使行列式在理论分析和实际计算中都发挥着重要作用。
3. 简化矩阵(函数)运算
3.1 引言
矩阵运算是线性代数的重要基础,在科学计算、数据处理和工程应用中扮演着关键角色。然而,直接进行矩阵运算可能面临计算复杂度高和资源消耗大的问题。为了提高计算效率,简化矩阵运算成为一个重要研究方向。通过引入合适的基,可以将复杂的矩阵运算分解为更简单的步骤,从而显著减少计算开销,同时保留矩阵变换的本质特性。
3.2 基
3.2.1 现实生活中的基
在日常生活中,我们经常使用不同的基来描述同一事物。例如:
颜色表示:
RGB基:使用红、绿、蓝三种基色的比例来表示颜色
CMYK基:使用青、品红、黄、黑四种基色的比例来表示颜色
位置表示:
经纬度基:使用经度和纬度来描述地球上的位置
笛卡尔基:使用x、y、z坐标来描述三维空间中的位置
时间表示:
24小时制:以24小时为基表示时间
12小时制:以12小时为基表示时间
这些例子说明,选择合适的基可以使特定问题的表述和计算变得更加简便。类似地,在线性代数中,通过选择适当的基,可以简化矩阵运算。
3.2.2 线性代数中的基
设 V V V 是 R n \mathbb{R}^n R n 的一个非零子空间。V V V 的基(basis) 是 V V V 的一个 线性无关的生成集(linearly independent generation set) 。
举例:R n \mathbb{R}^n R n 的标准基(standard basis):
{ e 1 , e 2 , … , e n } \{ \mathbf{e}_1, \mathbf{e}_2, \dots, \mathbf{e}_n \} { e 1 , e 2 , … , e n }
3.3 坐标系统
3.3.1 坐标系统的定义
在向量空间 R n \mathbb{R}^n R n 中,坐标系统由基 B = { b 1 , b 2 , … , b n } \mathcal{B} = \{\mathbf{b}_1, \mathbf{b}_2, \dots, \mathbf{b}_n\} B = { b 1 , b 2 , … , b n } 决定。对于任意向量 v ∈ R n \mathbf{v} \in \mathbb{R}^n v ∈ R n ,存在唯一的一组标量 c 1 , c 2 , … , c n c_1, c_2, \dots, c_n c 1 , c 2 , … , c n ,使得:
v = c 1 b 1 + c 2 b 2 + ⋯ + c n b n . \mathbf{v} = c_1\mathbf{b}_1 + c_2\mathbf{b}_2 + \cdots + c_n\mathbf{b}_n. v = c 1 b 1 + c 2 b 2 + ⋯ + c n b n .
向量
[ c 1 c 2 ⋮ c n ] \begin{bmatrix}
c_1 \\
c_2 \\
\vdots \\
c_n
\end{bmatrix} c 1 c 2 ⋮ c n
被称为 v \mathbf{v} v 关于基 B \mathcal{B} B 的 坐标向量 (coordinate vector),记作 [ v ] B [\mathbf{v}]_{\mathcal{B}} [ v ] B 。
这表明,每个向量在给定基下可以用一组唯一的坐标表示,从而建立了向量与其坐标之间的对应关系。
3.3.2 向量的坐标转换
若 B \mathcal{B} B 是 R n \mathbb{R}^n R n 的一组基,且基 B \mathcal{B} B 中的向量构成一个矩阵 B B B ,则 B B B 是可逆矩阵。对于任意 v ∈ R n \mathbf{v} \in \mathbb{R}^n v ∈ R n ,有:
B [ v ] B = I n [ v ] E = v , 或等价地: [ v ] E = B − 1 I n [ v ] E = B − 1 v . B[\mathbf{v}]_\mathcal{B} = I_n[\mathbf{v}]_\mathcal{E} = \mathbf{v}, \quad \text{或等价地:} \ [\mathbf{v}]_\mathcal{E} = B^{-1}I_n[\mathbf{v}]_\mathcal{E} = B^{-1}\mathbf{v}. B [ v ] B = I n [ v ] E = v , 或等价地: [ v ] E = B − 1 I n [ v ] E = B − 1 v .
需要注意的是,坐标只是向量的一种表示方式,不会改变向量的本质属性(大小和方向)。因此,同一个向量在不同坐标系统中的表示可以不同,但其本质上仍是相同的向量。
3.3.3 矩阵的坐标变换
设 T T T 是 R n \mathbb{R}^n R n 上的一个线性算子,B = { b 1 , b 2 , … , b n } \mathcal{B} = \{\mathbf{b}_1, \mathbf{b}_2, \dots, \mathbf{b}_n\} B = { b 1 , b 2 , … , b n } 是 R n \mathbb{R}^n R n 的一组基,则矩阵
[ T ] B = [ [ T ( b 1 ) ] B [ T ( b 2 ) ] B ⋯ [ T ( b n ) ] B ] [T]_{\mathcal{B}} = \begin{bmatrix}
[T(\mathbf{b}_1)]_{\mathcal{B}} & [T(\mathbf{b}_2)]_{\mathcal{B}} & \cdots & [T(\mathbf{b}_n)]_{\mathcal{B}}
\end{bmatrix} [ T ] B = [ [ T ( b 1 ) ] B [ T ( b 2 ) ] B ⋯ [ T ( b n ) ] B ]
称为 T T T 关于基 B \mathcal{B} B 的矩阵表(矩阵坐标),记作 [ T ] B [T]_{\mathcal{B}} [ T ] B 。
矩阵的坐标形式只是线性变换的一种表示方式,并不会改变线性变换的本质属性。具体而言,[ T ( b i ) ] B [T(\mathbf{b}_i)]_{\mathcal{B}} [ T ( b i ) ] B 表示线性变换 T T T 作用于基向量 b i \mathbf{b}_i b i 后,在基 B \mathcal{B} B 下的坐标表达形式。无论采用何种坐标系,矩阵坐标所描述的线性变换本质上始终保持不变。因此,矩阵坐标的变换仅是表示方式的切换,并不会对线性变换的实际作用产生任何影响。
下面举例说明线性变换 T T T 从标准坐标系到任意基坐标的线性变换表示。
已知条件线性变换 T T T 和基 B \mathcal{B} B 以及 基 B \mathcal{B} B 中的向量所组成的矩阵 B \mathbf{B} B :
T [ x 1 x 2 x 3 ] = [ 3 x 1 + x 2 x 1 + x 2 − x 1 − x 2 + 3 x 3 ] , B = [ b 1 b 2 b 3 ] = [ 1 1 2 1 2 1 1 3 1 ] T\begin{bmatrix}x_1 \\ x_2 \\ x_3\end{bmatrix} =
\begin{bmatrix}
3x_1 + x_2 \\
x_1 + x_2 \\
-x_1 - x_2 + 3x_3
\end{bmatrix},
\mathbf{B} = \begin{bmatrix}
\mathbf{b}_1 & \mathbf{b}_2 & \mathbf{b}_3
\end{bmatrix} =
\begin{bmatrix}
1 & 1 & 2 \\
1 & 2 & 1 \\
1 & 3 & 1
\end{bmatrix} T x 1 x 2 x 3 = 3 x 1 + x 2 x 1 + x 2 − x 1 − x 2 + 3 x 3 , B = [ b 1 b 2 b 3 ] = 1 1 1 1 2 3 2 1 1
对 b 1 , b 2 , b 3 \mathbf{b}_1, \mathbf{b}_2, \mathbf{b}_3 b 1 , b 2 , b 3 分别应用 T T T ,得到:
T ( b 1 ) = [ 4 2 1 ] , T ( b 2 ) = [ 6 3 6 ] , T ( b 3 ) = [ 7 3 0 ] T(\mathbf{b}_1) = \begin{bmatrix} 4 \\ 2 \\ 1 \end{bmatrix}, \quad
T(\mathbf{b}_2) = \begin{bmatrix} 6 \\ 3 \\ 6 \end{bmatrix}, \quad
T(\mathbf{b}_3) = \begin{bmatrix} 7 \\ 3 \\ 0 \end{bmatrix} T ( b 1 ) = 4 2 1 , T ( b 2 ) = 6 3 6 , T ( b 3 ) = 7 3 0
通过公式 [ T ( b i ) ] B = B − 1 T ( b i ) [T(\mathbf{b}_i)]_{\mathbf{B}} = \mathbf{B}^{-1}T(\mathbf{b}_i) [ T ( b i ) ] B = B − 1 T ( b i ) ,分别计算:
[ T ( b 1 ) ] B = [ 3 − 1 1 ] , [ T ( b 2 ) ] B = [ − 9 3 6 ] , [ T ( b 3 ) ] B = [ 8 − 3 1 ] [T(\mathbf{b}_1)]_{\mathbf{B}} = \begin{bmatrix} 3 \\ -1 \\ 1 \end{bmatrix}, \quad
[T(\mathbf{b}_2)]_{\mathbf{B}} = \begin{bmatrix} -9 \\ 3 \\ 6 \end{bmatrix}, \quad
[T(\mathbf{b}_3)]_{\mathbf{B}} = \begin{bmatrix} 8 \\ -3 \\ 1 \end{bmatrix} [ T ( b 1 ) ] B = 3 − 1 1 , [ T ( b 2 ) ] B = − 9 3 6 , [ T ( b 3 ) ] B = 8 − 3 1
将结果合并,得到:
[ T ] B = [ 3 − 9 8 − 1 3 − 3 1 6 1 ] [T]_{\mathbf{B}} =
\begin{bmatrix}
3 & -9 & 8 \\
-1 & 3 & -3 \\
1 & 6 & 1
\end{bmatrix} [ T ] B = 3 − 1 1 − 9 3 6 8 − 3 1
如果线性变换 T T T 在标准基下的矩阵表示为 A A A ,则 T T T 在任意基 B \mathcal{B} B 下的矩阵表示为:
[ T ] B = B − 1 A B [T]_{\mathcal{B}} = \mathbf{B}^{-1} A \mathbf{B} [ T ] B = B − 1 A B
其中,B \mathbf{B} B 是由基 B \mathcal{B} B 的向量组成的矩阵。
3.3.4 相似矩阵
在3.3.3 矩阵的坐标变换 这一章节中,我们讨论了矩阵的坐标变换。通过选择合适的基,可以将复杂的矩阵运算简化为更易处理的形式。接下来,我们将介绍相似矩阵的概念。
对于矩阵 A , B ∈ R n × n A, B \in \mathbb{R}^{n \times n} A , B ∈ R n × n ,如果存在一个可逆矩阵 P P P 使得:
B = P − 1 A P B = P^{-1}AP B = P − 1 A P
则称矩阵 A A A 和 B B B 相似 (similar)。
相似矩阵的概念在不改变线性变换本质的前提下,为我们提供了一种简化线性变换分析的方法。实质上,相似这一概念本质上还是矩阵的坐标变换。通过相似矩阵,我们可以将复杂的矩阵运算转化为更简单的形式,从而更高效地进行计算和分析。
例如,存在一个基 P \mathcal{P} P ,其所对应的矩阵为 P P P ,使得矩阵 A A A 在基 P \mathcal{P} P 下矩阵表示为对角矩阵 D ∈ R n × n D \in \mathbb{R}^{n \times n} D ∈ R n × n ,则有:
D = P − 1 A P D = P^{-1}AP D = P − 1 A P
已知 D D D 的情况下,可以通过相似变换逆推出 A A A :
A = P D P − 1 A = PDP^{-1} A = P D P − 1
在后续学习特征值和特征向量时,我们将详细讨论如何构建基 P \mathcal{P} P ,以找到对应的对角矩阵 D D D ,从而简化矩阵运算。
3.4 特征值和特征向量
3.4.1 引言
在线性代数中,线性变换的特征向量构成了一组特殊的基。在这组基下,矩阵可以被表示为对角矩阵。这种表示形式能够显著简化幂次运算等复杂计算。
3.4.2 特征值和特征向量的定义
设 T T T 是 R n \mathbb{R}^n R n 上的一个线性算子。如果存在非零向量 v ∈ R n \mathbf{v} \in \mathbb{R}^n v ∈ R n 和标量 λ \lambda λ 满足:
T ( v ) = λ v T(\mathbf{v}) = \lambda \mathbf{v} T ( v ) = λ v
则称 v \mathbf{v} v 为 T T T 的一个 特征向量 (eigenvector),λ \lambda λ 为对应的 特征值 (eigenvalue)。
实质上,特征向量是那些经过线性变换 T T T 后仅发生伸缩或反向伸缩的向量,其中特征值 λ \lambda λ 描述了伸缩的比例。当 λ < 0 \lambda < 0 λ < 0 时,表示发生了反向伸缩。
3.4.3 代数重数
如果 λ \lambda λ 是矩阵 M ∈ R n × n M \in \mathbb{R}^{n \times n} M ∈ R n × n 的一个特征值,则满足 ( t − λ ) k (t - \lambda)^k ( t − λ ) k 是 M M M 的特征多项式(即 det ( M − t I n ) \det(M - tI_n) det ( M − t I n ) )因子的最大正整数 k k k ,称为 λ \lambda λ 的 代数重数 (algebraic multiplicity)。
3.4.4 几何重数
特征值 λ \lambda λ 对应的特征子空间(eigenspace)的维数称为 λ \lambda λ 的 几何重数 (geometric multiplicity)。
需要注意的是,特征子空间的维数(即几何重数)小于或等于特征值 λ \lambda λ 的代数重数(algebraic multiplicity)。
3.5 矩阵对角化
3.5.1 为什么需要矩阵对角化?
在实际计算中,矩阵 A A A 的多次幂次运算(如 A m A^m A m )往往会导致计算复杂度显著增加。这是因为直接进行矩阵幂次计算需要反复执行矩阵乘法,其计算量随 m m m 的增加呈指数增长。
为了解决这一问题,可以通过矩阵对角化来简化幂次计算。矩阵对角化将普通矩阵 A A A 转换为对角矩阵 D D D ,具体形式为:
A = P D P − 1 A = PDP^{-1} A = P D P − 1
其中:
P P P 是由 A A A 的特征向量组成的矩阵;
D D D 是由 A A A 的特征值构成的对角矩阵。
利用对角化性质,可以将 A m A^m A m 的计算转化为:
A m = ( P D P − 1 ) m = P D m P − 1 A^m = (PDP^{-1})^m = PD^mP^{-1} A m = ( P D P − 1 ) m = P D m P − 1
而 D m D^m D m 的计算只需要将对角矩阵的每个对角元素分别取 m m m 次幂。因此,对角化显著降低了计算复杂度。
通过这种方法,可以高效地实现矩阵的幂次运算,从而为大规模计算和实际应用提供了理论和计算支持。
3.5.2 矩阵对角化的定义
对于一个 n × n n \times n n × n 的矩阵 A A A ,如果存在一个对角矩阵 D D D 和一个可逆矩阵 P P P 使得:
A = P D P − 1 A = PDP^{-1} A = P D P − 1
则称矩阵 A A A 是 可对角化的 (diagonalizable)。
根据定义,矩阵 A A A 与对角矩阵 D D D 是相似矩阵。对角化的关键在于:
如何找到基矩阵 P P P ?
如何确定对角矩阵 D D D ?
3.5.3 矩阵可相似对角化的判定
矩阵可相似对角化的充要条件 :一个 n × n n \times n n × n 矩阵 A A A 是可对角化的,当且仅当:R n \mathbb{R}^n R n 存在一个基(basis),这个基完全由 A A A 的特征向量(eigenvectors)组成。在实际计算中,使用几何重数和代数重数来判断矩阵是否可相似对角化。
矩阵相似对角化的具体实现 :若 P P P 是一个 n × n n \times n n × n 的可逆矩阵,D D D 是一个 n × n n \times n n × n 的对角矩阵,则 A A A 可表示为:
A = P D P − 1 A = PDP^{-1} A = P D P − 1 。当且仅当:
P P P 的列向量是 A A A 的特征向量,且这些列向量构成 R n \mathbb{R}^n R n 的一个基。
D D D 的对角线元素是对应列向量(特征向量)的特征值。