思想海洋的远航分享 http://blog.sciencenet.cn/u/xying 系统科学与数学水手札记

博文

重修线性代数9——方程 精选

已有 13144 次阅读 2017-3-7 08:38 |个人分类:科普|系统分类:教学心得| 定性理论, 线性方程

线性代数的核心问题是解方程。高斯消去法启示的初等变换,至今仍是解线性方程组和矩阵计算的基础。行列式因研究线性方程组解而被引入,带来矩阵的表示,进而联系起抽象的代数。代数能应用于现实中,在于它具备解方程的有效手段。解方程的算法从空间的角度来看是坐标变换,不仅由此易于得出解的表示,也因此能够看到定性的结果。线性方程的解从理论到算法都有着清晰明确的结果。这导致成功的科学理论系统基本都是线性的。

9.1 线性方程的定性理论

XY线性空间抽象的线性算子A,作用在向量x映射得到x的像b,于是有等式Ax=b。这便是线性方程。这式子可以表示任何线性空间中线性算子的作用,一切线性方程都可以表示成这个等式。从已知的Ab,求x,是解方程。如果这是微分算子的线性组合在函数空间中的作用,则是线性微分方程;对积分算子则是积分方程;在有限维空间则是代数线性方程组。它们有着共同的性质。

Ax=0,叫做齐次方程,它的解构成Y的一个子空间Ker(A),即零空间。满足Ax=b的等式任何一个向量x0叫做特解,通解则是特解与零空间中任何一个向量之和。只有b在算子的像空间Im(A)中,解才存在。如果像空间就是Y的全空间,即映射是满的,解总是存在的。当零空间只有一个0向量时,线性方程若有解,则是唯一的。线性空间是无穷维时,上述的结论还涉及到收敛的问题,这要求算子是闭的。巴拿赫空间(定义了距离且柯西列都收敛的向量空间)中,线性算子定义域D(A)中的序列(xn),当xnxAxnb,有x也在D(A)中,且Ax=b,则称A闭的

从代数的角度来看,从Y映射到X的线性算子ARAL,若AAR= I,称ARA右逆;若ALA=I,称ALA左逆如果算子有右逆,从A(AR b)= b得知,至少存在着一个解x0=ARb。如果有左逆,若x是方程的解,因为x=AL(Ax)=ALb,它则是唯一的解。当AL=AR时,依定义是A的逆A-1,这时方程的解存在且是唯一的,反之亦然。对此不难有,无穷维的巴拿赫空间(包括了希尔伯特空间)的逆算子定理:一一满映射闭算子的逆存在,而且是有界的。

9.2有限维线性方程组

在有限维线性空间,线性算子表达为矩阵A,可以从空间看到更清晰的图像。

        $\begin{matrix} a_{11}x_1+a_{12}x_2+\cdots+a_{1n}x_n=b_1 \\ a_{21}x_1+a_{22}x_2+\cdots+a_{2n}x_n=b_2 \\ \vdots\\ a_{m1}x_1+a_{m2}x_2+\cdots +a_{mn}x_n=b_m\end{matrix}$

表示成m*n矩阵形式,用算子和向量的符号把方程简记如下:

        $A=\begin{pmatrix}a_{11}& a_{12}&\cdots& a_{1n} \\ a_{21}& a_{22}&\cdots& a_{2n} \\ \vdots\\ \\a_{m1}& a_{m2} &\cdots& a_{mn} \end{pmatrix} \textbf{x}= \begin{pmatrix}x_1 \\x_2 \\ \vdots \\x_n \end{pmatrix}, \textbf{b}= \begin{pmatrix}b_1 \\b_2 \\ \vdots \\b_m \end{pmatrix},A\textbf{x}=\textbf{b}$

从线性算子角度来看,它自然拥有上面抽象线性方程的全部结论。

将矩阵第j列看成是一个列向量,记为Aj,即 $\begin{pmatrix}\textbf{A_1}&\textbf{A_2}& \cdots &\textbf{A_n}\end{pmatrix} = A$ ,这个线性方程组可以写成: $x_1\textbf{A_1}+x_2\textbf{A_2}+\cdots+x_n\textbf{A_n}=\textbf{b}$

这意味着解是将方程组右边的向量b,表示为矩阵中列向量线性组合的系数。算子A的像空间,即是矩阵A的列空间。线性方程组有解的充要条件是:方程组右边的向量是矩阵列向量的线性组合,或说它与它们是线性相关的。齐次方程Ax=0没有非零解,意味着A的列向量是线性无关的。显然,如果非齐次方程有解,方程组右边的向量,是这些线性无关的列向量的线性组合,这个组合的表示是唯一的。如果齐次方程有非零解,线性相关的列向量则有多种的线性组合,表示同一个向量。这对应着这方程组有唯一解或无数的解。

