在实际生产生活中,需要我们解大量的线性方程组,例如是有探测、线性规划、电路等,这里我们便从理论角度建立一套解决线性方程组的体系。

线性方程组:

形如下面形式的方程组称为线性方程组。

回想起解决二元线性方程组我们的处理方法,本质上就是高斯消元法的个例,在解决多元线性方程组的时候,我们使用的便是高斯消元法.

探求线性方程组的解情况以及解线性方程组是线性代数核心要解决的问题。

然而为了更好的简化运算过程,我们确定每个方程中xi的位置,仅仅关注线性方程组的系数,因此这里自然的引入的矩阵:

这里我们便完成了一步简单但是非常重要的工作,系数矩阵的引入将线性方程组的运算放在了矩阵运算,于是研究线性方程组的解法就和矩阵的一系列性质变得密不可分。

矩阵的行初等变换是高斯消元算法的基础。结合上文关于矩阵的引入,我们要时刻关注另外的一个视角看矩阵——它表征一个线性方程组。容易看到,对于线性方程组做出上述的三个变化,线性方程组的解空间是没有发生变化的,因此矩阵本身表征的意义就没有发生变化。

既然引入了工具,就应该更好的为我们用高斯消元解线性方程组做出更好的铺垫。我们再来看几个概念:

(注:这里的先导元素指的是每一行第一个非零元素。)

依然从线性方程组的角度审视这个阶梯型矩阵,我们看到,再次将其转化成线性方程组的时候,线性方程组变得非常容易解,对于有解的情况,我们能够从最下面一行确定1个变量,然后依次向上确定其余变量值,不仅如此,在阶梯型矩阵的基础上,判断是否有解也十分方便,具体如何判断将在后面详细给出。

最简阶梯型矩阵的意义与阶梯型矩阵一致,但计算上会带来一定的便捷,因此在后面处理线性方程组的时候,采取的策略都是将线性方程组的增广矩阵通过行初等变换变成最简阶梯型矩阵。

上文我们说对于一个线性方程组的增广矩阵,基于它的最简阶梯型形式,非常容易得到解集,因此下面很有必要做的工作就是,如何将一个矩阵化简成最简行阶梯型矩阵。

为了论述的方便,首先给出下面关于主元位置、主元列的定义:

这是我们再以线性方程组的角度审视最简阶梯型矩阵,将主元位置的变量视为基本变量,其余位置的变量视为自由变量,我们就可以将线性方程组的解系表达出来。

基于最简阶梯型矩阵,容易得到如下的关于线性方程组的解情况的定理。

不谈严谨的充要性证明我们简单的理解,依然用线性方程组的角度去审视最简阶梯型矩阵,如果最右侧是主元列,则出现0=1的情况,显然无解。而对于有解的两种情况,其正确性也很显然。

综合一下上面论述的内容,我们得到了下面应用行化简算法解线性方程组的算法:

Step1:写出方程组的增广矩阵。

Step2:应用航化简算法把增广矩阵化为阶梯型,确定方程组是否有解,如果没有解则停止,否则进行Step3.

Step3:继续行化简算法得到它的简化阶梯型。

Step4:写出Step3所得到的矩形所对应的方程组。

Step5:把Step4所得的每个方程改写为用自由变量表示基本变量的形式。

至此,我们较为初级的解决了线性方程组的求解问题,在后面随着对矩阵认识的深入,对于判断线性方程组的解情况,会有一种基于矩阵的秩的方法。

