2.1线性代数(矩阵与方程组)

前言

随着越深入的学习专业知识,越觉得自身在数学方面的基础实在薄弱,故从今天开始从头啃书,本次学习的教材是Steven J.Leon的《Linear Algebra with Applications》。

之所以选择这本书的原因是想看一看外国教材对于线性代数有没有独到的知识体系,虽然从调研的结果来看Gilbert Strang的《Introduction to Linear Algebra》的口碑更佳,无奈原版书太贵,网上有一些“热心人”会分享电子版,我会同时参考两本书进行线性代数的学习。

1. 线性方程组

1.1 相容/不相容 方程组

如下方程组:
\begin{aligned}
4+x_2&=2\\
4-x_2&=1\\
\end{aligned}
因为不存在实数能同时满足上述两个方程,故方程组无解
如果线性方程组无解,则称该方程组是不相容的(inconsistent)
如果线性方程组至少存在一个解,则称该方程组是相容的(consistent)

1.2 方程组的解集

线性方程组的所有解的集合称为方程组的解集(solution set)
如果方程组不相容,则其解集为空集。相容的线性方程组解集必非空。
因此,求解线性方程组,就是寻找其解集。

1.3 “等价”方程组

若两个含有相同变量的方程组具有相同的解集则称他们是等价的(equivalet)
共有三种运算可以得到等价的方程组:

  1. 交换任意两个方程的顺序;
  2. 任意方程两边同乘一个非零的实数;
  3. 任一方程的倍数加到另一方程上。

对于给定的方程组,可以使用这些运算得到一个容易求解的等价方程组。

1.4 方便求解的方程组形式——严格三角形

若方程组中,第$k$个方程的前$k-1$个变量的系数均为零,且$x_k(k=1,\cdots,n)$的系数不为零,则称该方程组为严格三角形的(strict triangular form)
如下例:
\begin{aligned}
3x_1 + 2x_2 + x_3 &= 1\\
x_2 - x_3 &= 2\\
2x_3 &= 4
\end{aligned}
即为严格三角形的,因此容易求解——由最后一个方程依次向上迭代即可。称这种求解严格三角形方程组的办法为回代法(back substitution)

1.5 方程组对应的“系数矩阵”

写下一个方程组:
\begin{aligned}
x_1+2x_2+x_3&=3\\
3x_1-1x_2-3x_3&=-1\\
2x_1+3x_2+x_3&=4
\end{aligned}
将上述方程组与一个以$x_i$的系数为元的$3*3$数字阵列联系起来。

\begin{equation}
\left[
\begin{array}{rrr}
1&2&1\\
3&-1&-3\\
2&3&1
\end{array}
\right]
\end{equation}

这个阵列称为方程组的系数矩阵(coefficient matrix)。简单的说,矩阵(matrix)就是一个矩形的数字阵列。
如果在系数矩阵右侧添加一列方程组的右端项,可得到一个新的矩阵:
\begin{equation}
\left[
\begin{array}{rrr|r}
1 & 2 & 1 & 3\\
3 & -1 & -3 & -1\\
2 & 3 & 1 & 4
\end{array}
\right]
\end{equation}
这个矩阵称作方程组的增广矩阵(augmented matrix)。对应于一开始提到的方程组。用于得到等价方程组的三个计算,可对应于下列增广矩阵的行运算。

初等行运算:

  1. 交换两行;
  2. 以非零实数乘以某行;
  3. 将某行替换为它与其他行的倍数的和。

对增广矩阵处理的例子如下:
\begin{equation}
\left[
\begin{array}{rrr|r}
1 & 2 & 1 & 3 \\
3 & -1 & -3 & -1 \\
2 & 3 & 1 & 4
\end{array}
\right]
=
\left[
\begin{array}{rrr|r}
1 & 2 & 1 & 3 \\
0 & -7 & -6 & -10 \\
0 & -1 & -1 & -2
\end{array}
\right]
=
\left[
\begin{array}{rrr|r}
1 & 2 & 1 & 3 \\
0 & -7 & -6 & -10 \\
0 & 0 & -\frac{1}{7} & -\frac{4}{7}
\end{array}
\right]
\end{equation}
最后得到的增广矩阵,即是与源方程组等价的严格三角形方程组的增广矩阵。使用回代法容易得到此方程的解。

2. 行阶梯形

2.1 如何得到“行阶梯形”

