cambaluc的个人博客分享 http://blog.sciencenet.cn/u/cambaluc

博文

Ax=b

已有 14263 次阅读 2016-5-27 09:40 |个人分类:数学|系统分类:教学心得| 线性代数, 数值分析

线性代数、数值分析这样的数学书其实和读红楼梦一样,先要熟悉其语言,数学的“言”大多是由数字和符号组成的,这些符号在不同场合代表了不同的意义,但也是有一些约定俗成规律的,如下标ij,∑∑,一看就该明白它们在各种场合下代表的各种意义,并能把它们转换成计算机语言。正如红楼梦中,和贾宝玉同辈的都带“王”字,赦、政等就是父字辈的,贾芸、贾蓉就得叫宝玉叔叔;“元迎探惜”,谐音“原因叹息”,她们的丫鬟是“抱琴、司棋、侍书、入画”,琴棋书画也暗合她们的爱好。

本文只说Ax=b,辨别一下它的“言、象、意”,阐述一下方程Ax=b在线性代数和数值分析课程中的多种代数表达形式及其几何意义,并把它扩展到函数空间。Ax=b贯穿于这两门课程,甚至整个数学,就好似《红楼梦》中“草蛇灰线、伏延千里”,Ax=b为主线可分析和概括这两门课程的主要内容。

夫象者,出意者也;言者,明象者也。尽意莫若象,尽象莫若言。言生于象,故可以寻言以观象;象生于意,故可以寻象以观意。意以象尽,象以言著。故言者,所以明象,得象而忘言;象者,所以存意,得意而忘象。王弼(226年-249年)

学数学、用数学也要好好体会一下这段话,熟悉数学和物理世界的"言",才能明“象”,从而得“意”。

=================================================================

《数值分析》是应用型本科中理工类学生的一门重要专业基础课,但在教学中常有一些学生对前续课程如线性代数、程序设计语言等掌握的不好,讲这门课时要复习旧课,让他们回忆起那些数学符号和概念,引导他们克服对数学式子的恐慌或漠视。Ax=b是线性代数、数值分析课中最基本的等式,以其为主线,把几门课程的内容联系起来,引导学生把代数、几何及实际物理模型联系起来,把自然语言、数学语言、计算机语言描述的同一算法对应起来,使思维能在各种数学空间、几何空间、计算机空间、现实空间中(言象意中)自如地转换,这些在教学及自学中都是必要的。理解同一数学等式的不同表示,要从不同的角度观察、分析、理解、想象,甚至欣赏它,才能学好数学用好数学。本文总结了Ax=b的不同表示,分析了它的不同内涵,从看似平常的表达式中体悟数学的至简之美。

1  Ax=b代数形式

在这种表达中要熟悉下标的范围和含义,这种形式在描述算法时常用,它更容易写成计算机语言。

以上都是Ax=b的不同数学语言表达,其实单从向量的视角来看还可表示成:

这六种形式都是表示一个等式,即Ax=b。觉得学习线性代数或数值分析困难的同学,往往是对这些简单的数学语言表达不熟悉,应把它们固化在脑海中可随时调用。熟悉这些表达式对于掌握矩阵及向量组运算也是很有帮助的,在进行矩阵的分解及矩阵向量的乘积时才能搞清楚它们各项及下标的对应关系。当然更重要的,是这些形式要和它表达的内容结合,在思维中能进行不同映像(象)的来回转换。上面是从代数的角度描述了Ax=b,从几何上来理解它之前,先简单谈一点对计算机语言描述的理解。

2 计算机语言描述Ax=b

能顺利地把自然语言和数学语言描述的算法转换为计算机语言,在数值分析课的理论及实验中都是必备的能力,反过来通过编写程序验证算法对于掌握数学也很重要。熟悉Ax=b的计算机语言表达是学好这门课的基础。举例,如解Ax=b的雅可比迭代法用的计算公式如下,它是(3)式的变形,这里m=n

 

  

(7)(8)也是Ax=b的对应表示。进行编程时,除了以上表达方式,还要想到它们在计算机中的存取方式,即从代数表示转到计算机的数据结构及这些量在物理内存的映像(这是也是“言”对应的“象”)。如对A,x,b 的定义可能是:

