再谈矩阵与矩阵乘法

以前写了几篇相关的文章,见
《图示矩阵分块乘法》《理解矩阵与矩阵乘积(三)》《理解矩阵与矩阵乘积(二)》《理解矩阵与矩阵乘积(一)》
如果你从网上搜“理解矩阵”或“矩阵乘积”,还可以搜到孟岩写的系列文章《理解矩阵》以及很多其他作者写的文章。尽管经过很多人的努力,试图说清楚矩阵和矩阵的乘积的最本质的意义,这个问题似乎还在困扰着很多人。

我对矩阵和矩阵乘积的意义的认识,基本上在《图示矩阵分块乘法》中已经阐述,但之所以还要写这篇文章,是因为不论是我的文章,还是网络上其他相关文章,都没有做到把这个问题彻底讲清楚,我是学数学的,和很多其他学数学的人一样习惯上以数学抽象的概念去解释另一个概念,所以讲到矩阵总是会提向量空间,会提向量,但工科的学生往往是不会接触向量空间的概念,所以这种解释虽然我们看起来很直观,对工科的学生往往就很难理解了。还有一般的教材里都会讲到的从线性映射的复合的观点去定义矩阵的乘法,但仍然解释不清乘法规则的本质,尤其解释不了矩阵乘法为什么可以分块进行。

我博士的课题是研究随机矩阵,我的导师之一有无线通讯的背景,所以我有幸接触到一个能够更加直观阐释矩阵的概念和矩阵乘法规则的通讯模型,它虽然是个具体的模型,但我认为它有可能触及到了矩阵和矩阵乘法的最本质的东西。

如图一,考虑在 A 地建有一个发射站,其中有 n 个发射塔,B 地一个接收站,有 m 个接受塔。他们之间要传递的是一组由n 个数组成的信息 (x1,x2,…,xn),这样,这组信息可以由这n个发射塔同时发出,然后m个接收塔会同时收到它们发送过来的数据。

telecom
图一:无线通讯模型,发射-接收

但因为距离等因素的影响,每个发射塔发出的信息到不同的接收塔的过程中会有不同程度的衰减,比如第一个发射塔发出的信息x1到第一个接收塔就变成了 a11x1,等等,它们对应的关系可以列成一个方阵:

接收B\ 发射A    1             2             3         ……            n
1                     a11          a12         a13                       a1n
2                     a21          a22         a23                       a2n
…                     …..           ….          ….                         ….
m                    am1         am2         am3                     ann

这个对应关系的表格其实就是我们的矩阵了。有人可能觉得这只是形式上的对应关系,这些元素只是形式上构成了一个矩阵的形状,和我们数学上的矩阵有什么关系呢?矩阵的乘法在哪里呢?其实关系大得很。考虑一下发射站每发射一条信息 (x1,x2,…,xn),那么在接收站接收到的信息会是什么样子?比如第一个接收塔接到的是所有发射塔给它发的信息,那就是 y1=a11x1+a12x2+…+a1nxn,同理第二个接收塔收到的是 y2=a21x1+a22x2+…+a2nxn,等等。
如果凭直观感觉,如果很多发射塔同时发射信息,所有的接收塔收到的都是这些信息相互混杂的结果,似乎接收端很难分辨还原出原始的信息,就像一群人同时向另一群人喊话,每个人听到的只有混在一起的噪声,根本听不清谁到底说了什么,但是从数学上分析一下会发现,只要接收塔不比发射塔少,只要这个方阵的性质足够好,接收端就可以综合所有接收到的信息并计算还原出原始信息,这就是对线性方程组的研究得出的结论。

接下来考虑,如果B只是个中转站,它也要把它接受到的所有信息原封不动地传给C,那就是下图这样:

telecom2
图二:无线通讯模型:发射-中转-接收

