线性代数的几何实质

Starlight237

2019-05-16 22:37:39

K12 Study

Part -1

感谢3b1b的视频提供了部分思路与图片。
感谢ComeIntoPower对本文的修改建议。
感谢CSDN提供了一张图片。
感谢luogu图床。

Part 0

应@ComeIntoPower的宝贵建议,针对oier的需求对文章内容进行了修改。感兴趣的可以见原版。

Part 1 线性空间的概念

1.1 向量的实质

首先搬出一般的定义:同时具有大小与方向的量。但对于oiers来说,事实上m维向量就是具有m个元素的列表,例如stl中就把动态数组作为vector(向量)。线性代数中,常常把向量的起点认为是原点,而终点就可以唯一地表示一个向量。

在第一种意义上,向量指导了在空间中的运动。向量\alpha=(a_1,...,a_n)表示分别向第i个坐标轴上移动a_i的长度。两个向量的相加运算就是先后执行两个运动,显然有(\alpha+\beta)_i=\alpha_i+\beta_i。以此为基础理解数乘,即得(k\alpha)_i=k\alpha_i

在第二种意义上,n维向量是用n个独立元素来确定一件事物。例如我们只关心一本书的页码和价格,就可以向量用(pages,prices)来表示这本书。向量的加法和数乘就是多个书的叠加。

数学上,我们会折合两种说法。鉴于线性变换的意义,规定一切满足普通向量的相加和数乘性质的量都是向量。例如函数也是向量(详见后文)。

这些性质有严谨的八条法则,这里仅加以概括:加法交换律、结合律与数乘分配律。

1.2 线性组合、张成的空间与基向量

线性组合:若干个向量\alpha_i,对于任何一组数a_i,称a_1\alpha_1+a_2\alpha_2+...+a_m\alpha_m为它们的线性组合。通过几个以原点为起点的向量的线性组合,能够到达的所有区域称为它们张成的空间。

线性无关:若干个向量不能用彼此的线性组合表示出,则称它们线性无关。

在n维空间中,有一组特别的向量,它们是每个坐标轴上的单位向量。即i=(1,0,0,0,...),j=(0,1,0,0,...),k=(0,0,1,0,...)等等。通过向量加法的定义,我们可以知道它们可以张成整个n维空间,也就是说,能够通过线性组合表示出任意n维线性空间的向量。这一组特别的向量称为标准正交基,它们是长度为1、互相垂直的向量。

但是可以发现,事实上任意n个线性无关的向量都能够张成全空间。如果以它们作为单位向量,显然也可以构建出一个向量空间。但如果线性相关,则有一个“单位向量”显然会和剩余n-1个向量属于同一个n-1维平面(这一点很显然,请自行思考)。这样就只能张成小于n维的空间了。

n维空间这组线性无关的向量称为它的一组基向量

Part 2 矩阵的本质与线性变换

“变换”一词其实就是“函数”的花哨写法。它接受一个输入向量,并给出一个输出向量。在变换中,有一类是比较容易理解且用处较多的,它们被叫做线性变换。何谓“线性”?即满足任何一条直线变换后仍是直线、原点位置不变的变换。换句话说,满足坐标网格变换后平行且等距。

那么我们究竟如何用数值来表示这一变换呢?事实上,由于线性变换的性质,我们只需要考虑基向量是如何变换的。以二维空间为例,在输入空间里,基是(1,0)(0,1),但输出空间中,基可能变成了(0,1)(-1,0)(注:这是逆时针旋转90°的操作)。由于网格线平行等距,变换前的线性组合仍然成立。也就是说向量(a,b)=a(1,0)+b(0,1),在新的空间中便是a(0,1)+b(-1,0)=(-b,a)。我们记录变换后的基向量的位置,把他们从左到右写一遍,凑成一个方阵\begin{pmatrix}0&-1\\1&0\end{pmatrix},则这个线性变换可以唯一地用这个方阵表示,称为“矩阵”,并且定义\begin{pmatrix}0&-1\\1&0\end{pmatrix}\begin{pmatrix}a\\b\end{pmatrix}是变换后的向量,即\begin{pmatrix}0a-1b\\1a+0b\end{pmatrix}

类似地,推广到n维空间,可以得到:

A=\begin{pmatrix}a_{11}&a_{12}&...&a_{1n}\\a_{21}&a_{22}&...&a_{2n}\\...&...&...&...\\a_{n1}&a_{n2}&...&a_{nn}\end{pmatrix}\begin{pmatrix}x_1\\x_2\\...\\x_n\end{pmatrix}=\begin{pmatrix}\sum\limits_{1\le i\le n}a_{1i}x_i\\\sum\limits_{1\le i\le n}a_{2i}x_i\\...\\\sum\limits_{1\le i\le n}a_{ni}x_i\end{pmatrix}

但是,我们目前所述的所有矩阵,都是n\times n的方阵。那么非方阵的n\times m矩阵又是怎么回事?

事实上,线性变换并非n维到n维,一个从n维到m维的变换是完全合理的。例如以下的变换:

这是一个二维到三维的变换,可以看出,输出空间是一个三维空间中的斜面。我们同样把变换后的基向量坐标拼接在一起,成为一个3\times2的矩阵:

\begin{pmatrix}Trans(e1_x)&Trans(e2_x)\\Trans(e1_y)&Trans(e2_y)\\Trans(e1_z)&Trans(e2_z)\end{pmatrix}

第一列和第二列分别是两个基e1和e2变换后的坐标。这个矩阵与二维向量相乘,并输出一个三维向量。这就是非方阵的意义。

总结一下重点

矩阵与线性变换一一对应。由于在线性变换前后同一线性组合的系数不变,则变换前后任意一个向量都可以写作基向量的同一线性组合,故我们可以用变换后的基唯一表示一个线性变换。我们将变换后的基向量从左到右写成一张数表,将其称为矩阵。线性变换作用于向量上,定义为矩阵左乘一个向量。

这里是时候讲矩阵乘法了。

考虑对X先作一个线性变换B,再作一个线性变换A,显然结果是A(BX)=ABX(说明:矩阵乘法从左往右算,但是对应的线性变换是从右往左分别执行)。考虑到B是变换后的基,再作变换A,最终基落在AB_i,其中i表示第i个基。因此我们用A对B中每个矩阵分别相乘,得到:

(AB)_{ij}=\sum\limits^m_{k=1}A_{ik}B_{kj}

事实上,由于线性变换并不一定与执行顺序无关,矩阵乘法没有交换律。

补充说明:“变换F执行后,网格线平行且等距”一性质,与下面的两条法则完全等价:

F(f+p)=Ff+Fp,F(kf)=kFf

为了保证oier对这方面知识的充分理解,我们再举个形象的例子:

有一个向量,在标准正交基下

\begin{pmatrix}x\\y\end{pmatrix}=x\begin{pmatrix}1\\0\end{pmatrix}+y\begin{pmatrix}0\\1\end{pmatrix}

现在将空间作顺时针旋转45°变换,如图,基向量变为:

\hat{i}=\begin{pmatrix}1\\-1\end{pmatrix},\hat{j}=\begin{pmatrix}1\\1\end{pmatrix}

则这个向量变换后为

\begin{pmatrix}1&1\\-1&1\end{pmatrix}\begin{pmatrix}x\\y\end{pmatrix}=\begin{pmatrix}x+y\\y-x\end{pmatrix}

Part3 行列式

在一个矩阵A对应的线性变换下,一个区域广义体积的放大率,称为A的行列式,记作|A|\det(A)。行列式的符号有严格的规定,后文将详述。但如果认为体积非负,那么放大率为行列式的绝对值||A||,在可能有歧义时,本文将行列式记作\det A,绝对值记作|x|

由“网格平行且等距分布”一性质,可得到一推论:任何区域在相同的线性变换下有相同的放大率。因此,只需要考虑标准正交基所形成的n维立方体的放大率。我们说过矩阵代表基的坐标,因此可以用n阶单位阵来表示标准正交基。则:\det A=vol(AI)/vol(I)=vol(A),其中vol表示矩阵每个列向量所构成的n维平行多面体有向体积(即叉积)。

利用行列式几何意义显然可以得到如下性质(A_i表示第i行或列向量):

性质1

\det(A_1,...,a\alpha+b\beta,...,A_m)=a\det(A_1,...,\alpha,...,A_m)+b\det(A_1,...\beta,...,A_m)

