# 线性变换和矩阵

# 线性方程组

{4a11x1+a12x2+...+a1nxn=b1a21x1+a22x2+...+a2nxn=b2......am1x1+am2x2+...+amnxn=bm\begin{cases}{4}a_{11}&x_1+&a_{12}&x_2+...+a_{1n}x_n=&b_1\\a_{21}&x_1+&a_{22}&x_2+...+a_{2n}x_n=&b_2\\...&...\\a_{m1}&x_1+&a_{m2}&x_2+...+a_{mn}x_n=&b_m\end{cases}

形如上述方程组的方程组是线性方程组。当常数项b1,b2,...bmb_1,b_2,...b_m 全部等于 0 时,上述线性方程组为 n 元非齐次线性方程组。当常数项均为 0 时,该式为 n 元齐次线性方程组

对于线性方程组,我们需要讨论:

  1. 它是否有解?
  2. 在有解时该解是否唯一?
  3. 如果有多个解,如何求出它的所有解?

需要注意的是,对于线性方程组,上述三个问题的答案完全取决于其式中的mnm*n 个系数和右端的常数项b1,b2,...bmb_1,b_2,...b_m。或者说,完全取决于它们构成的矩形数表:

a11a12...a1nb1a21a22...a2nb2am1am2...amnbm\begin{matrix}a_{11}&a_{12}&...&a_{1n}&b_{1}\\a_{21}&a_{22}&...&a_{2n}&b_{2}\\\vdots&\vdots&&\vdots\\a_{m1}&a_{m2}&...&a_{mn}&b_{m}\end{matrix}

另外,对于齐次线性方程组,相应问题的答案完全取决于:

a11a12...a1na21a22...a2nam1am2...amn\begin{matrix}a_{11}&a_{12}&...&a_{1n}\\a_{21}&a_{22}&...&a_{2n}\\\vdots&\vdots&&\vdots\\a_{m1}&a_{m2}&...&a_{mn}\end{matrix}

# 矩阵

A=(a11a12...a1na21a22...a2nam1am2...amn)\bold{A}=\begin{pmatrix}a_{11}&a_{12}&...&a_{1n}\\a_{21}&a_{22}&...&a_{2n}\\\vdots&\vdots&&\vdots\\a_{m1}&a_{m2}&...&a_{mn}\end{pmatrix}

  • 如上由mnm*n 个数排成的mmnn 列的数表称为mmnn 列矩阵(mnm*n 矩阵)。
  • mnm*n 个数称为矩阵A\bold{A} 的元素(元),数aija_{ij} 位于AA 的第ii 行第jj 列,称为矩阵A\bold{A}(i,j)(i,j) 元。以数aija_{ij}(i,j)(i,j) 元的矩阵可简记为(aij)(a_{ij})(aij)max(a_{ij})_{max}mnm*n 矩阵A\bold{A} 也记作Amn\bold{A}_{m*n}
  • 元素是实数 / 复数的矩阵称为实矩阵 / 复矩阵。
  • 行数和列数都等于 n 的矩阵称为nn 阶矩阵或nn 阶方阵。nn 阶矩阵A\bold{A} 也记作An\bold{A}_{n}
  • 只有一行的矩阵称作行矩阵(行向量)。为了避免元素间的混淆,行矩阵在表示时可以在元素间加逗号。类似地,只有一列的矩阵称作列矩阵(列向量)。
  • 两个矩阵的行数、列数均相等时,就称他们是同型矩阵;如果两矩阵既是同型矩阵,对应位置上的元素又相等,则这两个矩阵相等。
  • 元素都是零的矩阵称为零矩阵,记作O\bold{O}

    不同型的零矩阵是不同的。

  • 除对角线外的元素均是 0。这种矩阵叫做对角(矩)阵,也记作Λ=diag(λ1,λ2,...,λn)\bold\Lambda=diag(\lambda_1,\lambda_2,...,\lambda_n)
  • 除对角线外的元素均是 0,且对角线上的元素均是 1。这样的方阵叫做单位矩阵,记作E\bold{E}。任何矩阵与单位矩阵相乘,等于其自身。

# 线性变换

nn 个变量x1,x2,...,xnx_1,x_2,...,x_nmm 个变量y1,y2,...,ymy_1,y_2,...,y_m 之间的关系式:

{4a11x1+a12x2+...+a1nxn=y1a21x1+a22x2+...+a2nxn=y2am1x1+am2x2+...+amnxn=ym\begin{cases}{4}a_{11}&x_1+&a_{12}&x_2+...+a_{1n}x_n=&y_1\\a_{21}&x_1+&a_{22}&x_2+...+a_{2n}x_n=&y_2\\&\dots\\a_{m1}&x_1+&a_{m2}&x_2+...+a_{mn}x_n=&y_m\end{cases}

表示的是一个从变量x1,x2,...,xnx_1,x_2,...,x_ny1,y2,...,ymy_1,y_2,...,y_m 的线性变换。为了便于表示和理解,使用矩阵进行表示:

(a11a12...a1na21a22...a2nam1am2...amn)线性变换(x1x2...xn)输入向量=(y1y2...yn)输出向量\underbrace{\begin{pmatrix}a_{11}&a_{12}&...&a_{1n}\\a_{21}&a_{22}&...&a_{2n}\\\vdots&\vdots&&\vdots\\a_{m1}&a_{m2}&...&a_{mn}\end{pmatrix}}_{\text{线性变换}}\underbrace{\begin{pmatrix}x_1\\x_2\\...\\x_n\end{pmatrix}}_{\text{输入向量}}=\underbrace{\begin{pmatrix}y_1\\y_2\\...\\y_n\end{pmatrix}}_{\text{输出向量}}

此处显然使用了矩阵相乘来计算y1,y2,...,ymy_1,y_2,...,y_m 的值。但理解该式的意义并不需要会计算它。但为了方便理解,在这里提出:矩阵相乘需要左侧矩阵的列数等于右侧矩阵的行数

为了便于理解,我们需要先回忆一下高中学习的向量知识:

  • 一个二维向量能够被表示为坐标,是因为它可以在向量空间中被表示为基向量i^=(10),j^=(01)\hat{i}=\begin{pmatrix}1\\0\end{pmatrix},\hat{j}=\begin{pmatrix}0\\1\end{pmatrix} 的和(nn 维向量同理)。由此,我们为了方便,将向量的一端固定在原点,记录向量另一端的坐标,即可表示相应的向量。

而线性变换即是对基向量的操作。它通过变换基向量变换整个空间。

使用单位矩阵进行举例:

(1001)\begin{pmatrix}1&0\\0&1\end{pmatrix}

使用分块法将矩阵分为两列:

E=(1001)=(i^j^)\bold{E}=\begin{pmatrix}1&0\\0&1\end{pmatrix}=\begin{pmatrix}\hat{i}&\hat{j}\end{pmatrix}

其中i^=(10),j^=(01)\hat{i}=\begin{pmatrix}1\\0\end{pmatrix},\hat{j}=\begin{pmatrix}0\\1\end{pmatrix}
则有:

E(23)=(1001)(23)=(i^j^)(23)=(2i^+3j^)=(2(10)+3(01))=(23)\bold{E}\begin{pmatrix}2\\3\end{pmatrix}=\begin{pmatrix}1&0\\0&1\end{pmatrix}\begin{pmatrix}2\\3\end{pmatrix}=\begin{pmatrix}\hat{i}&\hat{j}\end{pmatrix}\begin{pmatrix}2\\3\end{pmatrix}=\begin{pmatrix}2\hat{i}+3\hat{j}\end{pmatrix}=\begin{pmatrix}2\begin{pmatrix}1\\0\end{pmatrix}+3\begin{pmatrix}0\\1\end{pmatrix}\end{pmatrix}=\begin{pmatrix}2\\3\end{pmatrix}

为了推广到任意二阶矩阵,使用二阶方阵:

(abcd)\begin{pmatrix}a&b\\c&d\end{pmatrix}

该矩阵作为线性变换的几何意义是将基向量i^=(10)\hat{i}=\begin{pmatrix}1\\0\end{pmatrix}j^=(01)\hat{j}=\begin{pmatrix}0\\1\end{pmatrix} 拉伸或压缩(也可简单理解为 “替换”)为i^=(ac),j^=(bd)\hat{i}=\begin{pmatrix}a\\c\end{pmatrix},\hat{j}=\begin{pmatrix}b\\d\end{pmatrix}。因为空间(此处为平面)基于基向量展开,所以空间会被拉伸或压缩。在向量被输入到线性变换时:

(abcd)(23)=(2a+3b2c+3d)\begin{pmatrix}a&b\\c&d\end{pmatrix}\begin{pmatrix}2\\3\end{pmatrix}=\begin{pmatrix}2a+3b\\2c+3d\end{pmatrix}

输出向量为经过该线性变换后输入向量在i^=(10)\hat{i}=\begin{pmatrix}1\\0\end{pmatrix}j^=(01)\hat{j}=\begin{pmatrix}0\\1\end{pmatrix} 的空间下的向量。

三阶矩阵同理:显然,其表示一个三维空间的线性变换。实际上其和二维空间大同小异,只是多了一个基向量k^=(001)\hat{k}=\begin{pmatrix}0\\0\\1\end{pmatrix}

类似的,更高阶的线性变换也可以通过该过程理解(只不过无法给出直观的几何解释)。

# 与行列式的联系

# 行列式不等于 0

线性变换拉伸或压缩空间。显然,单位面积的大小发生了改变。此时,行列式的值就等于单位面积大小变化的倍率。有兴趣的可以在纸上画一下自己写出二维的情况(三维太难画了,算了吧)。

值得注意的是,行列式的值可以是负值,但我们平常提到体积和面积等单位的时候不存在负值。为了区别负值的情况,我们引入有向面积有向体积这种概念。当i^\hat{i}j^\hat{j} 围成的平行四边形在j^\hat{j} 以原点为中心的顺时针方向时,行列式为正;反之则为负。

类似地,在三维空间中,我们规定:如果变换后的平行六面体不再符合右手定则,则行列式为负。

右手定则:食指指向i^\hat{i},中指指向j^\hat{j},拇指指向k^\hat{k}

# 行列式等于 0

行列式等于 0,代表该矩阵表示的线性变换将体积 / 面积挤压到没有了。例如:三维空间被挤压为一个平面,一条直线,甚至一个点。

# 非方阵表示的线性变换

虽然非方阵不存在行列式,但它们也可以表示线性变换。此时,它们表示不同维数之间的转换。

显然,此时的面积 / 体积变换倍率要么等于 0,要么就不存在。

例如:

(152)\begin{pmatrix}1&5&2\end{pmatrix}

这个线性变换接收三维空间的向量,将其映射到一条数轴上:

(152)(123)=17\begin{pmatrix}1&5&2\end{pmatrix}\begin{pmatrix}1\\2\\3\end{pmatrix}=17

又例如:

(100256)\begin{pmatrix}1&0&0\\2&5&6\end{pmatrix}

这个线性变换同样接收三维空间向量,但将其映射到二维空间上:

(100256)(123)=(130)\begin{pmatrix}1&0&0\\2&5&6\end{pmatrix}\begin{pmatrix}1\\2\\3\end{pmatrix}=\begin{pmatrix}1\\30\end{pmatrix}

又例如:

(122334)\begin{pmatrix}1&2\\2&3\\3&4\end{pmatrix}

这个线性变换接收二维空间向量,但将其映射到三维空间上:

(122334)(12)=(5811)\begin{pmatrix}1&2\\2&3\\3&4\end{pmatrix}\begin{pmatrix}1\\2\end{pmatrix}=\begin{pmatrix}5\\8\\11\end{pmatrix}

# 复合线性变换

线性变换可以复合。复合的方式就是矩阵相乘。

由于矩阵相乘不满足交换律,我们需要将先发生的变换写在右侧,将先发生的变换作为输入向量输入后发生的线性变换里。

在前面说明时已经用过使用分块法将线性变换拆成基向量的方法。在此,我们就是将线性变换拆成其代表的基向量后,分别代入后一线性变换的变换,从而得到复合的线性变换。例如:

(162636)(182281)\begin{pmatrix}1&6\\2&6\\3&6\end{pmatrix}\begin{pmatrix}1&8&2\\2&8&1\end{pmatrix}

其中,第一个线性变换(右侧)接收三维向量,将其映射到二维空间;第二个线性变换(左侧)接收二维向量,将其映射到三维空间。所以,它们的复合应该是一个三维到三维的线性变换,即应该是一个 3*3 的矩阵,即:

(162636)(182281)=(13568146410157212)\begin{pmatrix}1&6\\2&6\\3&6\end{pmatrix}\begin{pmatrix}1&8&2\\2&8&1\end{pmatrix}=\begin{pmatrix}13&56&8\\14&64&10\\15&72&12\end{pmatrix}

显然,不能相乘的两矩阵所代表的两线性变换不能复合。

# 矩阵的运算

# 加法

设有两个mnm*n 矩阵A=(aij)\bold{A}=(a_{ij})B=(bij)\bold{B}=(b_{ij}),那么这两个矩阵的和记为A+B\bold{A+B},规定为:

A+B=(a11+b11a12+b12...a1n+b1na21+b21a22+b22...a2n+b2nam1+bm1am2+bm2...amn+bmn)\bold{A+B}=\begin{pmatrix}a_{11}+b_{11}&a_{12}+b_{12}&...&a_{1n}+b_{1n}\\a_{21}+b_{21}&a_{22}+b_{22}&...&a_{2n}+b_{2n}\\\vdots&\vdots&&\vdots\\a_{m1}+b_{m1}&a_{m2}+b_{m2}&...&a_{mn}+b_{mn}\end{pmatrix}

即相应位置元素相加。显然,类型不同的矩阵不能相加。

矩阵加法满足交换律和结合律。

# 数乘

矩阵数乘,即矩阵和数相乘。我们将数λ\lambda 和矩阵 A 的乘积记作λA\lambda\bold{A}Aλ\bold{A}\lambda,规定为:

λA=Aλ=(λa11λa12...λa1nλa21λa22...λa2nλam1λam2...λamn)\lambda\bold{A}=\bold{A}\lambda=\begin{pmatrix}\lambda a_{11}&\lambda a_{12}&...&\lambda a_{1n}\\\lambda a_{21}&\lambda a_{22}&...&\lambda a_{2n}\\\vdots&\vdots&&\vdots\\\lambda a_{m1}&\lambda a_{m2}&...&\lambda a_{mn}\end{pmatrix}

# 矩阵与矩阵相乘

placeholder