再从空间的几何图像来看。线性方程组的每个方程,例如第i个方程, $a_{i1}x_1+a_{i2}x_2+\cdots +a_{in}x_n =b_i$ ,将系数看成矩阵行向量ai的分量,用向量内积的式子记为 $\left \langle \textbf{a_i}, \textbf{x} \right \rangle=b_i$ ,这表明满足这第i个方程解x,是空间中一个变动的向量,它与向量ai的内积是bi,所以满足这第i个方程所有的向量x的所指的点,在n=3时是3维空间中的一个平面,对于一般的n,是n维空间的一个超平面(注:这里的超平面,指n维几何空间中的n-1维平面,它不是指那种过原点作为线性n-1维子空间的超平面),它与向量ai的方向垂直,与原点的距离是 $b_i/\|\textbf{a_i}\|$

m个线性方程组的解,是这m个超平面的交集,它是n维空间里的一个子集,在极端情况可以是一个点或空集。也就是说线性方程组可以有无数个解,有唯一的解或无解。

9.3 解线性方程组

线性方程具有非常确定的解法和清晰理论结果。这是它能被广泛应用的原因。我们必须充分地了解这些结果,才有把握应用好计算机求解的软件。

中学代数让我们习惯于方程的个数等于未知数的个数,其他情况没有答案。在应用中,我们可能有多于或少于未知数的方程,实际上即使等量的方程数,由于在数学模型中抽象为属性的未知数相关或相近,方程作为实验的样本也可能是线性相关的相近的,这样解方程也可能陷入无解、多解或不确定解的情况。我们需要了解从实用角度怎么处理这些问题,并理解计算软件解方程的函数。下面我们分析n个未知数m个线性方程组Ax=b中,矩阵A的不同情况,然后汇总答案。

A是满秩方阵。这时A的逆A-1存在,方程个数m与未知个数n相等,且列向量线性无关,方程的解可以表示为x = A-1b.

A是列满秩的长方阵。这是列向量线性无关,方程个数多于未知个数的情况,矩阵A的秩r = n < m,这时方程可能有解也可能无解。我们不能扔掉几个方程来求解,那犯了丢弃实验数据去修改计算的错误,正确的做法是求误差最小的解y

        $\min_\textbf{y}\|A\textbf{y}-\textbf{b}\|^2$

用最小二乘法可以推出正规方程(normal equationATAy=ATb,它的解y是满足方程式约束的最小误差向量。在几何直观上,这最小误差解y对应着向量bA列空间投影Pb的解,即Ay = Pb。投影的算子P=A (ATA)-1AT.

对于列满秩的A,方阵ATA是满秩的,ATA的逆存在。显然AL=(ATA)-1ATA的左逆。若方程右边向量b就在A的列空间中,方程有解,这时Pb=b,正规方程的解y也就是原方程的解x。从左逆的存在,知道x=(ATA)-1ATb是唯一的解。

A是行满秩的扁方阵。这是矩阵列向量线性相关,方程个数少于未知个数的情况,矩阵A的秩r =m < n,这时方程有多个解,解点构成n维空间中一个n-m维的超平面。只要求出一个特解x0,通解便是x0加上A零空间的向量。对于这个行满秩的A,方阵AAT的逆存在,显然AR=AT(AAT)-1A的右逆,x0= AT(AAT)-1b是方程的一个特解,若zA的零空间中的一个向量,它们的内积〈x0, z=AT(AAT)-1b, z=(AAT)-1b, Az=(AAT)-1b, 0= 0,这说明x0与零空间正交。而方程的通解是由x0与零空间中向量之和,这些端点构成了解平面。x0与这解平面垂直,x0的长度是从原点到这解平面的距离,是这方程中长度最短的解。

A是秩亏缺的。这是矩阵列向量线性相关,方程个数多于线性无关的未知个数情况,矩阵A的秩r小于mn,这方程可能是无解但一旦有解则有多解。这时矩阵A没有左逆或右逆,更不可能有逆。但有一种伪逆Moore–Penrosepseudoinverse)可以用来给出它的广义解。让我们看看这是什么?

秩数为rm*n矩阵A,都可以做奇异值分解 A= UΣVT,这里Um阶正交阵,Vn阶正交阵,Σ是主对角线上有从大到小的r个正数,其余都是0m*n矩阵。将Σ主对角线上非零元素取倒数,构造n*m矩阵Σ+如下:

    $\Sigma =\begin{pmatrix}S&0\\0&0\end{pmatrix}_{m\times n}, \Sigma^+ = \begin{pmatrix}S^{-1}&0\\0&0\end{pmatrix}_{n\times m},$     $\Sigma \Sigma^+ = \begin{pmatrix}I&0\\0&0\end{pmatrix}_{m\times m}, \Sigma ^+\Sigma = \begin{pmatrix}I&0\\0&0\end{pmatrix}_{n\times n}$

