线性代数入门指南:线性方程组
一、线性方程组
如果说用从高等数学的视角和从初等数学的视角看待线性方程组有什么差异的话,我要说,高等数学为我们提供了全新的理解线性方程组的角度。对于任意一个线性方程组,不同于高中单纯的视角,我们有这样几种理解这个方程组的角度。第一是将这个线性方程组理解成一个向量方程组,第二个是将这个方程组以矩阵乘法AX=B的形式写出来。对于第二种,B是一个n阶列向量,如果这个向量是零向量,那么方程组是齐次的,反之则是非齐次的。于是从这两个角度出发我们能得到一些新的结论。
第一,线性方程组有解不再只是线性方程组有解,还可以理解为B可以被A中n个列向量线性表示。还有一种理解方式是向量组a1,a2 … …an和a1,a2 … …an,B是等价的,这意味着B必然是向量组张成空间当中的一个向量,而这恰恰说明了一个事实——系数矩阵和增广矩阵的秩是相同的(毕竟向量空间的维数是一样的)
如果B不是前一个向量组张成空间的向量呢?那么很遗憾,这个线性方程组无解。这个无解的最为明显的体现就是在对增广矩阵进行初等变换到最后,也许会出现类似于0=1这样无厘头的式子,这可真让人无奈呀。
第二,线性方程组的解可以写成向量的形式,这便是解向量,得出这个结论是基于矩阵的视角看待线性方程组。
在初等数学的背景下,我们一直在一种“理想”的环境当中解线性方程组,不仅未知数的个数较少,而且往往只有唯一解,然而如果沉醉其中,我们便无法站在高等数学的山峰上仰望星空,并在残酷的现实当中撞得头破血流。
二、齐次和非齐次线性方程组的解
理想情况下,对于一个线性方程组,有n个未知数和n个方程,而且方程右边的系数还不都是0,这样我们可以得到方程的唯一解,这也是我们在学习初等数学时的工作。
这种情况用现在学过的定理描述就是,对于一个非齐次线性方程组,在系数矩阵的秩和增广矩阵的秩相同,并且等于未知数个数的情况下,我们的方程组有唯一的解。
那么,问题来了。
我们不妨看看这条定理的限定词,“非齐次”“秩相同”“等于未知数个数”,这三个条件满足才能得到唯一解,也就是说破坏了其中任意一个的话结果就大径相庭。比如说,我们把这个“等于未知数个数”改成了“不等于未知数个数”,那这个结果会是什么样的呢?如果比未知数多,那么很可能这些方程当中有重复的,或者还可能有一些方程自相矛盾(这就没辙了);如果比未知数少,这样的话就有一些未知数失去了方程的限定,可以放飞自我了。(对,它们就是自由未知数)这样诞生了无穷多个解。再比如,如果把“非齐次”改成了“齐次”,这又是什么情况呢?这是一种很没有意思的情况,它意味着如果把方程组通过加减消元法消消消消消,得出来的结果就是一排的鸡蛋——0。
总结一下,秩是否和未知数个数相等,决定了一个方程是否有无数个解。而对于齐次的线性方程组,如果有唯一解,那么只能是0。
以上只是纯粹基于线性方程组的角度分析线性方程组的解的问题。还记得写在开头的那句话吗?看待线性方程组的问题不只有线性方程组本身这个角度,还可以从矩阵的角度去分析。
由于线性方程组还可以写成是矩阵的形式,即AX=B,而矩阵可以理解为是“线性变换后空间的各个基向量坐标”,X和B恰好又是一个个向量。这意味着什么呢?我们知道每一个矩阵都对应着一种线性变换,而矩阵的乘法则是行向量与列向量做内积运算,内积从几何上看是一个向量在另一个向量上投影的长度和另一个向量长度的乘积。因此,AX=β的含义,还可以理解为“X向量在A作为基向量的坐标系下应该写成β”,或者“X向量在经历了A矩阵所描绘的线性变换后变成了β向量”。
明白了这一点之后,由于不同的矩阵对应的线性变换的效果不同,我们不妨把AX=B的情况依据“A是否是方阵”和“B是否为0”两类讨论。我们知道,如果一个矩阵是满秩的方阵,那么它对空间的作用效果只有剪切和旋转,并不会改变空间的维度。而如果是不满秩的方阵,则对空间有降维的效果。所以,对于AX=B,如果A是满秩的,意味着一个空间当中的向量在经过A的变换后不会改变维数,如果B是零向量,只能说明一开始就是零向量,即X=0,线性方程组是零解;如果B是特定的一个向量,那一定存在一个唯一的X;如果是不满秩的方阵,那么这个X向量一定是被降维了,而降维意味着信息丢失,无法逆推(这也就是为什么不满秩的矩阵没有逆矩阵),所以X无从猜测,有无数种可能——线性方程组有无穷解。
那么,如果A不是方阵呢?我们看一个比较简单的例子吧。
x + 2y + z = 1
x + y + 2z = 0
我们用矩阵的方式重新书写这个方程就会发现,[ x , y , z]’ 这个向量最终变成了 [1,0],这似乎在说A这个不是方阵的2×3矩阵有降维的功能,这是什么原因呢?我想有两种解释,第一是因为这个矩阵秩最多为2,也就是说矩阵的列向量只能线性表示二维的向量,所以必然有一个维度的信息丢失了。第二种解释其实和第一种殊途同归,我们知道矩阵乘法是向量之间做内积的过程,AX=B是A的行向量和B的列向量做内积,而A只有两个行向量呀!所以最后的结果是一个二维的向量难道不是很自然的事情吗?
事实上,我们对问题的划分标准“A是否为方阵”“方阵A是否满秩”共同指向了对一个事实的询问——向量X是否被降维了?如果被降维了,那么这个线性方程组必然有无数个解,反之则有唯一解:零向量变换后仍然是零向量,非零向量变换后依旧是非零向量,就像你爹十年后仍然是你爹,儿子永远不会变成爸爸。
再思考一下,在这种情景下,解空间意味着什么呢?为了回答这个问题,我们不妨先从AX=0这个齐次线性方程入手。从线性变换的观点来看,这个方程表明X向量经过A的变换变成了一个零向量,于是答案呼之欲出。对于AX=0的解空间,我们能知道它是所有在线性变换当中变成了零向量的向量的集合。这个集合又被称为矩阵A的零空间,或者矩阵A的核。
非齐次的线性方程组的通解可以看成是对应的齐次线性方程组的解加上一个特解。对于这个特解,我们可以理解为某一个向量在A代表的线性变换当中被降维成了β。但实际上特解并不是唯一的,因为还有其他诸多向量在线性变换当中被降维成了零向量,从这些向量中随意抽出一个放在特解上又是一个新的特解。所以,综上所述,解空间是一切在线性变换当中被降维的向量的可能性。
感性地看待数学,把向量比作人的话,生活就像降维的矩阵,“萍水相逢,尽是他乡之客”,人与人未曾相识,各有不同,却在同一时刻同一地点相逢。好在这个类比并不完全正确,“往者不可谏,来者犹可追”,无论我们拥有怎样的过去,我们仍然拥有明天。
三、cramer法则及其几何原理
记得有个关于程序猿的段子是这么说的:困扰程序猿的问题通常有两种,一种是为什么这段程序不能运行,另一种是为什么这段程序能运行。
人类科学发展史上似乎常常出现这种现象:在彻底弄清一种技术的原理之前,技术先被投入应用了,就比如量子力学当中经典的普朗克方程,他的提出者在提出这个公式时甚至无法清楚地解释其中的原理,只是用数学方法将两个公式统一了起来。很巧的是,行列式最早被发明出来只是作为解线性方程组的一个数学工具,囿于时代限制,孤立于数学体系之外,直到范德蒙和柯西出现,行列式的潜在价值才得到了开发。
单纯地从抽象的代数证明上弄清cramer 法则的原理未免有些无趣。倘若我们从向量的视角观察行列式的话,我们还能从几何上理解为什么cramer法则能以一种奇妙的方式得出线性方程组的解。从一个简单的例子开始吧。
以一个二阶行列式为例(假设它不为0),我们知道它的几何意义是表示列向量围成的一块平行四边形的面积。好吧,假设一个二元一次方程组的行列式可以写成 |α1 α2| ,依据cramer法则我们知道,如果想求出x,我们需要一个行列式叫做:| β α2 |。
这两个行列式有什么联系吗?它们共同表示了一个平行四边形的面积,而且还是同底的平行四边形的面积。接着我们需要用到一点点线性方程组的知识和行列式的性质。
首先,这个方程组可以用向量方程的形式表示为:x α1 + y α2 = β 。接着借助行列式的性质,| β α2 | 实际上能写成 | xα1 α2 | 。于是我们明白了,| β α2| 和 | α1 α2 |的比值就是我们梦寐以求的x!在几何上,这就是一个同底的平行四边形的面积比。
这个思路推广到三阶行列式的话并不会遇到任何困难,同底的平行四边形的面积比变成了同底面积的平行六面体的体积比。实际上这个思路对n阶行列式仍然适用。
有一种情况是无法使用cramer法则的,那就是当系数行列式为0时。单纯地理解方式就是分母不能为0。从几何上考虑的话,行列式为0意味着空间在线性变换后被降维,就像三维空间被打成了二维,此时讨论“体积比”不存在任何意义,因为根本不存在体积。
四、线性和方程
最初学线性方程组时,我犯了惯性思维的毛病,把这里提到的线性方程理解成了简简单单的ax+by=c这样的形式,然而这种观念大概是中世纪的数学观念,当数学在近代蓬勃发展时,“方程”已经不仅仅是我们所认识的那个稚嫩的概念了。
“含有未知数的等式就是方程”,这是我印象当中中学课本上的定义。但站在更高的角度去看待方程,我理解的方程是具有四个要素的:未知量,已知量,运算法则,等号。这里的未知量和已知量已经不单单是一个常数了,它还可以是一个函数。
理解了方程,我们再思考一下“线性”,“线性”这个概念对于线性代数的重要性不亚于加减乘除在初等数学当中的重要性,因为它代表了线性代数的研究对象的运算法则。在数学上,线性意味着两个性质:叠加和齐次。
T(a)+T(b)=T(a+b)
T(ka)=kT(a)
于是我们很容易发现,线性代数的研究对象——向量,正是满足这样的法则,在几何上,几乎也是很直观地呈现了“线性”。然而线性的运算并不是只有向量的加法和数乘,极限也好,微分也罢,这些运算法则同样符合线性。这意味着,我们所认为的线性方程远比我们想象的要广阔。比如线性微分方程,它仍然是线性的方程,自然而然会呈现出和上述讨论内容相似的性质。线性微分方程中既有线性无关、线性相关的概念,又有特解和基础解组的概念,原因大抵如此吧。
线性代数入门指南:线性方程组相关推荐
- 利用逆矩阵解线性方程组_线性代数入门——矩阵方程简介及一类基本矩阵方程的解法...
系列简介:这个系列文章讲解线性代数的基础内容,注重学习方法的培养.线性代数课程的一个重要特点(也是难点)是概念众多,而且各概念间有着千丝万缕的联系,对于初学者不易理解的问题我们会不惜笔墨加以解释.在内 ...
- 一份为高中生准备的机器学习与人工智能入门指南
翻译 | AI科技大本营 参与 | 林椿眄 作为一名高中生,我在过去的一年里自学了机器学习与人工智能的相关课程,在这里和大家分享下我自己的学习心得,希望能够对那些机器学习或人工智能初学者有所帮助,这也 ...
- 线性代数及其应用_线性代数入门——行列式的简单应用选讲
系列简介:这个系列文章讲解线性代数的基础内容,注重学习方法的培养.线性代数课程的一个重要特点(也是难点)是概念众多,而且各概念间有着千丝万缕的联系,对于初学者不易理解的问题我们会不惜笔墨加以解释.在内 ...
- 立体视觉入门指南:相机标定之Zhang式标定法
作者丨李迎松@知乎 来源丨https://zhuanlan.zhihu.com/p/378819083 编辑丨3D视觉工坊 亲爱的同学们,我们的世界是3D世界,我们的双眼能够观测三维信息,帮助我们感知 ...
- Matlab编程入门指南:简介、安装、学习路线和几十个编程案例分析。
一.Matlab编程入门指南:简介.安装.学习路线和几十个编程案例分析. 1.Matlab编程语言是一种广泛应用于科学计算.工程计算.数据分析.统计分析.信号处理等领域的高级数值计算和数据可视化软件. ...
- 立体视觉入门指南(4):相机标定之DLT直接线性变换【建议收藏】
亲爱的同学们,我们的世界是3D世界,我们的双眼能够观测三维信息,帮助我们感知距离,导航避障,从而翱翔于天地之间.而当今世界是智能化的世界,我们的科学家们探索各种机器智能技术,让机器能够拥有人类的三维感 ...
- 【Eigen】学习Eigen的一些总结——快速入门指南(一)
Eigen 快速入门指南 Eigen Quick reference guide 模块和头文件 Eigen库分为一个核心模块和几个附加模块.每个模块都有一个相应的头文件,为了使用模块必须包含该头文件. ...
- 立体视觉入门指南(3):相机标定之张式标定法【超详细值得收藏】
亲爱的同学们,我们的世界是3D世界,我们的双眼能够观测三维信息,帮助我们感知距离,导航避障,从而翱翔于天地之间.而当今世界是智能化的世界,我们的科学家们探索各种机器智能技术,让机器能够拥有人类的三维感 ...
- Pytorch:入门指南和 PyTorch 的 GPU版本安装(非常详细)
Pytorch: 入门指南和 PyTorch 的 GPU版本安装(非常详细) Copyright: Jingmin Wei, Pattern Recognition and Intelligent S ...
- 入门指南目录页 -PaddlePaddle 飞桨 入门指南 FAQ合集-深度学习问题
入门指南目录页 -PaddlePaddle 飞桨 入门指南 FAQ合集 GT_Zhang关注 0.1012019.08.01 18:43:34字数 1,874阅读 795 Hi,欢迎各位来自Paddl ...
最新文章
- 认识jQuery及jQuery选择器
- spring源码分析2本最高清带书目PDF百度网盘分享
- java和asp.net core,VS 2019教程:创建ASP.NET Core Web App
- Unity3d读取.csv文件
- 论文schedule
- python判断语句 if elif else(一分钟读懂)
- 【常识】2016-10-26
- 190523每日一句
- 海康摄像机取流RTSP地址规则说明
- yolo系列之yolo v3【深度解析】
- 有书共读:《穷查理宝典》
- element-ui input 身份证号码验证
- 【建议收藏】15755字,讲透MySQL性能优化(包含MySQL架构、存储引擎、调优工具、SQL、索引、建议等等)
- GPIF II designer使用说明+CYUSB3014芯片基本信息介绍——英文文档学习记录
- 3GPP TS 29244-g30 中英文对照 | 5.4.9	Provisioning of Predefined PCC/ADC Rules
- clickhouse表引擎-合并树系列
- 大数据平台回归SQL
- Dremel made simple with Parquet
- python实现归一化与标准化
- 游戏服务器列表为空,游戏服务器列表为空
热门文章
- azw3格式的电子书在kindle中怎么打开
- Leetcode面试题22. 链表中倒数第k个节点
- stm32F407hal+AD9854dds配置+源程序
- 命名时取代基优先顺序_烷烃的系统命名
- 启动日志中出现The APR based Apache Tomcat Native library which allows optimal performance in production env
- idea显示Multiple Spring Boot run configurations were detected. Services allows to manage multiple run
- MySQL 视图、索引、外键关联策略
- Intel VT学习笔记(八)—— 开启EPT
- ROS单线多拨后负载均衡配置
- Christmas Lights Kata练习