上节中介绍了将n×n的线性方程组化简为严格三角形方程组的办法。但是,若在化简过程中的某一步,主元所有可能的选择只能是0,上述介绍的方法将无法继续下去。
例:考虑如下增广矩阵表示的方程组:
\begin{equation}
\left[
\begin{array}{rrrrr|r}
1 & 1 & 1 & 1 & 1 & 1\\
-1 & -1 & 0 & 0 & 1 & -1\\
-2 & -2 & 0 & 0 & 3 & 1\\
0 & 0 & 1 & 1 & 3 & -1\\
1 & 1 & 2 & 2 & 4 & 1\\
\end{array}
\right]
\end{equation}
化简为:
\begin{equation}
\left[
\begin{array}{rrrrr|r}
1 & 1 & 1 & 1 & 1 & 1\\
0 & 0 & 1 & 1 & 2 & 0\\
0 & 0 & 0 & 0 & 1 & 3\\
0 & 0 & 0 & 0 & 0 & -4\\
0 & 0 & 0 & 0 & 0 & -3\\
\end{array}
\right]
\end{equation}
最终得到的系数矩阵不是严格的三角形的;它是阶梯形(staircase)的。

2.2 如何利用“行阶梯形”

因为上述增广矩阵的后两行的原因,得知其所代表的方程组不相容,稍稍进行修改一下使其相容。
\begin{equation}
\left[
\begin{array}{rrrrr|r}
1 & 1 & 1 & 1 & 1 & 1\\
0 & 0 & 1 & 1 & 2 & 0\\
0 & 0 & 0 & 0 & 1 & 3\\
0 & 0 & 0 & 0 & 0 & 0\\
0 & 0 & 0 & 0 & 0 & 0\\
\end{array}
\right]
\end{equation}
增广矩阵每一行第一个非零元对应的变量称为首变量(lead variables),化简过程中跳过的列对应的变量称为自由变量(free variables)
因此,在上述增广矩阵对应的方程组中,$x_1,x_3,x_5$为首变量,$x_2,x_4$为自由变量
将自由变量移到等式右端,我们得到方程组:
\begin{equation}
\begin{aligned}
x_1+x_3+x_5&=1-x_2-x_4 \\
x_3+2x_5&=-x_4 \\
x_5&=3
\end{aligned}
\end{equation}
对每一对给定的$x_2,x_4$,均存在唯一解

2.3 “行阶梯形矩阵的定义”

定义:若一个矩阵满足:

  1. 每一非零行中的第一个非零元为1;
  2. 第$k$行的元不全为零时,第$k+1$行首变量之前的零的个数多余第$k$行首变量之前零的个数;
  3. 所有元素均为零的行必在不全为零的行之后。

则称其为行阶梯形矩阵(row echelon form)
判断下列矩阵是否是行阶梯形矩阵:
\begin{equation}
\left[
\begin{array}{rrr}
2&4&6\\
0&3&5\\
0&0&4
\end{array}
\right]
,
\left[
\begin{array}{rrr}
0&0&0\\
0&1&0
\end{array}
\right]
,
\left[
\begin{array}{rr}
0&1\\
1&0
\end{array}
\right]
\end{equation}

2.4 高斯消元法

定义:

利用初等行运算,将线性方程组的增广矩阵化为行阶梯形的过程称为高斯消元法(Gaussian elimination)

如含有如下形式的行:
\begin{equation}
\left[
\begin{array}{rrrr|r}
0&0&\cdots&0&1\\
\end{array}
\right]
\end{equation}
则该方程组不相容。否则,该方程组将相容。
若方程组相容且行阶梯形矩阵的非零行构成了严格三角形方程组,则该方程组存在唯一解

2.5 方程个数$\neq$未知量个数

在实际的计算中,假如方程个数与未知量个数相等,且方程组不相关(这个概念后面会提到,简而言之就是方程组里面的任一方程并不能由其它方程线性组合得到)。那么方程组存在唯一解或无解。讨论方程个数与未知量个数不同的情况:
方程个数$>$未知量个数——超定方程组;
方程个数$<$未知量个数——亚定方程组

2.5.1 超定方程组

超定方程组通常是(并不总是)不相容的。
\begin{equation}
\left[
\begin{array}{rr|r}
1&1&1\\
1&-1&3\\
-1&2&-2
\end{array}
\right]
\Rightarrow
\left[
\begin{array}{rr|r}
1&1&1\\
0&1&-1\\
0&0&1
\end{array}
\right]
\end{equation}
根据化简后最后一行可知该方程组并不相容。

2.5.2 亚定方程组