那么C最后接到的信息会是什么样?如果像刚才那样分析从B到C的过程,那C接到的信息就是 z1=b11y1+b12y2+…+b1mym; z2=b21y1+…+b2mym,等等。但是,我现在想把B这个中转站从图中隐去,我想直接制定一个从A到C的发射-接收转换列表,我应该怎么制定呢?怎样才能把下面这个列表填完整呢?

接收C\ 发射A    1             2             3         ……            n
1                       ?
2

r

根据这个表中元素的定义,第一行第一列的元素(记为c11)应该是最原始的信息中的第一个元素 x1 被发射到最终位置C的第一个接收塔的过程中的衰减系数,而从图中不难看出,这个信息元 x1 首先经过一次衰减到达B的m个中转塔,也就有了 m 个分身a11x1, a21x1,…,am1x1,然后这m个分身又分别经过第二次衰减,并集合到C的第一个接收塔那里,于是变成了 a11b11x1+a21b12x1+…+am1b1mx1,那么自然就有
c11=a11b11+a21b12+…+am1b1m。
同理,A的第 i 个发射塔发出的信息要经过 B 的所有中转塔才能最终到达C处的第 j 个接收塔,这就是乘法矩阵中的 cij 要这样定义的原因。对应下面这个矩阵乘法BA的示意图:发射数据 xi 与矩阵 A 的第i列元素相乘之后到达 B 的 m 个中转塔,得到 yk=akixi,然后中转塔的这 m 个数据又分别和矩阵 B 的第 j 行元素乘积,并在 C 的第 j 个塔那里整合起来,于是就有了 cij 的又乘又加的表达式。
telecom3

这个模型里的通信模型只是用来帮助理解和想象,现实生活中有很多模型都可以体现这样的运算关系,比如把通信站换成物流公司,把信息换成货物,矩阵的元素换成路程或运输成本,这就变成了一个物流模型;把信息换成空间中的向量,每个通信塔换成空间的基底,这就能解释空间中的线性映射,等等。

下面接着用通信模型解释矩阵的分块运算。首先理解什么是矩阵的一个子块:让我们先回到(图一)的没有中转站而只有发射和接收站的情形,然后考虑,原有的系统支持n个信息同时发射,但假设我现在要发射的信息没有那么多,只有 m(<n) 个分量,那么我可以只用其中的m 个发射塔;同时因为发射的数据减少了,也就不需要那么多接收塔了,所以我可以把其中的一些发射塔和接收塔关闭。假设剩下的塔之间传递信息的转换关系不变,那么剩下的那些塔就是原来的一个子系统。因为有些塔不工作,所以我也无需考虑跟它们相关的衰减系数,我们把原来矩阵中所有和关闭的塔相关联的行或列都去掉,剩下的矩阵就是这个子系统对应的衰减系数矩阵。

这样就好解释了为什么矩阵分块的乘法也具有同样的运算法则:还是考虑(图二)描述的发射-中转-接收模型,但我们这次以不同的眼光看:我们把发射、中转和接收塔都分别编组,把一组通信塔看成一个整体,那么一个发射组+一个中转组+一个接收组就构成了一个子系统,它们中间的衰减矩阵自然是大矩阵里的子块;而如果我们对这些子系统进行分析,它们之间的传递关系自然和把它们当成单个通信塔的情形是一模一样的:以下是我以前的文章《图示矩阵分块乘法》里贴过的图,想象每个方格里是一组通信塔,再结合那篇文章中论述的向量空间的模型,就不难理解其中的道理了。
zrclip-003n7bdf3aa5.png

最后多说几句我对线性代数中“线性”的认识。我们上面所有的分析,都是在我们所描述的系统可以分拆这个假设的基础上的,也就是上面所说,假定它的任何一个子系统的运行状态不受系统其它部分的干扰,只有这样,我们才能把输入的原始信息分成若干分量,它们通过系统传递之后再进行整合;也只有这样,我们把系统进行分拆,分别研究各个子系统之后再进行综合才是有意义的。所以,线性代数就是拆拆合合的技术,“线性”是我们进行拆拆合合的基础。