#define N  10

double  A[N][N],x[N],b[N];         (9)

一定要理解清楚程序中只要定义了变量,就确定了它们对应的存贮空间、可进行的运算、精度和值域范围,要知道计算机语言中的”=”号和代数中的不同,它是赋值,只能对代表具体存贮区的变量赋值等等。

Matlab中的变量是以矩阵为运算单元的,解方程时可写为:

x=Ab   (或  x=inv(A)*b

明白同一问题的不同语言表达,对学好数学和编程都是很有帮助的,熟悉了语言就踏入了这个学科的大门。(编程、运行程序时一定要考虑这些变量对应的存贮区,脑海中也要有计算机硬件的“象”,才能轻松掌握计算机算法和程序设计)

 

3 从几何上理解Ax=b

31 对于Ax=b一般的理解是解线性方程组,即求交点。

中学学习中对于ax=b,可解出x=b/a,也可看作直线y=ax-b,当y=0时求x 的值,即直线和横轴的交点是方程的根。对于二元一次方程组 

 

 

的解(或解向量),可看作求平面内的两条直线的交点。

 

对于解三元一次的方程组,可看作求三维空间中三个平面的交点,对于再多元多维的线性方程组不易图示,只能以此类推想象成求超平面的交点。讨论解时要用到矩阵的秩,其实和图形联系起来更直观,如上图两条直线若平行,则无解,若重合则有无穷多解。线性代数书中的图少,多维的不好画,但不画图却又多出一些“秩”“相关”等概念确实给初学者带来不少困难。

在数值分析中解超定线性方程组也可画图类比,找最小二乘解就是找距离多条直线或超平面最近的解。

 

32Ax=b看成矩阵算子A作用在向量x上,变换结果为向量b

 

把向量x转θ角度后是向量b。解方程求x意味着问哪个向量经A变换作用后是向量b

 

A看作变换算子有很重要的数学意义和很广泛的用途,可对向量施加变换让它最简,也可对空间进行变换化简或分解矩阵。理解A特征值、特征向量的几何意义也最好从这个角度理解。Ax=λx就是Ax施加变换仅能使x伸缩λ倍,方向不变;则x就是A的特征向量,λ是对应的特征值。

 

33 把等式Ax=b理解为x在特定空间坐标系中的表示

其等价的表示为Ax=IbI是对角线上为1其它为0的单位矩阵,参考(6)式,可写为

 

 

 如二维的情况,同一向量(或平面上的点)在由基(a11, a21)’ (a12, a22)’构建的坐标系下表示为 (x1, x2)’,在由自然基(1,0)’(0,1)’构成的单位直角坐标系下是(b1,b2)’ x1, x2b1,b2是坐标值。

  我认为这种视角才更本质地表达Ax=b,把A看作空间的一种量度,即坐标架,也就是基底向量组,I是空间的自然基底,即最简的正交基。那么xi就是在A中的坐标值,bi就是在I中的坐标值,Ax=Ib等号两端描述的是同一向量(或点)。这种理解看似简单但很重要,它代表了同一研究对象在不同空间中的等价表示,这样我们可以把复杂或难以表示的对象转换到简单的坐标空间中,很多数学问题就是这么处理的。

 

 以上列举了对Ax=b的不同理解和表达,从不同角度看同一问题有利于我们全面地掌握它的意义,熟悉这些形式才能更好地深入内容把握本质。线性代数课主要就讲了一个Ax=b,告诉学生不要觉得有多难,当然觉得太简单也不好,一些同学学不好主要是大一时和专业衔接不上,以为学这没啥大用处,不就是解个几元一次方程组或算算行列式吗,初中都会了,还弄这么复杂,等学到最后才发现很多不明白。要让学生认识到学习线性代数、学会处理Ax=b用处很大,如何化成Ax=b,如何有效求解Ax=b,是计算数学及后续专业课程的主要内容,如把偏微分方程通过差分法转化为线性方程组求解,有限元离散方法也是如此,其问题来源也是广泛的,很多数学物理问题最终要离散简化为Ax=b才能求解。

 

4 Ax=b拓展到函数空间

这种理解有更广泛的数学意义,讲清这个问题有利于学生过渡到函数逼近甚至泛函的领域学习。

我们表示二维平面中的一点(4,3),或一长度为5的向量在坐标系中这样表示如图2(结合3.3中的10)。表示三维空间中的一点(3,1,2),或一向量如图3

 

 

 点的坐标值就是在基向量上投影的长度,所表示的向量也可认为是三个基向量的线性叠加。在四维中我们表示一点(3,  2,   2.5,  1),我们不好画,但它也是四个基向量的线性叠加,不妨把四个向量这么列出来,它们的长度3, 2, 2.5, 1,方向忽略不画,可以吧?

 

 

23维一样它们按线性叠加的规则组合起来就表示一个n维向量或点。

扩展到无穷维,连续无穷维呢,表示一点或向量也可用这个方法。维数再密集到连续无穷维中的一点或一个向量用这种图示方式表示是不是像一条函数曲线了,或者说图中函数曲线也是一个点或向量的一种表示。

 

 

 

这样,“把函数看作一个点(或向量)”,也就让学生觉得理所当然了。函数就是一个点(或向量),只不过是在“给定区间的连续无穷维中”的一个点。当然点与点之间的距离、向量的夹角都可参照有限维空间中的定义,拓展出范数、内积等概念,这样学生也就不觉得抽象了。

再进一步拓展,既然一个向量可以选用一组基向量表示,那么一个函数(也是向量或点),当然也可以选一组基函数表示了,如任一个一元二次函数我们都可用三个函数x2x1,来线性叠加表示,f(x)=3x2+x+8就是3*x2+1*x+8*1这就引出了一个选用什么样的基函数来表示函数才好的问题了,正如我们常选直角坐标系、球坐标系、柱坐标系一样,也可选适合处理问题的简单函数做为基函数,基函数乘上系数(坐标值)再加起来表示所研究的函数。这样(10)式就扩展到函数领域,只不过n维向量变成了连续无穷维的函数向量。

Ax=b对应可表示为

 

 

  此式只是用n个函数φi(x)近似地逼近f(x),这就是数值逼近的基本公式,也就是《数值分析》课的第二块主要内容,另外的内容是解Ax=b的方法。当然严格的来讲(11)中的i的范围也可是无穷,求和也可是积分。(11)式和Ax=b对比,b就是S(x),系数ai就是坐标xi,φi (x)就是A中的列向量αi

这样Ax=b就扩展到函数领域,高等数学中函数的泰勒展开、傅立叶展开、勒让德级数表示函数等都是以基函数的线性组合表示函数。数值分析课中的插值、拟合及三角逼近等都是研究选什么函数作基函数,即选A,再求解系数,即求x,确定出函数S(x),即b,来近似表示f(x)。对于数值积分、数值微分、解微分方程都是用这个原理,即用简单函数替代不易表示或求解的复杂函数。

有限元法也是这个思想,选基函数求系数,只是多数情况基函数是定义在一个面上了,本节前面所述的函数是一个点(或向量)时,画在图上的f是曲线,有限元法中的函数及基函数是曲面,但也可把这个曲面函数当作点(或向量)来度量和研究。另外,数值分析中最小二乘法、解偏微分方程的差分法、有限元法解题过程中,即处理广义的Ax=b(11)式时,也会再导出或归结为求另一个离散的Ax=b,即解(1)式的线性方程组问题。可见理解Ax=b这个线性代数和数值分析课程的主线具有很重要的意义,其形式和内容都是值得学习和探讨的。

这种理解方法也可能有利于学习者拓展思维,从宏观上领会线性代数和数值分析课程中大部分问题的实质,使抽象复杂的数学变得简单形象。

===================================================================

  山中何所有,岭上多白云,只可自怡悦,不堪持赠君。(陶宏景457-537

自然之美、艺术之美,有时是不好交流的,有数学语言,科学是可以交流的。

 



https://blog.sciencenet.cn/blog-797552-980553.html

上一篇:Parsley, sage, rosemary and thyme
下一篇:北平胡同(一)
收藏 IP: 111.63.12.*| 热度|

6 岳东晓 应行仁 李欣海 何祥 李毅伟 xiyouxiyou

该博文允许注册用户评论 请点击登录 评论 (5 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-24 23:19

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部