亚定方程组通常是(并不总是)相容的,如果亚定方程组有解,那么不可能只有唯一解。
假设环境:未知量个数为n,方程个数为m,亚定方程组中n$>$m,而系数矩阵的行阶梯形矩阵必有r$<=$m个非零行,因此必有r个首变量及$n-r$个自由变量,若方程组是相容的,我们可给自由变量任意赋值,求得首变量的值。
因此,一个相容的亚定方程组将有无穷多组解。

2.6 行最简形

定义:若一个矩阵满足:

  1. 矩阵是行阶梯形的;
  2. 每一行的第一个非零元是该列唯一的非零元。
    则称该矩阵为行最简形(reduced row echelon form)

采用基本行运算将矩阵化为行最简形的过程称为“高斯-若尔当消元法”(Gauss-Jordan redction)
下例采用高斯-若尔当消元法解方程组:
\begin{equation}
\left[
\begin{array}{rrrr|r}
-1&1&-1&3&0\\
3&1&-1&-1&0\\
2&-1&-2&-1&0
\end{array}
\right]
\Rightarrow
\left[
\begin{array}{rrrr|r}
-1&1&-1&3&0\\
0&4&-4&8&0\\
0&1&-4&5&0
\end{array}
\right]
\\
\Rightarrow
\left[
\begin{array}{rrrr|r}
-1&1&-1&3&0\\
0&4&-4&8&0\\
0&0&-3&3&0
\end{array}
\right]
\Rightarrow
\left[
\begin{array}{rrrr|r}
1&-1&1&-3&0\\
0&1&-1&2&0\\
0&0&1&-1&0
\end{array}
\right]
\\
\Rightarrow
\left[
\begin{array}{rrrr|r}
1&-1&0&-2&0\\
0&1&0&1&0\\
0&0&1&-1&0
\end{array}
\right]
\Rightarrow
\left[
\begin{array}{rrrr|r}
1&0&0&-1&0\\
0&1&0&1&0\\
0&0&1&-1&0
\end{array}
\right]
\end{equation}
若令$x_4$为任意实数a,则可以推出$x_1=a,x_2=-a,x_3=a$,形如这种的解均为方程组的解。

3. 矩阵算术

本节将引入矩阵和向量的标准记号,并定义矩阵的算术运算(加减乘)。引入两种附加运算:标量乘法和转置
我们的目的是:

  1. 了解如何表示包含矩阵和向量的线性方程组;
  2. 推导出线性方程组相容的定理。

3.1 基本定义

标量
矩阵中的元素称为“标量(scalar)”。
矩阵记号
使用$a_{ij}$表示矩阵A的第i行第j列的元素,并用$(i,j)$表示它。
有时还将矩阵简记为$A=(a_{ij})$。
向量
由于仅有一行或一列的矩阵可以用来表示线性方程组的解,因此特别值得注意。具有m个线性方程n个变量的线性方程组的解是一个实的n元组。我们以后称由实数组成的n元组为向量(vector)
如果n元组表示为一个1×n的矩阵,则称为行向量(row vector)
如果n元组表示为一个n×1的矩阵,则称为列向量(column vector)
所有n×1的实矩阵构成的集合称为n维欧几里得空间(Euclidean n-space)
相等
若两个矩阵相等,则:

  1. 它们维数相等;
  2. 它们对应的元素必相等。
    定义

    若两个m*n矩阵A和B对任一$i$和$j$均满足$a_{ij}=b_{ij}$,则称他们是相等(equal)

标量乘法
设A为一矩阵,$\alpha$为一标量,则$\alpha$A为将A中的任一元素乘以$\alpha$而构成的一个矩阵。
矩阵加法
两个相同维数矩阵的加法可通过对应元素相加得到。
定义

设$A=(a_{ij})$和$B=(b_{ij})$都是mn矩阵,则他们的和(sum)A+B也是一个mn矩阵,对每一个有序对(i,j),它的(i,j)元素为$a_{ij}+b_{ij}$。