性质2(体积有向的体现)

\det(A_1,...,A_i,...,A_j,...,A_m)=-\det(A_1,...,A_j,...,A_i,...,A_m)

性质3

\det(A_1,...,\alpha,...,\alpha,...,A_m)=0

利用这几个性质,有如下推导(E表示单位阵):

(LaTeX太长懒得打了)。

这便是同济《线性代数》书中的定义。其中\tau_\sigma=(-1)^{\text{排列}\sigma\text{的逆序数}}\sigma1,2,3,...,n的一个排列。

注意第6、7个等号后面的式子,有\det(e_{\sigma(1)},...,e_{\sigma(n)})=\tau_\sigma,这就是所谓“有向”体积。读者不妨从逆序数的定义出发,思考一下这个等式的实际意义。

前面的概念比较抽象,举一个二维的例子:

注:ab是向量。

行列式\det(a,b)就是图中黄色部分面积。这是因为矩阵(a,b)对应的线性变换把原来(1,1)的基组成的矩形变换成了图中的平行四边形。故放大率为vol(a,b)/vol(I)=S_{yellow}/1=S_{yellow}

行列式的计算:

基础概念

法一:转上(下)三角行列式,即高斯消元

行列式计算首推此法。

对于下三角行列式,有:

\begin{vmatrix}a_{11}\\a_{21}&a_{22}\\a_{31}&a_{32}&a_{33}\\...\\a_{m1}&a_{m2}&a_{m3}&...&a_{mm}\end{vmatrix}=\prod\limits_{k=1}^ma_{kk}

证:对于行列式展开式的乘积中不为0的元素\tau_\sigma\prod a_{iJ_i},必有J_i<=i,又因为是1-n的一个排列,有\sum J_i=1+2+...+n,可以迭代求出J_i=i。显然\tau_\sigma=(-1)^0=1,所以得证。

应用性质1、2,可以把任何行列式转为这种形式。

例题:求

D=\begin{vmatrix}2&0&1\\1&-4&-1\\-1&8&3\end{vmatrix}

解:第一行加到第二行:

D=\begin{vmatrix}2&0&1\\3&-4&0\\-1&8&3\end{vmatrix}

第三行乘-1/3加到第一行:

D=\begin{vmatrix}\dfrac73&-\dfrac83&0\\3&-4&0\\-1&8&3\end{vmatrix}=\dfrac13\begin{vmatrix}7&-8&0\\3&-4&0\\-1&8&3\end{vmatrix}

第二行乘-2加到第一行:

D=\dfrac13\begin{vmatrix}1&0&0\\3&-4&0\\-1&8&3\end{vmatrix}=-4

为了方便编程实现,一般转成上三角行列式。上三角行列式的值仍然等于对角线元素之积。读者不妨模仿下三角行列式证明之。

法二:按行(列)展开

定理:D=\sum\limits_{1\le j\le m}a_{ij}A_{ij}

求范德蒙德行列式是一个很好的例题。