怎样用一般幂函数的积分公式理解\(y=1/x\)的积分

前一篇文章用了做定积分最原始的方法——分割做和取极限的方法重新理解了\(y=1/x\)积分中自然对数的来源。本篇文章回答上一篇中提出的问题:怎样把\(y=1/x\)的积分嵌入到常规幂函数积分公式\(\int x^a\mathrm dx=x^{a+1}/(a+1)+C\)中。

如果你试图从公式\(\int x^a\mathrm dx=x^{a+1}/(a+1)+C\)推导\(y=1/x\)的积分,多半会失败,因为把\(a=-1\)带进去,等式右边的分母为零,分子在\(x\neq 0\)时变成了\(1\),整个式子变得没有意义。实际上\(y=1/x\)是幂函数里唯一一个另类,它的积分非但不能简单地从普通幂函数积分公式中得出,其结果反而超越了幂函数的范围。怎样理解这样的不和谐?昨天因为写前一篇文章的缘故,头脑中闪过另外一个念头,最后竟然成功地解释通了这个困扰多年的问题。

这个解释使用幂函数求导公式
\[(x^a)’=ax^{a-1},\> x>0\]
以后的推导中我们都假定\(x>0\),不加赘述。为了使等式右边宝贵的\(x^{a-1}\)不被取\(0\)值的\(a\)破坏,我们把\(a\)移到等式左边:
\[\frac{(x^a)’}{a}=x^{a-1}\]
接下来注意,当\(a=0\)时,等式右边就是我们想要的\(x^{-1}\),但等式左边变成了\(0/0\)。这时自然想到用极限的过程代替直接取值,即令\(a\to 0\),看看等式左边趋于什么极限?这时\(a\)就被理解成一个变量了,我们还是用字母\(y\)代替\(a\)比较好,同时,这里的导数也变成了偏导数:
\[\frac{\partial _x x^y}{y}=x^{y-1}\]
变一下形式理解等式左边:
\[\frac{\partial_x x^y-\partial_x x^0}{y}=x^{y-1}\]
令\(y\to 0\),得到
\[\left. \partial_y(\partial_x x^y)\right |_{y=0}=x^{-1}\]
如果两个偏导符号可以换序,那么我们就能够得到
\[\partial_x(\left. \partial_y x^y\right|_{y=0})=x^{-1}\]
这样等式左边括号里面的函数就是我们要求的函数。括号里面的函数是什么呢?\(\partial_y x^y\)这是个指数函数的求导,\(\partial_y x^y=\partial_y e^{y\ln x} =x^y\ln x\),所以括号里的函数正是\(\left. \partial_y x^y\right|_{y=0}=\ln x\),于是有
\[(\ln x)’=\frac{1}{x}\]
那么上面的两个偏导符号是否可以换序呢?从多元变量分析中得知,当两个二阶偏导数之一在点\((x,0)\)的某个邻域内存在且连续时,两个二阶偏导可以换序。那么计算其中一个二阶偏导数得到(注意:这里只能考察这个二阶偏导,因为另一个二阶偏导在计算的过程中应用了对数函数的导数,这在此时是不合理的。)
\[\partial_y(\partial_x x^y)=x^{y-1}+yx^{y-1}\ln x\]
容易知道它在\((x,0)\)附近都是连续的,这样就保证了这种做法的合理性。

这种方法表面上是兜了一大圈,但它也提供给我们另外的信息:\(y=1/x\)的积分其实没有那么特殊,它是普通幂函数积分公式的一个极限结果。

用定积分的定义计算双曲线下方图形的面积

这篇文章中的内容是逛百度贴吧时的一个意外收获,贴子地址为

http://tieba.baidu.com/p/3475129628