《Linear Algebra and Its Application》-chaper1-行化简法解决线性方程组的更多相关文章

  1. 「2020-2021 集训队作业」Yet Another Linear Algebra Problem(行列式,Binet-Cauchy 公式)

    题面 出题人:T L Y \tt TLY TLY 太阳神:Tiw_Air_OAO 「 2020 - 2021 集 训 队 作 业 」 Y e t A n o t h e r L i n e a r A ...

  2. 《Linear Algebra and Its Applications》-chaper1-向量方程、矩阵方程和线性方程组

    向量: 向量的基本运算:向量的运算最基本的一件事情,就是基于它n个分量上进行,即对于两个分量的向量a = <a1,a2>,b = <b1,b2>,有a + b = <a1 ...

  3. 线性代数导论 | Linear Algebra 课程

    搞统计的线性代数和概率论必须精通,最好要能锻炼出直觉,再学机器学习才会事半功倍. 线性代数只推荐Prof. Gilbert Strang的MIT课程,有视频,有教材,有习题,有考试,一套学下来基本就入 ...

  4. 个案排秩 Rank (linear algebra) 秩 (线性代数)

    非叫“秩”不可,有秩才有解_王治祥_新浪博客http://blog.sina.com.cn/s/blog_8e7bc4f801012c23.html 我在一个大学当督导的时候,一次我听一位老师给学生讲 ...

  5. PYTHON替代MATLAB在线性代数学习中的应用(使用Python辅助MIT 18.06 Linear Algebra学习)

    前言 MATLAB一向是理工科学生的必备神器,但随着中美贸易冲突的一再升级,禁售与禁用的阴云也持续笼罩在高等学院的头顶.也许我们都应当考虑更多的途径,来辅助我们的学习和研究工作. 虽然PYTHON和众 ...

  6. 线性代数 -- Linear Algebra with Applications

    @.如果线性方程组无解,则称该方程组是不相容的(inconsistent). @.如果线性方程组至少存在一个解,则称该方程组是相容的(consistent). @.等价方程组(equivalent s ...

  7. Here’s just a fraction of what you can do with linear algebra

    Here’s just a fraction of what you can do with linear algebra The next time someone wonders what the ...

  8. MFC用串行化实现文档存储和读取功能

    在面向对象的程序设计中,一般都是用二进制文件来保存文档资料.在VC++中控制和使用文件流的方法很多,MFC程序设计中常用的有两种方法:用CFile对象存储和读取文件:利用串行化存取文件.其中用CFil ...

  9. Codeforces Gym101502 B.Linear Algebra Test-STL(map)

    B. Linear Algebra Test   time limit per test 3.0 s memory limit per test 256 MB input standard input ...

随机推荐

  1. Android AppWidget(转)

    AppWidget不知道大家使用这个多不多,这个在手机上也叫做挂件,挂件也就是放在桌面方便用户进行使用的,从android1.6开始挂件支持一些简单的lauout和view,到了android4.0之 ...

  2. eclipse不能识别虚拟机的问题

    1.输入cmd进入dos界面,进入android-sdk-windows\platform-tools目录,执行下面命令启动adb start-server出现下面错误* daemon not run ...

  3. css标签选择器

    /*标签选择器*/ input[type="text"] { width: 60%; } </style>

  4. Asp.net 主题 【2】

    通常我们经常看到网页,一些软件提供换肤功能,各种主题间切换.ASP.NET 2.0 中可以用Theme和skin以及CSS轻松实现这个功能. 首先简单介绍一下三种技术:主题(Theme)技术,面板(s ...

  5. C语言的printf输出格式控制

    C语言的printf输出格式控制 printf大家都耳熟能详,但是能真正将其用法弄透的估计很少见. 转一篇,改天整理. 1.转换说明符 %a(%A)     浮点数.十六进制数字和p-(P-)记数法( ...

  6. underscorejs-every学习

    2.10 every 2.10.1 语法: _.every(list, predicate, [context]) 2.10.2 说明: 对list集合的每个成员根据predicate进行真值检测,如 ...

  7. 两个示例介绍JavaScript的闭包

    JavaScript的闭包有两个用途:一个是访问函数内部的变量:另一个是让变量的值在作用域内保持不变.函数是JavaScript 中唯一有作用域的对象,因此JavaScript的闭包依赖于函数实现,下 ...

  8. @font-face扒站的步骤

    今天模仿百度首页手机版的时候遇到的@font-face的问题,现在整理一下. 问题:图中红色区域,在拷贝F12样式的时候,并没有出现这些小图标.        图1:百度的效果             ...

  9. Delphi-CompareText 函数

    函数名称 CompareText 所在单元 System.SysUtils 函数原型 function CompareText(const S1, S2: string): Integer; 函数功能 ...

  10. angularJS快速入门

    1.引入脚本文件 <link rel="stylesheet" href="http://lib.sinaapp.com/js/bootstrap/v3.0.0/c ...