证明:[here](https://baike.baidu.com/item/%E8%8C%83%E5%BE%B7%E8%92%99%E8%A1%8C%E5%88%97%E5%BC%8F/6081288?fromtitle=%E8%8C%83%E5%BE%B7%E8%92%99%E5%BE%B7%E8%A1%8C%E5%88%97%E5%BC%8F&fromid=15995336&fr=aladdin) **法三:公理化定义法** 此方法一般用于求一些特殊东西的行列式,例如: $$\det F=kp,Ff(x)=kf(px)$$ 为啥?横纵坐标各放大k倍、p倍,总放大率当然是kp啦。至于函数变换为啥能求行列式?Part1有详细解释。 $Ff$为线性变换的充要条件:$f$为向量,且$F(f+g)=Ff+Fg$且$F(kf)=kFf$。 再来一个比较复杂的例子: $$Ff(x)=\int_{-\infty}^{+\infty}f(t)e^{ixt}dt$$ 前面说了函数符合向量的定义,因此这显然是一个线性变换,因为$F(f+g)=Ff+Fg$且$F(kf)=kFf$。 它的逆变换呢?学过**傅里叶变换**的同学可以知道: $$F^{-1}f(x)=\frac1{2\pi}\int_{-\infty}^{+\infty}f(t)e^{-ixt}dt$$ x多了一个负号?这意味着将空间的手性取反。而这并不影响放大率,只影响符号。而由于$\det(kA)=k\det A$,故综上得到:$\det(F^{-1})=-\dfrac1{2\pi}\det(F)$。 又因为$FF^{-1}=I$,所以$\det F*\det F^{-1}=\det(FF^{-1})=\det I=1

代入后得到\det F=\pm\sqrt{2\pi}

几何实质的重要性在这里得到了充分的体现:如果没有树立矩阵与行列式的正确观念,而是使用同济教材中行列式的定义,则此处行列式只能说是“不可计算”。

Part4 逆矩阵、列空间与零空间

逆矩阵

满足AB=BA=I时,称AB互为逆矩阵,记作A=B^{-1}B=A^{-1}

逆矩阵的几何直观是:在线性变换A下,向量X变为了向量Y,现在给出了A和Y,求倒退回X。显然因为AX=Y,故X=A^{-1}AX=A^{-1}Y。因为在一般情况下,执行变换A,再变回来(A^{-1})等于什么都没做(恒等变换)。

然而事实上,当\det A=0时,由于放大率成了0,说明变换后的图形不再具有n维体积,必然降到了一个更低的维度。这就导致了许多个一个向量坐标变换后重叠。非单射函数没有反函数,因此A没有逆矩阵。

逆矩阵的求法如下:

前置概念:

定理:A^{-1}=\dfrac1{|A|}A^{*}

显然A有逆的充要条件是|A|\not=0。利用|AB|=|A||B|可以非常轻松地证明此条件,此处不再赘述。我们把|A|=0的矩阵称为奇异矩阵,否则称为非奇异矩阵

另一种方法:高斯消元

构造增广矩阵[A|I](把A写在左边,I写在右边拼接成的矩阵),用初等变换变换把左边变换为与之等价的对角矩阵。每行提出一个系数,把增广矩阵变换成[I|B]的形式。则B=A^{-1}

证明:因为只有初等变换,所以相当于P[A|I]=[I|B],即PA=I,P=B。因此得证。

一些性质:

(A^{-1})^{-1}=A (kA)^{-1}=\dfrac1k A^{-1} (AB)^{-1}=B^{-1}A^{-1}

例题:

1.求X使AXB=C

解:A^{-1}CB^{-1}=A^{-1}AXBB^{-1}=X

列空间、零空间与秩

三句话概括书中也许十分冗长的定义:

列空间:矩阵的所有列向量张成的空间。
秩:矩阵列空间的维数。记作rank(A)
零空间:使关于向量X的方程AX=O的解空间。

当秩等于矩阵的行数和列数的最小值时,称为满秩。只有秩不满时,空间被变换成一个维度更低的空间,则显然有无数组向量被压缩到原点,只有满秩时,零空间有且仅有一个向量构成。很明显地,一个矩阵为满秩当且仅当行列式非零。

Part5 基变换

现在有一个线性空间,有两组基向量。那么在每一组基下,向量(a,b,...)会被看做这一组基e_1,e_2,...的线性组合ae_1+be_2+...

可以看出,同一个向量在不同的基下有不同的坐标。那么如何把一个向量在两组不同的基中转换?现在的基是一组标准正交基,前面说过那么矩阵的每一列就代表每一个基变换后的坐标。我们把新的基从左到右凑成一个矩阵,称为变换矩阵。用这个矩阵左乘新基下的向量,就能得到这个向量在原有基的意义下的坐标。而现有基下的向量左乘变换矩阵的逆矩阵,即可得到新基下的表示。

例如,向量(a,b)在新的基(1,1),(0,1)下表示为\begin{pmatrix}1&0\\1&1\end{pmatrix}^{-1}\begin{pmatrix}a\\b\end{pmatrix}

在进一步,用新基意义下的一个矩阵A作用在现有基下的向量X,结果用现有基来表示。这个问题如何解决?

可以先对向量做基变换(左乘P^{-1}),再变换回来。设变换矩阵为P,则结果:PAP^{-1}X

这样的变换有什么用武之地呢?下一部分揭晓。

Part6 特征向量与特征值

可以发现,在某些变换后,有一系列向量仍然位于原来的直线上,它们只被进行了缩放,而没有改变方向。求出这些特殊向量使很有价值的,因此有如下定义:
AX=kX,其中k为数,则称X为A的特征向量,k为A的特征值。

(A-kI)X=0,由\det(AB)=\det A\det B得:若X不是零向量,则\det(A-kI)=0

它的一个应用是对角化矩阵:定理:若P^{-1}AP为对角矩阵,则p_i为A的特征向量。

证:设P^{-1}AP=diag(k_1,k_2,...,k_n)=K(注:表示对角线分别为k_1,...,k_n的对角矩阵),则:AP=PK,则显然有Ap_i=k_ip_i,得(A-k_i)p_i=0,即P的第i列向量p_i是A的特征向量,k_i是对应的特征值。

我们结合Part5基变换的知识,可以得到:

A=PKP^{-1}

因此

A^n=PKP^{-1}P...P^{-1}PKP^{-1}=PK^nP^{-1}

这就给出了一个计算矩阵n次幂的有效方法。

例如:斐波那契数列满足:

\begin{pmatrix}F_n\\F_{n-1}\end{pmatrix}=\begin{pmatrix}1&1\\1&0\end{pmatrix}^{n}\begin{pmatrix}0\\-1\end{pmatrix}

那么特征值有\begin{vmatrix}1-k&1\\1&-k\end{vmatrix}=0

解得:k=\dfrac{1\pm\sqrt5}2K=\begin{pmatrix}\dfrac{1+\sqrt5}2&0\\0&\dfrac{1-\sqrt5}2\end{pmatrix}

特征向量:\begin{pmatrix}1&1\\1&0\end{pmatrix}\begin{pmatrix}x\\y\end{pmatrix}=k\begin{pmatrix}x\\y\end{pmatrix}

求解后发现:x=\dfrac{1\pm\sqrt5}2y

取一组简单一点的解:\begin{pmatrix}1+\sqrt5&1-\sqrt5\\2&2\end{pmatrix}

这就得到了P。

剩余内容请自行完成。推荐使用Geogebra软件帮助计算。

这里po出结果:F_n=\dfrac{\sqrt5}5((\dfrac{1+\sqrt5}5)^n-(\dfrac{1-\sqrt5}5)^n)

Part7 克拉默法则

这亦是几何重要性的体现:几何中的线代使冗余的证明大大简化。

方程组

\begin{cases}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}

