摘要:要想让线性代数生动起来,除了介绍一些精彩应用的例子,一个可行的办法是强调几何的语言。所谓几何语言,简单讲,就是用线性变换代替矩阵,用抽象向量代替列向量。代数语言具体清晰,而几何语言直观明快。通常的教科书往往过分强调代数语言,导致思路曲折,概念引入缺乏动机,掩盖
要想让线性代数生动起来,除了介绍一些精彩应用的例子,一个可行的办法是强调几何的语言。所谓几何语言,简单讲,就是用线性变换代替矩阵,用抽象向量代替列向量。代数语言具体清晰,而几何语言直观明快。通常的教科书往往过分强调代数语言,导致思路曲折,概念引入缺乏动机,掩盖了线性代数的本质。
本文从“单射”和“满射”入手,引出反函数概念,采用更直观的方式描述逆矩阵。这种观点可能比通常的“−1=−1=”式定义更具几何特色,更能直接、深刻地触及逆矩阵的数学内涵。
撰文|朱慧坚(玉林师范学院数学与统计学院副教授)、丁玖(美国南密西西比大学数学系教授)
我们在之前的文章《矩阵乘法为什么是这样定义的?》中,运用包罗万象的抽象函数概念,论证了矩阵乘法定义中积矩阵元素表达式的合理性和必要性。与矩阵乘积运算直接相关的一个关键术语是“逆矩阵”,同样,我们可以借用反函数的思想来帮助理解这个处处有用的数学对象。
单射和满射
中学教科书里,有一章专讲“反函数”。物理学有个说法,每种基本粒子都有对应的反粒子。可惜,数学不是物理,并非每个函数都有反函数,具有反函数的函数必须满足如下条件:它将定义域一对一地映射到值域上,符合这个要求的函数也被称为单射(injection)。更数学化地说,一对一的函数:→意指,对于定义域中的任意两个元素和,若=,则必定有=;或言之,一对一的函数将定义域中的不同元素映射成值域中的不同元素。
抽象函数:→定义中的两个集合和,第二个集合可以换成任何一个包含它的集合,在集合论的眼里没有发生变化,比如一个将定义域={1,2,…,365}映射到有理数集=当中的函数,也可以被视为将同一个定义域映射到实数集=里;虽然它们各自的并不相同,但本质上是一样的函数。事实上,任何函数:→中的“目标集合”都可以换成的值域,即所有函数值组成的集合。
这样看来,如果:→是一对一的,那么:→不仅是一对一的,而且是映上的,映上的函数也称为满射(surjection)。同时是单射和满射的函数称为双射(bijection),即对于中的任意一个元素,有且仅有中的一个元素使得=。我们称双射为一可逆函数。如果:→将映射到之上,给定函数的“映上”条件保证了上述可逆函数定义中的“有”发生,而“一对一”的假设确保了“仅有”成立。本文为了讨论矩阵求逆问题,我们碰到可逆函数:→时总假设它是一个满射,这样,下一段引进的的反函数将定义在上。
可逆函数:→意味着中的所有元素与中的所有元素,通过形成了一一对应关系。这种相互对应关系构成了定义的“反函数”概念之基础。可逆函数:→的反函数是这样定义的:对于中的任一元素,被映射到的属于的那个唯一存在的元素,就是这个反函数在的值。习惯上我们将:→的反函数记成−1:→,此刻,−1的定义域是的值域,而−1的值域是的定义域。以上的讨论告诉我们:−1=当且仅当=,其中∈及∈。如此的等价关系也导出下列关于原函数和反函数基本关系的两个恒等式:
算子和可逆矩阵
有了高中生熟知的反函数概念作铺垫,我们可用同样的思想引进大学线性代数中逆矩阵的概念。设为任一正整数,记为维欧几里得空间,它由所有维向量=(1,…,)组成,其中每一个分量为任意实数。为了符合矩阵和向量相乘的规则,我们也常把向量理解成或写成列向量的形式。在中人们定义了向量的加法及实数乘以向量的代数运算,使得它成为一个标准的维线性空间。一个有行列的实数矩阵可以被视为将定义域映射到自身内的一个函数:→,通常称为算子,有时也叫变换或映射,该算子在=(1,…,)的值等于=(这时,是列向量,否则不能用左乘它),即的第个分量由代数表达式
=11+22+⋯+
给出,其中=1,2,…,。有时我们不加区别地将矩阵称为算子。易证是线性算子,即(+)=+,其中和为中的任意两个向量,和为任意两个实数。假如由此定义的算子是一对一的,并且值域是,则它作为函数存在反函数−1:→,称为的逆算子,此时是可逆的,而对应的矩阵也被说是可逆的。反之,任一线性算子:→唯一确定一个阶方阵,使得=对中所有都成立,事实上,
=[1,2,…,],
其中对=1,2,…,,单位坐标向量的第个分量为1,其余的分量为0。显而易见,线性算子是一对一的当且仅当它的零空间(定义域中所有被映到零向量的向量全体)是{0},即=0隐含=0。如果线性算子是一对一或映上的,我们也说其对应的矩阵是一对一或映上的。在教科书中,可逆矩阵也常被称为是非奇异的。我们首先验证:逆算子也是线性算子。
为此目的,任给中的两个向量和以及任意两个实数和。令和为中的元素,满足−1=及−1=,则=及=,故(+)=+=+,由此可得
−1(+)=+=−1+−1,
这证明−1和一样是线性算子。
既然−1:→是线性算子,那么存在一个阶方阵,记为−1,使得对所有∈都有−1=−1。这个唯一确定的矩阵−1称为可逆矩阵的逆矩阵。因为线性算子的复合运算对应于矩阵的乘法运算,恒等式(1)用于逆矩阵的一个直接推论是:
−1=−1=,(2)
其中是阶的单位矩阵,其对角元素为1,其余元素为0。单位矩阵和任何矩阵如能合法相乘,即左边矩阵的列数等于右边矩阵的行数,不论它是左乘还是右乘,结果都是那个被乘矩阵,如同数1在算术中的角色。单位矩阵所对应的线性算子是恒等算子,即它把每个向量映到自己。
在绝大多数线性代数教科书中,公式(2)通常用作逆矩阵的定义,即对于给定的阶方阵,如果存在阶方阵,使得等式=和=都成立,则称为的逆矩阵。按照如上的算子观点,在此定义中,第一个等式=意味着是一对一的线性算子(因为若非如此,则存在两个不同的向量和使得=,从而===,与≠矛盾);第二个等式=则隐含具有映上的性质,即值域是(如果≠,则⊆≠不可能等于单位矩阵的值域)。
从前面的定义已经得知,如果一个方阵所定义的线性算子是一对一的,并且值域等于定义域,那么存在同阶的逆矩阵−1,且逆矩阵是唯一的。此时,公式(2)包含的两个矩阵乘积等式为真。这样,我们就懂得了矩阵论中的一个事实:方阵是个一对一和映上的线性算子当且仅当存在方阵满足等式==。
更进一步,上述定义中的条件可以弱化:给定方阵,只要与之同阶的两个方阵和满足==,便有
====,
因而的逆矩阵−1存在且−1==。
用算子的语言很容易理解矩阵求逆运算的几个基本性质,比方说,两个同阶可逆矩阵和的乘积也是可逆矩阵,且−1=−1−1。这是因为双射的复合算子也是双射,而乘积逆矩阵公式来自∙−1−1=−1=和−1−1∙=−1=。
方阵的“单满等价”
到目前为止,事情似乎进行得很顺利很成功,然而,喜欢思考的读者的脑袋瓜里可能会冒出一个疑问:既然属于方阵,形状是特殊的正方形,它或许会像方方正正的君子风范一样,具有比一般狭长形或瘦高形矩阵更好的数学品质?具体来说:作为“一对一”线性算子的方阵是否已经自动具备了“映上”的性质?或者对偶性地问:作为“映上”线性算子的方阵是否已经自动具备了“一对一”的性质?如果对于它们的回答都是“Yes,sir”,那么逆矩阵定义中的两个等式就可以只取其中之一,因为另一个就成为直接推论了。
答案确实是肯定的,即对方阵而言,算子性质“一对一”隐含“映上”,反之算子性质“映上”推出“一对一”。为了解释好这两个重要结论,我们假设读者已经知晓线性空间的代数运算,懂得有限维线性空间的维数概念,理解任何矩阵的值域和零空间都是线性子空间,并且至少能从几何上领会:给定的一个维子空间,存在在中的一个−维补空间,满足直和分解=⊕,即中的所有向量都可以唯一写成中的一个向量和中的一个向量之和。例如,令为−坐标平面上的主对角线=,取为次对角线=−,则该平面是它们的直和。
在后面的讨论中,我们将用到一个基本事实:
引理不存在行列矩阵将的维线性子空间满射到上,其中
在=的特殊情形,上述引理提供了一个能帮助理解逆矩阵概念的漂亮结果:
推论若的维线性子空间满射到上。
在证明引理前,我们先看一个==2的简单例子。设
将2内一个维数是1的子空间满射到2上。由于由一非零向量所张成,它的所有向量都可写成=,其中为一个实数。从
==
可知,将2的一维子空间映射成由向量所张成的维数至多为1的一个线性子空间,而不可能是2。
如上观察完全适用于一般情形。设给定的行列矩阵将内维数为(上。令{1,2,…,}为的一个基底,即这个向量1,2,⋯,是线性无关的(意思是:若1,2,…,不全为零,则11+22+⋯+≠0),并且中的所有向量都可写成
=11+22+⋯+
的形式。然后就有
=(11+22+⋯+)=11+22+⋯+,
故将的维子空间映射成中由向量1,2,…,所张成的维数至多为。引理证毕。
假设是一对一的,则对中任意向量,在中有且仅有一个向量,使得=,这样就定义了一个线性算子:→,使得=。对在内的任一个补空间中的所有向量(后文将证明这个补空间只是{0},即=),定义=0,再通过线性扩展,即对中任意向量=+,其中∈及∈,令=+=,得到线性算子:→,它所对应的矩阵满足=,因而是映上的。假如不是满射,那么它的值域是维欧几里得空间的一个真子空间,即≠,故其维数至多为−1。如此,等式=推出:方阵将的一个维数小于的子空间满射到上。这从上述推论看是不可能的。故是映上的。
现在假设是映上的。若不是一对一的,则零空间的维数至少为1。令为在中的一个补空间,则它的维数至多是−1。这样一来,将中维数满射到维数等于的上。再由推论,这不可能,故是一对一的。
结合之前的讨论我们得知,方阵是单射(满射)当且仅当存在同阶方阵使得=(=)。更进一步,以上的推理论证了只对方阵有效的一个令人喜悦的真理:方阵如果是一对一的,那么它就是映上的,因此它的逆矩阵存在唯一;方阵如果是映上的,那么它就是一对一的,因此它的逆矩阵存在唯一。
至此,我们用高中生都学过、但许多大学生都没有真正领会的反函数思想,证明了如下关于逆矩阵的优美定理:
定理1设为一行列矩阵,则如下结论成立:
(i)如果存在一个行列矩阵,使得=,那么=,故−1存在且等于。
(ii)如果存在一个行列矩阵,使得=,那么=,故−1存在且等于。
非方阵“最多得其一”
上述用于方阵的定理1能推广至非方阵吗?我们先看一个实例,设矩阵有2行3列。使得=的矩阵必须有3行2列,这时的单位矩阵为2阶的;满足=的矩阵也必须有3行2列,但此时单位矩阵为3阶的。我们当前要问的问题是:如果矩阵满足等式=2,它也同时满足等式=3吗?进一步可问更一般的问题:有矩阵满足等式=3吗?我们再次用反函数的观点来求解这个问题。
因为2行3列的矩阵定义了相应的线性算子:3→2,矩阵联立等式=2和=3同时成立意味着既是一对一的,又是映上的,从而存在唯一的线性算子:2→3,使得复合算子和分别是2和3上的恒等算子。根据反函数的定义,这个就是的逆算子。我们证明:逆算子实际上不存在。
如果逆算子:2→3存在,则它必定是个满射,因而其对应的3行2列矩阵将2满射到3上,而这不被上述引理允许,故不存在。
对于更一般的问题,如果=3,则:2→3是映上的,但引理禁止它存在。同样的论据可以证明下列定理:
定理2设为一行列矩阵,则如下结论成立:
(i)如果。
(ii)如果>,则无行列矩阵使得=。
证明思路与对上述2行3列矩阵的分析无异。先证(i)。若=,则将满射到上,这与引理相悖。只要将(i)中的和互换,和互换,结论(i)就变成结论(ii)。
定理2的结论在教科书中通常是用“矩阵秩”的性质证明的。矩阵的秩一般用行列式定义:它是矩阵中不等于0的子行列式的最大阶数。秩的性质包括:它不大于矩阵行数和列数之最小值;矩阵积的秩不大于每个因子的秩。在定理2中乘积和的秩都不大于和的最小值,而这个最小值小于和的最大值,导致结论(i)和(ii)中的等式无法成立。这里采用算子的语言证明了定理2,避免了对矩阵秩概念的依赖性。
自然,当时,一个行列矩阵有可能与一个行列矩阵相配合,使得它们反次序乘出一个阶单位矩阵。一个简单例子是一行二列矩阵=(1,1)和二行一列矩阵=(1,0)。
由此说来,对于非正方形矩阵,把它视为不同维数欧几里得空间之间的线性算子,“单射”和“满射”不可兼得,必定要至少失去其中的一个,因而永远没有经典意义下的逆算子。当然,即便对于方阵,也有可能既无缘于“一对一”,也无法做到“映上”,然而,它一旦“单射”或“满射”得其一,就能“赢者通吃”,拥有逆矩阵也水到渠成。
举个例子,矩阵
是个可逆矩阵,因为通过徒手求解齐次联立方程
1+22=0,31+42=0,
我们得到它的唯一解(1,2)=(0,0),说明是一对一的,因而−1存在。不难验证,
另一方面,如果
则将向量(1,−1)映到零向量,故不是一对一的,因而也不是映上的。
一般矩阵尽管没有经典意义下的逆矩阵,数学家们总有办法在更广泛的意义下定义逆矩阵,称为广义逆矩阵,不过这将是另一篇文章的主题。
怎样求逆矩阵?
没有见过逆矩阵计算公式的读者或许纳闷上例中的2阶逆矩阵是如何获得的。这里我们解析出一般2阶可逆矩阵的逆矩阵公式,并据此推广到一般的可逆矩阵。对于2阶方阵
将齐次方程=0具体写出两个分量的二元一次方程组
1+2=0,1+2=0。
分别用和乘以这两个方程,再相减以消去2,得方程
(−)1=0。
记||=−,称为矩阵的行列式。如果这数等于0,则由上列方程,1可取任意值,再从原方程组解出相应的2。在这种情况下不是一对一的,因而它没有逆矩阵。
如果的行列式||=−≠0,那么上述方程只有零解,即1=0,代入原方程组得2=0。在此情形下,矩阵是一对一的,因而由定理1的结论(i),它是可逆的。上面的推导过程也证明了:二阶矩阵存在逆矩阵的充分必要条件是它的行列式不等于零。
现在我们依然用反函数的观点来求出上述2阶可逆矩阵的逆矩阵。因为原矩阵将列向量(1,0)和(0,1)分别映射到列向量和,所以逆矩阵−1将列向量和分别映射到列向量(1,0)和(0,1)。令
则上述对应关系可以写成关于未知数,,,的如下矩阵方程:
这也正是逆矩阵满足的等式−1=一例。乘出后,我们得到四个线性方程:
+=1,+=0,+=0,+=1,
其唯一解为
这样我们求得2阶可逆矩阵的逆矩阵公式
这个求逆公式可以推广到一般的阶可逆方阵。先将公式(3)变形为
称为原矩阵的伴随矩阵,记为∗,但不要理解为常用此记号的的共轭转置。它的转置矩阵(即第行第列元素是原矩阵的第行第列元素)的每一个元素可以这样得到:划去矩阵的对应位置那个元素所在的行和列,剩下一个元素,它同时也被视为该元素所定义的1行1列矩阵行列式的值,再取合适的符号:如果行指标与列指标之和为偶数,则取正号;如果行指标与列指标之和为奇数,则取负号。比如,要算出∗的第二行第一列元素,划去的第一行第二列元素所在的行和列,剩下元素组成的1阶行列式是,因为1+2为奇数,所以在前添一负号便得∗的第二行第一列元素−。
拉普拉斯展开
上面2阶方阵的伴随矩阵概念可以直接推广,但需借用一般行列式的概念。阶方阵的行列式||在通常的教科书中被定义为!≡(−1)⋯2∙1个带符号乘积之和,其中每个乘积的个因子取自中既不同行又不同列的元素,再赋予一个恰当的正号或负号:当这个元素依照行下标从小到大的自然次序1,2,…,排列时,列下标1,2,…,将构成1,2,…,的一个置换,即将自然次序1,2,…,打乱重排。如果这个置换是偶置换,即满足>及>及
这个行列式的定义语言看似美妙,计算过程却很繁琐,费时费力。好在它有其他等价定义,随时可用,其中一个称为行列式的拉普拉斯展开,由法国数学家拉普拉斯(Pierre-SimonLaplace,1749-1827)首次提出。它的好处是只要定义了−1阶方阵的行列式,就可用这一公式计算阶方阵的行列式。具体做法是,给定阶方阵,任取它的一行或一列,比方说第行,则
||=11+22+⋯+,
其中对=1,2,…,,每个称为元素所对应的的代数余子式,它按如下方法算出:划去所在的行和列,中所剩元素按原先的位置组成一个−1阶的方阵,将(−1)+乘上它的行列式便是。拉普拉斯展开立刻推出,如果方阵的两行或两列相同,则其行列式为0。
作为例子,我们照上法计算一个3阶方阵的行列式,按的第二行展开以获得||的定义表达式。此时,
故由拉普拉斯展开公式,
正如此行列式的3!项3个元素乘积代数和定义所得到的结果。
“花瓶”公式
现在可以推导出可求逆矩阵的逆矩阵表达式了。设为一阶方阵,它的伴随矩阵∗被定义为一个同阶方阵,对所有的,=1,2,…,,其第行第列元素为的第行第列元素所对应的代数余子式。上述关于行列式的按行、按列拉普拉斯展开式告诉我们:对所有的,=1,2,…,,若=,则
11+22+⋯+=||;
若≠,则(由两行或两列恒等的矩阵行列式等于0的性质推得)
11+22+⋯+=0。
换句话说,无论方阵是否可求逆,我们证明了如下等式
或言之,−1存在且
我们以3阶方阵为例演示上述逆矩阵公式。这时,
因此,
从上面可知,即便对像=3这样很小的可逆矩阵,利用伴随矩阵计算逆矩阵的工作量是可观的,比如当是不算很大的100时,所需的乘法个数大于100的阶乘,它远远超过1025,当前最快的计算机也束手无策,跟不上巨量计算的需求。所以,逆矩阵公式(4)只具有理论上的美观性,而缺乏实践上的可行性。
幸亏计算数学家们发展了一套快速计算逆矩阵的算法,其基本思想基于所谓的“高斯消去法”。作为本文的结尾,我们简述用此法求逆的思路。将方阵和同阶的单位矩阵放在一排,看成是一个有行2列的矩阵,记为。对该长方形矩阵进行若干初等行变换,只要将左边的变成单位矩阵,那么右边的就自动变成的逆矩阵−1。为什么呢?
首先说明,总共有三种初等行变换:(1)交换两行;(2)将一非零数乘上一行;(3)某行乘以一数后加到另一行。这三种“人工操作”都等价于将各自对应的“初等行变换矩阵”乘上被施予变换的原矩阵,而行变换矩阵是对同阶单位矩阵做同样变换的结果。更具体地说,“交换两行”之结果,就是先同法交换单位矩阵的两行,再与原矩阵相乘;“≠0乘上一行”等同于乘上单位矩阵的同一行,再与原矩阵相乘;“乘上第行后再加到第≠行”的功效是:对单位矩阵做同样的事,再乘上原矩阵。
需要说明的是,初等行变换不改变可逆矩阵的可逆性,读者可采用本文强调的反函数思想加以证明,方法之一是论证:如果原方阵是一对一的,则每一种行变换后的矩阵也是一对一的。特别地,由于初等行变换矩阵是对可逆的单位矩阵施加行变换的结果,所有行变换矩阵都是可逆的。更一般地,初等行变换保持矩阵的秩不变,但这里我们不再追问“秩”概念的相关推论,留待今后专文谈它。从前面“算子和可逆矩阵”小节中的最后一段可以得出,有限个可逆矩阵的乘积矩阵也是可逆的,所以我们立马可知如下事实:若方阵由方阵经过几步初等行变换得到,则存在可逆矩阵使得=。
初等行变换一旦被解释为对应的行变换矩阵乘以被变换矩阵,就容易证明上面行变换求逆步骤的合理性了。假设在经过次初等行变换后,转化为单位矩阵,而后者同时转化为方阵,那么存在一个可逆矩阵使得
=以及=。
第一个等式说明=−1,第二个等式表示=,从而=−1。
当方阵的尺寸较大时,与用公式(4)计算逆矩阵需要大约!个乘法运算这个天文数字相比,高斯消去法求逆程序至多只需要大概4个乘法。前者随着的增加呈指数级增长,后者则是一种典型的“多项式算法”,即计算量是以的多项式方式增长的。
我们用一个具体的2阶可逆方阵来示范上面的算法。再次令
然后我们开始初等行变换,目标是将变到。第一步,用−3乘以上面2行4列矩阵的第一行,再加到第二行上,使得左下角的3化成0:
第二步,将第二行第二列的−2变为1,这通过用−1/2乘以该行达到:
最后一步,将第一行第二列的2化成0,即用−2乘以第二行,再加到第一行,结果得到
这就算出了逆矩阵
和之前公式(3)得到的结果一模一样。
几何观点
在数学中,任何代数运算都伴随着逆运算的概念,在抽象函数的范畴里,一对一加上映上这两种性质就引出了反函数的术语,将这个高中生早就学过、具有广泛用途的一般概念,用于方阵所定义的将欧几里得空间映到自身的“有限维线性算子”这一特殊情形,我们就可以用反函数的观点看逆矩阵。这种观点,可能比看似简洁的“==”式逆矩阵定义更具几何特色,因而更为直观,更易于理解,并且“直捣”逆矩阵概念的数学核心。这个观点所体现的教学思想,在匈牙利裔美国数学家哈尔莫斯(PaulHalmos,1916-2006)的名著《有限维线性空间》(Finite-DimensionalVectorSpaces)中处处可见,也在他的徒孙阿克斯勒(SheldonAxler,1949-)已再版多次、脍炙人口的大学生教科书《线性代数应该这样学》(LinearAlgebraDoneRight)中继承下来。
阿克斯勒教授走得更远,1995年,他在《美国数学月刊》上发表了一篇阐述性文章《打倒行列式!》(“Downwithdeterminants!”),标题口号也是文章的最后一句,其中的“打倒”一词,会让对它记忆犹新、65岁以上的中国人“大吃一惊”。这篇号召“横扫数学牛鬼蛇神”的战斗檄文,第二年让他将美国数学协会的LesterR.Ford写作奖收入囊中。不过,因为几乎所有线性代数教科书都讲行列式,我们在本文依然用它写下不实用的逆矩阵漂亮公式。我们再次强调,将变换的目光投向逆矩阵的园地,便有几何的阳光照进线性代数的课堂。
来源:玲宝说教育