利用微积分的知识可知,反比例函数 \(y=1/x\) 的不定积分是 \(\int \frac{1}{x}\mathrm d x=\ln x+C\),由此得出,贴子中出现的阴影部分的面积要用对数表示,设\(A\)的纵坐标和  \(B\)的横坐标分别是\(y\)和\(x\),那么这个面积是\(1+\ln x+\ln y\)。由此也可以得出,当\(x\)与\(y\)都趋于无穷大时,面积的表达式也趋于无穷大,所以双曲线与坐标轴之间的面积为无穷大。

很多人在学习数学的时候仅仅满足于知道一个结论,或者满足于弄懂书上给的证明,就以上提出的面积问题,通过牛顿-莱布尼茨公式求面积的方法自然是非常普适的方法,任何人也不会怀疑由它得出的结论。但是,从我一开始初学微积分的时候就对这个结论充满好奇,总是在想,如此简单的反比例函数怎么和对数函数联系在一起了呢?反比例函数仅比多项式函数稍微复杂了一点,为什么它的积分是个超越函数?而且,这是幂函数里唯一的一个“特殊分子”:其他的幂函数的积分都还差不多是幂函数,只有\(y=1/x\)这个怪物。

牛顿-莱布尼茨公式是一种解释,但这种解释很难让人有切实的体会。受上面那篇贴子中问题的启示,我找到了另外一种更直观、更初等的计算这个面积的方法,可以让人在图中切切实实地“看到”一个对数函数出现的过程。需要用到的知识:定积分计算面积的思想方法(分割、做和、取极限),以及一个有关\(e\)的极限:\(\lim_{x\to 0}(1+x)^{\frac{1}{x}}=e\)。我将以问题的形式启发读者自己去完成这个计算过程。

首先,解决贴子中的问题:不用微积分的知识,只用初等方法,证明\(y=1/x\)下方图形的面积是无穷大。

1) 在双曲线上任意一点向两坐标轴做垂线,证明这两条垂线与坐标轴形成的矩形的面积与点的位置无关,这个面积是多少?
2) 用上述特性在双曲线与坐标轴之间做出无穷多个互不重叠的矩形,并且每个矩形的面积不小于一个定值,比如\(0.9\)。(提示:先做出一个面积为1的正方形,再做出一个 1)中所描述的矩形,二者重叠部分的面积有什么特点?)

然后,计算双曲线下方\([1,t]\)之间曲边梯形的面积:
3) 将 2) 中的矩形面积不断减小,比如,让所有矩形的面积都等于\(\epsilon\)(那个正方形除外),这些矩形的宽度就会不断减小,\)[1,t]\)之间的曲边梯形就会逐渐被一些面积相等的矩形所铺满。计算\)[1,t]\)之间矩形的个数,并用\)\epsilon\)表示。
4)计算这些矩形的总面积,并计算当\(\epsilon\to 0\)时的极限。证明这些小矩形的宽度随着\(\epsilon\to 0\)而趋于零。根据反比例函数在\([1,t]\)上的可积性,这些矩形总面积的极限就是曲边梯形的面积。

至此,你应该看到对数和\(e\)分别是在哪一个步骤里出现了。下面是一个额外的问题:
5)为了比较\(y=1/x\)与\(y=1/x^2\)的差别,把这套策略改造一下应用到函数\(y=1/x^2\)上,并解释为什么对数函数没有出现在\(y=1/x^2\)的下方。

连续的一一映射,其逆映射怎样才连续?

在拓扑学中有很多的反例能够说明,从一个拓扑空间到另一个拓扑空间的连续一一映射,其逆映射不一定是连续的,即使假定两个拓扑空间都是距离空间。