矩阵乘法及线性方程组

  1. 一个方程有多个未知量
    例如考虑方程:
    \begin{equation}
    3x_1+2x_2+5x_3=4\\
    \end{equation}
    若另:
    \begin{equation}
    A =
    \left[
    \begin{array}{rrr}
    3&2&5
    \end{array}
    \right]

    x =
    \left[
    \begin{array}{r}
    x_1\\
    x_2\\
    x_3
    \end{array}
    \right]
    \end{equation}
    并定义乘以Ax为:
    \begin{equation}
    Ax=
    \left[
    \begin{array}{rrr}
    3&2&5
    \end{array}
    \right]
    \left[
    \begin{array}{r}
    x_1\\
    x_2\\
    x_3
    \end{array}
    \right]
    =3x_1+2x_2+5x_3
    \end{equation}
    注意,左侧的行向量与右侧的列向量乘积的结果为一个标量。因此这种乘法通常称为标量积(scalar product)
  2. m个方程n个未知量
    \begin{equation}
    \left{
    \begin{aligned}[c]
    a_{11}x_1+a_{12}x_2+a_{13}x_3&=b_1\\
    a_{21}x_1+a_{22}x_2+a_{23}x_3&=b_2\\
    a_{31}x_1+a_{32}x_2+a_{33}x_3&=b_3
    \end{aligned}
    \right.\\
    \Downarrow\\
    \left[
    \begin{array}{rrr}
    a_{11}&a_{12}&a_{13}\\
    a_{21}&a_{22}&a_{23}\\
    a_{31}&a_{32}&a_{33}
    \end{array}
    \right]
    \left[
    \begin{array}{r}
    x_1\\
    x_2\\
    x_3
    \end{array}
    \right]
    =
    \left[
    \begin{array}{r}
    b_1\\
    b_2\\
    b_3
    \end{array}
    \right]\\
    \Downarrow\\
    x_1
    \left[
    \begin{array}{r}
    a_{11}\\
    a_{21}\\
    a_{31}
    \end{array}
    \right]
    +
    x_2
    \left[
    \begin{array}{r}
    a_{12}\\
    a_{22}\\
    a_{32}
    \end{array}
    \right]
    +
    x_3
    \left[
    \begin{array}{r}
    a_{13}\\
    a_{23}\\
    a_{33}
    \end{array}
    \right]
    =
    \left[
    \begin{array}{r}
    b_1\\
    b_2\\
    b_3
    \end{array}
    \right]
    \end{equation}
  3. 线性组合

    若$a_1,a_2,\cdots,a_n$为$R^m$中的向量,且$c_1,c_2,\cdots,c_n$为标量,则和式:
    $c_1a_1+c_2a_2+\cdots+c_na_n$
    称为向量$a_1,a_2,\cdots,a_n$的一个线性组合(linear combination)

符号规则
正如通常的代数,如果表达式中既包含乘法也包含加法,且没有使用括号指明运算的顺序,那么乘法先于加法运算。这同样适用于标量乘法和矩阵乘法。
矩阵的转置
定义

一个m×n矩阵A的转置(transpose)为n×m矩阵B,定义为$b_{ji}=a_{ij}$,其中$j=1,\cdots,n$和$i=1,\cdots,m$。
A的转置为$A^{T}$

定义

一个n×n的矩阵A,若满足$A^T=A$,则称为对称的(symmetric)

4 矩阵代数

实数的代数法则可能适用也可能不适用矩阵。本节给出一些矩阵代数中有用的法则。

4.1 代数法则

在下面的定理中给出了一些矩阵代数中有用的法则。

定理
在定义了需要的运算后,下述法则对任何标量$\alpha$和$\beta$及矩阵A,B和C都是成立的。
\begin{equation}
\begin{aligned}[l]
A+B&=B+A\\
(A+B)+C&=A+(B+C)\\
(AB)C&=A(BC)\\
A(B+C)&=AB+AC\\
(A+B)C&=AC+BC\\
(\alpha \beta)A&=\alpha A+\beta A\\
\alpha(AB)&=(\alpha A)B\\
&=A(\alpha B)\\
(\alpha + \beta)A&=\alpha A+\beta A\\
\alpha(A+B)&=\alpha A+\alpha B
\end{aligned}
\end{equation}
(在上述等式中,形如A、B表示为矩阵,形如为$\alpha,\beta$表示为实数,或者称为标量)

4.2 单位矩阵

定义:
n×n的单位矩阵(identity martrix)为矩阵I=($\delta$_{ij}),其中
\begin{equation}
\delta _{ij} =
\left{
\begin{aligned}[l]
1(i=j)\\
0(i \neq j)
\end{aligned}
\right.
\end{equation}

4.3 矩阵的逆

4.4 转置的代数法则

4.5 对称矩阵和网络

5 初等矩阵

5.1 等价方程组

5.2 初等矩阵

如果从单位矩阵$I$开始,只进行一次初等行运算,得到的矩阵称为初等(elementary)矩阵。分别对应于三类初等行运算,有三类初等矩阵。

  1. 第一类初等矩阵由交换矩阵I的两行得到;
  2. 第二类初等矩阵由单位矩阵I的某一行乘以一个非零常数得到;
  3. 第三类初等矩阵由矩阵I的某一行的倍数加到另一行得到。

定理1.5.1
若E为一初等矩阵,则E是非奇异的,且$E^{-1}$为一与它同类型的初等矩阵。

定义
若存在一个有限初等矩阵的序列$E_1,E_2,\cdots,E_k$ 使得
\begin{equation}
\begin{aligned}[l]
B=E_kE_{k-1}\cdots E_1A
\end{aligned}
\end{equation}
则称A与B是等价的。

容易得到以下行等价矩阵的性质:

  1. 若A与B是行等价的,则B与A是行等价的;
  2. 若A与B是行等价的,且B与C是行等价的,则A与C是行等价的。

    定理1.5.2
    令A为一n×n矩阵,则下列命题是等价的:

  3. A是非奇异的;
  4. Ax=0仅有平凡解0
  5. A与I行等价。

推论1.5.3:
当且仅当A非奇异时,n个未知量n个方程的线性方程组Ax=b有唯一解。

5.3 对角矩阵和三角形矩阵

  1. 上三角矩阵
    严格三角形对应的系数矩阵必为对角元素非零的上三角矩阵。
  2. 下三角矩阵
  3. 对角矩阵
    对角矩阵即是上三角矩阵,也是下三角矩阵。

    5.4 三角形分解

    观察矩阵B:
    \begin{equation}
    \begin{aligned}[l]
    B=E_kE_{k-1}\cdots E_1A
    \end{aligned}
    \end{equation}
    可以分解成
    \begin{equation}
    \begin{aligned}[l]
    E_kE_{k-1}\cdots E_1
    \end{aligned}

    A
    \end{equation}
    两部分。
    左边可以整合成一个矩阵,形为下三角矩阵;右边是用行阶梯形化的矩阵,是上三角矩阵。
    结论是一个n×n矩阵可以分解成一个下三角矩阵和上三角矩阵的乘积,称为LU分解。

    6 分块矩阵

    通常,将矩阵看成由若干子矩阵复合而成很有用。一个矩阵C可通过在其行中画一条横线,并在其列中画一条竖线划分成较小的矩阵。这种较小的矩阵通常称为块(block)

    6.1 分块乘法

    假如A是一个m×n矩阵,B是一个n×r矩阵。经常将A和B分块,并将它们的乘积表示为她恩的子矩阵乘积的形式。考虑如下四种情形:
  4. \begin{equation}
    A
    \left[
    \begin{aligned}[rrr]
    B_1&&B_2
    \end{aligned}
    \right]
    =
    \left[
    \begin{aligned}[rrr]
    AB_1&&AB_2
    \end{aligned}
    \right]
    \end{equation}
  5. \begin{equation}
    \left[
    \begin{aligned}[r]
    A_1\\
    A_2
    \end{aligned}
    \right]
    B=
    \left[
    \begin{aligned}[r]
    A_1B\\
    A_2B
    \end{aligned}
    \right]
    \end{equation}
  6. \begin{equation}
    \left[
    \begin{aligned}[rrr]
    A_1&&A_2
    \end{aligned}
    \right]
    \left[
    \begin{aligned}[r]
    B_1\\
    B_2
    \end{aligned}
    \right]
    =
    A_1B_1+A_2B_2
    \end{equation}
  7. \begin{equation}
    A=
    \left[
    \begin{array}{ccc}
    A_{11}&\cdots&A_{1t}\\
    \vdots&&\\
    A_{s1}&\cdots&A_{st}
    \end{array}
    \right]\\
    B=
    \left[
    \begin{array}{ccc}
    B_{11}&\cdots&A_{1r}\\
    \vdots&&\\
    A_{t1}&\cdots&A_{tr}
    \end{array}
    \right]\\
    AB=
    \left[
    \begin{array}{ccc}
    C_{11}&\cdots&C_{1r}\\
    \vdots&&\\
    C_{s1}&\cdots&C_{sr}
    \end{array}
    \right]
    \end{equation}

    6.2 外积展开

    给定$R^n$中的两个向量x和y,若首先将其中一个向量转置,则这两个向量即可进行矩阵乘法。
    这里面会存在两种情况:
    一是一个行向量与一个列向量相乘,得到一个标量;这种乘积称为标量积(scalar product)或者内积(inner product)
    二是一个列向量和行向量相乘,得到一个矩阵,称为外积(outer product)。外积展开在很多应用中起着重要的作用。