A+=VΣ+UTA+称为A的伪逆。从这伪逆的构造中很容易看出它的几何意义:AA+是对A的像空间Im(A)投影算子, A+A是对AT像空间Im(AT)的投影算子。不难从几何含义中或从代数式子中推出,它还有这些性质:AA+A=AA+AA+=A+(AA+)T=AA+(A+A)T=A+A.

这个伪逆A+,当A是满秩方阵时等于它的逆A+=A-1A是列满秩时等于左逆A+=ALA是行满秩时等于右逆A+=AR,所以它是包含了这三种情况广义的逆。

y0=A+b,它是方程Ay=AA+b的解。因为AA+A的像空间投影算子,如果bA的像空间中,y0就是Ax=b方程的一个解,否则它是与之最小误差的解。如果矩阵A的秩小于它的列数,方程的解或最小误差解是多个的。这个y0是从原点到解平面的垂线。总之y0=A+b,可以作为各种情况下,满足线性方程组约束的最好结果。

上述都是解线性方程组最基本的内容。下面的练习是熟悉、记忆、应用这些知识的最好手段。

在MATLAB或Octave中,通过验证下面的例子来熟悉用计算机的矩阵计算。赋值2x4矩阵 A=[1 2 3 4;2 3 4 5],函数N=null(A)给出A的零空间的一个标准正交基(线性无关向量组),rank(A)给出矩阵A的秩,size(A)给出A的行数和列数。用矩阵乘法A*N,验证N是A的零空间,随机给几个矩阵通过以上指令,来验证秩-零度定理。

在数值计算中的定性结果与允许的误差有关,在一些函数变量中都有允许误差的参数tol,如null(A,tol)和rank(A,tol),不同的误差允许值可能得出不同的结果。设A2=[1 2 3 4;2 3 4 5;2 4 6 8.01]计算tol=0.01和 0.001时,B的秩,零空间。为什么B*N也近似为0矩阵?

在MATLAB和Octave中用于计算矩阵A的逆的指令函数是:inv(A),计算伪逆是:pinv(A).建议读者在计算软件中,用几种2x3和3x2行满秩、列满秩,秩亏缺的矩阵A及相应的b向量,运用矩阵的乘法和这些函数,计算左逆,右逆,伪逆,投影算子,方程解并验证它们间的关系。

可以用x=Ab来得到线性方程组A*x=b的一个解,它等于pinv(A)*b. 验证x与Null(A)中任何向量的和,都是这线性方程组的解。

9.4 微分方程

微分方程与代数方程的区别,在于前者算子作用的线性空间是无穷维,后者则是有限维的。微分和积分都是线性算子,微积分的计算基本都是映射和线性代数运算,只因涉及有无穷个线性无关的向量,则要考虑无穷个线性组合的收敛问题。有这个理解在心,就不至迷惑于在线性代数中未见的许多条件,放心从抽象的高度,透视许多繁杂的定理和计算方法。

在计算机时代之前,人们用函数族作为无穷维线性空间的基,用级数或积分来表示解与系数中的函数,在算子作用下将微分方程变成代数方程来求解。这在物理研究中被广泛地采用。

另一种解法是对无穷维线性空间进行线性变换,如拉普拉斯变换,将解微分方程变成在另一个线性空间中的代数运算。在现代控制理论中,对线性动态系统的微分方程,应用这种解法,已成为分析和计算的必备的数学工具。

在计算机时代,机器可以直接给出数值解。应用者不必像旧时代那样,花费大量时间学习各种计算方法和技巧了。只需要有一些基本的概念。

高阶常微分方程,通过定义导数变量xk+1(t)=x’k(t)的方式,把它写成一阶微分方程的向量形式x(t) = f(x, t), x(0) = c. 将方程两边积分后,有定理证明只要这个f“足够光滑”(满足Lipschitz条件),微分方程存在着唯一的解,整理成线性算子作用的形式是:x(t) =Φ(x,t)x(0). 对于一个离散的时间序列,可以写成递推的式子,如龙格-库塔法,来计算这些向量值。

离散的数值计算作为精确解的近似是否有意义,取决于它对初值和参数变化的稳定性。对于线性常微分方程,这个稳定性可以通过对微分方程矩阵的特征值分析容易得知。这在现代控制理论中的课程中有详细介绍。

(待续)




http://blog.sciencenet.cn/blog-826653-1037966.html

上一篇:重修线性代数8——分解
下一篇:重修线性代数10——计算

22 张学文 康建 朱豫才 李维纲 徐令予 白图格吉扎布 田云川 张云 王安良 韦玉程 李建雄 程代展 徐传胜 刘博 徐涛 惠小强 xlsd xiyouxiyou sunjian1016 zjzhaokeqin yangb919 lixuezhong

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

数据加载中...
扫一扫,分享此博文

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

GMT+8, 2021-10-28 13:56

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部