反例1:设 \[ \begin{aligned}f:[0,2\pi) & \to C(0,1) \\ t & \to e^{it}\end{aligned}\] 它是连续映射,但是其逆映射在单位圆的 (1,0) 点是不连续的。
反例2:设 \[\begin{aligned}f:[0,1)\cup \{2\} & \to [0,1] \\ t & \to \left\{\begin{matrix}t & t<1\\ 1 & t=2 \end{matrix}\right.\end{aligned}\] 在相对拓扑意义下,f 是连续的,但是其逆映射不连续。

但是,数学各个分支中又有很多定理表明,如果加了某些条件,一个连续的一一映射,其逆映射可以保证也是连续的。如:

命题1:定义在一段连续区间上的实值函数,如果是连续单射,那么它的反函数也是连续的。
命题2(泛函分析中的开映射定理):定义在两个巴拿赫空间之间的连续线性算子,如果是满射,那么它是开映射,即将开集映为开集,那么它如果可逆,其逆映射就一定是连续的。
命题3:复平面上的解析映射是开映射,跟上一个例子类似,如果它可逆,那么它的逆映射是连续的。
更一般的,在拓扑中有这样的事实:
命题4:紧致空间的连续映射的像是紧致的,因此从紧致空间 X 到距离空间 Y 的连续映射是闭映射。

这些例子分别处在不同的数学分支,证明方法也不一样,那么现在的问题是,他们之间是否有某种联系?是否可以从拓扑的角度统一地处理这些问题?是否能在拓扑上提出一个充要条件使得逆映射的连续性能够得到保证?

上面的第四条其实就是对空间提出的拓扑条件,可惜的是,紧致性的条件太苛刻,以至于其它三个例子都不能从4 直接推出来。

Continue reading

用超限归纳法证明《实变函数论》中另一命题

为了建立实数轴上的 Lebesgue 测度,首先需要找一个适当的集合环,在上面建立起满足可数可加性的测度。因此,通常是在环 \[\mathscr R_0=\left\{\bigcup_{i=1}^n(a_i,b_i]\,|\,a_i,b_i\in\mathbf R,i=1,2,\dots,n \right\}\] 上定义集合函数 \[m(E)=\sum_{i=1}^n(b_i-a_i)\] 其中区间 \((a_i,b_i]\) 为 E 的初等分解。

《实变函数论》中在证明了这个定义的合理性(即 E 的函数值与 E 的初等分解方式无关)之后,作者通过134页(2009清华版124页)引理2.3.2 证明了这个集合函数的一系列性质,包括有限可加性,单调性和有限次可加性,最后证明这个集合函数是环 \(\mathscr R_0\) 上的测度,即满足空集的函数值为0;此函数非负,且具有可数可加性。

应该说,引理2.3.2 论证的内容是十分直观的,因为环 \(\mathscr R_0\) 上的元素都十分简单,只是有限个左开右闭区间的并。而引理2.3.2的核心内容无非是说,可数多个互不相交的左开右闭区间的总长度,是这些区间长度的和。比如,我们高中理解等比数列和 \[\sum_{n=1}^{\infty}\frac{1}{2^n}=1\] 的时候,就是把单位线段无限地二等分,然后看到单位线段的长度等于这些小线段的总长度,这是多么直观的事情。但引理2.3.2的建立过程却非常曲折,为了证明所定义的函数是测度,引理2.3.2被分解成了四个部分,最后一个部分还用到了 Heine-Borel 有限覆盖定理,而这个定理应用的也是极不自然,因为,这里并不是一些开集覆盖住了一个有界闭集,为了应用有限覆盖定理,还必须得给每个区间做一些小手术,这是不容易想得到的。

有没有可能就像高中证明那个无限二分线段长度之和为1那样直接证明这个命题?就是通过有限可加性取极限,就能直接得到可数可加性?用通常的分析思想会有些困难,因为,这里讨论的是可数无限分割,而这种分割的结构可以相当复杂。比如,就在一个简单的连续区间里,这种分划点的极限点就可以有很多甚至无限多,而这些极限点又可能有极限点的极限点,比如上面那个分划的每一个小区间 \( (\frac{1}{2^n},\frac{1}{2^{n+1}}]\) 中又可以有可数多个小区间,因此想用取极限的方式去证明一般的命题,有可能需要考虑极限的极限,而且嵌套无穷多次。

Continue reading