# 线性变换和矩阵
# 线性方程组
⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧4a11a21...am1x1+x1+...x1+a12a22am2x2+...+a1nxn=x2+...+a2nxn=x2+...+amnxn=b1b2bm
形如上述方程组的方程组是线性方程组。当常数项b1,b2,...bm 全部等于 0 时,上述线性方程组为 n 元非齐次线性方程组。当常数项均为 0 时,该式为 n 元齐次线性方程组。
对于线性方程组,我们需要讨论:
- 它是否有解?
- 在有解时该解是否唯一?
- 如果有多个解,如何求出它的所有解?
需要注意的是,对于线性方程组,上述三个问题的答案完全取决于其式中的m∗n 个系数和右端的常数项b1,b2,...bm。或者说,完全取决于它们构成的矩形数表:
a11a21⋮am1a12a22⋮am2.........a1na2n⋮amnb1b2bm
另外,对于齐次线性方程组,相应问题的答案完全取决于:
a11a21⋮am1a12a22⋮am2.........a1na2n⋮amn
# 矩阵
A=⎝⎜⎜⎜⎜⎛a11a21⋮am1a12a22⋮am2.........a1na2n⋮amn⎠⎟⎟⎟⎟⎞
- 如上由m∗n 个数排成的m 行n 列的数表称为m 行n 列矩阵(m∗n 矩阵)。
- 这m∗n 个数称为矩阵A 的元素(元),数aij 位于A 的第i 行第j 列,称为矩阵A 的(i,j) 元。以数aij 为(i,j) 元的矩阵可简记为(aij) 或(aij)max,m∗n 矩阵A 也记作Am∗n。
- 元素是实数 / 复数的矩阵称为实矩阵 / 复矩阵。
- 行数和列数都等于 n 的矩阵称为n 阶矩阵或n 阶方阵。n 阶矩阵A 也记作An。
- 只有一行的矩阵称作行矩阵(行向量)。为了避免元素间的混淆,行矩阵在表示时可以在元素间加逗号。类似地,只有一列的矩阵称作列矩阵(列向量)。
- 两个矩阵的行数、列数均相等时,就称他们是同型矩阵;如果两矩阵既是同型矩阵,对应位置上的元素又相等,则这两个矩阵相等。
- 元素都是零的矩阵称为零矩阵,记作O。
- 除对角线外的元素均是 0。这种矩阵叫做对角(矩)阵,也记作Λ=diag(λ1,λ2,...,λn)
- 除对角线外的元素均是 0,且对角线上的元素均是 1。这样的方阵叫做单位矩阵,记作E。任何矩阵与单位矩阵相乘,等于其自身。
# 线性变换
如n 个变量x1,x2,...,xn 与m 个变量y1,y2,...,ym 之间的关系式:
⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧4a11a21am1x1+x1+…x1+a12a22am2x2+...+a1nxn=x2+...+a2nxn=x2+...+amnxn=y1y2ym
表示的是一个从变量x1,x2,...,xn 到y1,y2,...,ym 的线性变换。为了便于表示和理解,使用矩阵进行表示:
线性变换⎝⎜⎜⎜⎜⎛a11a21⋮am1a12a22⋮am2.........a1na2n⋮amn⎠⎟⎟⎟⎟⎞输入向量⎝⎜⎜⎜⎛x1x2...xn⎠⎟⎟⎟⎞=输出向量⎝⎜⎜⎜⎛y1y2...yn⎠⎟⎟⎟⎞
此处显然使用了矩阵相乘来计算y1,y2,...,ym 的值。但理解该式的意义并不需要会计算它。但为了方便理解,在这里提出:矩阵相乘需要左侧矩阵的列数等于右侧矩阵的行数。
为了便于理解,我们需要先回忆一下高中学习的向量知识:
- 一个二维向量能够被表示为坐标,是因为它可以在向量空间中被表示为基向量i^=(10),j^=(01) 的和(n 维向量同理)。由此,我们为了方便,将向量的一端固定在原点,记录向量另一端的坐标,即可表示相应的向量。
而线性变换即是对基向量的操作。它通过变换基向量变换整个空间。
使用单位矩阵进行举例:
(1001)
使用分块法将矩阵分为两列:
E=(1001)=(i^j^)
其中i^=(10),j^=(01)。
则有:
E(23)=(1001)(23)=(i^j^)(23)=(2i^+3j^)=(2(10)+3(01))=(23)
为了推广到任意二阶矩阵,使用二阶方阵:
(acbd)
该矩阵作为线性变换的几何意义是将基向量i^=(10) 和j^=(01) 拉伸或压缩(也可简单理解为 “替换”)为i^=(ac),j^=(bd)。因为空间(此处为平面)基于基向量展开,所以空间会被拉伸或压缩。在向量被输入到线性变换时:
(acbd)(23)=(2a+3b2c+3d)
输出向量为经过该线性变换后输入向量在i^=(10) 和j^=(01) 的空间下的向量。
三阶矩阵同理:显然,其表示一个三维空间的线性变换。实际上其和二维空间大同小异,只是多了一个基向量k^=⎝⎛001⎠⎞。
类似的,更高阶的线性变换也可以通过该过程理解(只不过无法给出直观的几何解释)。
# 与行列式的联系
# 行列式不等于 0
线性变换拉伸或压缩空间。显然,单位面积的大小发生了改变。此时,行列式的值就等于单位面积大小变化的倍率。有兴趣的可以在纸上画一下自己写出二维的情况(三维太难画了,算了吧)。
值得注意的是,行列式的值可以是负值,但我们平常提到体积和面积等单位的时候不存在负值。为了区别负值的情况,我们引入有向面积和有向体积这种概念。当i^ 和j^ 围成的平行四边形在j^ 以原点为中心的顺时针方向时,行列式为正;反之则为负。
类似地,在三维空间中,我们规定:如果变换后的平行六面体不再符合右手定则,则行列式为负。
右手定则:食指指向i^,中指指向j^,拇指指向k^。
# 行列式等于 0
行列式等于 0,代表该矩阵表示的线性变换将体积 / 面积挤压到没有了。例如:三维空间被挤压为一个平面,一条直线,甚至一个点。
# 非方阵表示的线性变换
虽然非方阵不存在行列式,但它们也可以表示线性变换。此时,它们表示不同维数之间的转换。
显然,此时的面积 / 体积变换倍率要么等于 0,要么就不存在。
例如:
(152)
这个线性变换接收三维空间的向量,将其映射到一条数轴上:
(152)⎝⎛123⎠⎞=17
又例如:
(120506)
这个线性变换同样接收三维空间向量,但将其映射到二维空间上:
(120506)⎝⎛123⎠⎞=(130)
又例如:
⎝⎛123234⎠⎞
这个线性变换接收二维空间向量,但将其映射到三维空间上:
⎝⎛123234⎠⎞(12)=⎝⎛5811⎠⎞
# 复合线性变换
线性变换可以复合。复合的方式就是矩阵相乘。
由于矩阵相乘不满足交换律,我们需要将先发生的变换写在右侧,将先发生的变换作为输入向量输入后发生的线性变换里。
在前面说明时已经用过使用分块法将线性变换拆成基向量的方法。在此,我们就是将线性变换拆成其代表的基向量后,分别代入后一线性变换的变换,从而得到复合的线性变换。例如:
⎝⎛123666⎠⎞(128821)
其中,第一个线性变换(右侧)接收三维向量,将其映射到二维空间;第二个线性变换(左侧)接收二维向量,将其映射到三维空间。所以,它们的复合应该是一个三维到三维的线性变换,即应该是一个 3*3 的矩阵,即:
⎝⎛123666⎠⎞(128821)=⎝⎛13141556647281012⎠⎞
显然,不能相乘的两矩阵所代表的两线性变换不能复合。
# 矩阵的运算
# 加法
设有两个m∗n 矩阵A=(aij) 和B=(bij),那么这两个矩阵的和记为A+B,规定为:
A+B=⎝⎜⎜⎜⎜⎛a11+b11a21+b21⋮am1+bm1a12+b12a22+b22⋮am2+bm2.........a1n+b1na2n+b2n⋮amn+bmn⎠⎟⎟⎟⎟⎞
即相应位置元素相加。显然,类型不同的矩阵不能相加。
矩阵加法满足交换律和结合律。
# 数乘
矩阵数乘,即矩阵和数相乘。我们将数λ 和矩阵 A 的乘积记作λA 或Aλ,规定为:
λA=Aλ=⎝⎜⎜⎜⎜⎛λa11λa21⋮λam1λa12λa22⋮λam2.........λa1nλa2n⋮λamn⎠⎟⎟⎟⎟⎞
# 矩阵与矩阵相乘
placeholder