当其系数矩阵A的行列式非零时,有唯一解:

x_i=\dfrac{|A_i|}{|A|}

其中

|A_i|=\det(A_1,...,A_{i-1},B,...,A_m)

普通的证明可以百度,但这里我们用几何角度来解释。

对于二维变换,我们可以这样理解:

即用平行四边形面积表示x和y。

例如变换AX=\begin{pmatrix}2&-1\\0&1\end{pmatrix}\begin{pmatrix}x\\y\end{pmatrix}=B

我们就可以用这个平行四边形变换后的面积/行列式=x或y。

那么如何求变换后的面积?

显然变换后的基由矩阵给出,则变换后x轴基=(2,0),y轴基=(-1,1)。那么途中粉色的部分变换后显然由方程中的B向量给出。因此,变换后面积=基向量与B构成的平行四边形面积。由于前文讲过的行列式几何意义,有:

x=\dfrac{\begin{vmatrix}b_1&-1\\b_2&1\end{vmatrix}}{\det A},y=\dfrac{\begin{vmatrix}2&b_1\\0&b_2\end{vmatrix}}{\det A}

推广到n维变换,亦是如此。

Part8 一些彩蛋

1.如果认为函数f(x)=\sum\limits_{k=0}^na_kx^k的向量表示如下:

f(x)=\begin{pmatrix}a_0\\a_1x\\a_2x^2\\...\end{pmatrix}

则微分算符D=\dfrac{d}{dx}满足:

D=\begin{pmatrix}0&1&0&0&...\\0&0&2&0&...\\0&0&0&3&...\\...&...&...&...\end{pmatrix}

显然有\det D=0,因为第一列为0。这有一个很好的解释:微分算符D是没有逆运算的。

2.傅里叶变换是可以求特征向量的。它的特征向量为

本文完结

点赞是一种美德