zoukankan      html  css  js  c++  java
  • 数学

    线性代数导论 - #2 用Gauss消元法解线性方程组

    #2实现了#1中的承诺,介绍了求解线性方程组的系统方法——Gauss消元法。

    既然是一种系统的方法,其基本步骤可以概括如下:

    1.将方程组改写为增广矩阵:

    为了省去传统消元法中反复出现但是没有应用价值的未知数符号和运算符,我们可以将线性方程组表示为增广矩阵的形式,也就是把“Ax=b”中的b附在A右侧;

    2.确定第一列中的一个非零元素为主元,以方框框起示之。此元素所在行即为主元行:

    注意:如果矩阵中的元素以未给出取值范围的字母变量形式表示,必须先假定选定的主元所对应的变量不为0,否则进一步的消元变换不等价(消元系数的分母就是选定的主元,选0为主元是无法消元的)

    一般第n个主元选在第n行。若在进行行交换(交换上下行)后仍没有可供选择的非零元素,则说明消元法失效,也即该方程组没有唯一的解,下同;

    3.主元行原样写入新矩阵,同时乘以合适的系数与第二行相加使得主元下方的元素变为0,得到的新行写入新矩阵,未作处理的行原样写入。以此类推,直到主元列除了主元外的所有元素(一般为主元下方的元素)为0:

    包括最右一行在内,遵循一一数乘,对应相加的原则,不要出现计算错误;

    4.确定第二列中的主元;

    5.重复步骤3;

    6.以此类推,直到增广矩阵中原属A的部分变为上三角矩阵U,原属b的一列变为c,也即“Ax=b”变为“Ux=c”;

    7.在U中添加未知数符号和运算符,将U变回方程组,自下而上解出全部未知数。

    此类消元法的描述方法还是掺杂了传统方法中的运算方法(倍乘、相加)。如果将其单纯用矩阵语言进行描述,虽然在解方程中不具有实际应用价值,但是可以引出后续学习中矩阵乘法的一些概念。

    比如:

    1.行向量乘以矩阵的运算法则:

    逐行对应,数乘相加,纵向排列结果,构成新的矩阵;

    2.通过左乘初等矩阵E的方法进行行变换:

    其中一种仅由1,0构成的特殊的初等矩阵,即乘了和没乘一样,即矩阵中的1,我们称之为单位矩阵I。此外,不难猜出,右乘E可以进行列变换;

    3.矩阵乘法可以从行出发,可以从列出发,也可以从元素出发:

    从元素出发意即运算结果中的(m,n)等于左矩阵的m行乘以右矩阵的n列;

    4.矩阵乘法中矩阵的排列顺序不能变,而乘法的运算次序即括号的位置可以任意移动:

    即矩阵乘法满足结合律而不满足交换律;

    5.通过某矩阵乘其逆矩阵等于单位矩阵I的关系可以求得其逆矩阵。

    此外,Prof. Strang 在本节课中提及了自己对线性代数这门独立学科的一些经验总结,摘录如下,相信在以后的学习中会进一步加深对其的理解:

    1.“线性代数的核心是进行矩阵变换。”

    2.“矩阵变换的基本方法是分别用行和列进行矩阵计算。”

    3.“矩阵计算时应始终着眼于整个向量。”

  • 相关阅读:
    这个博客的由来
    PLSQL Developer 不能连接 oracle 12c 64位 的解决办法 for win 64
    Netflix 是如何推荐电影的
    Hadoop中国技术峰会引发Hadoop 2.0风暴
    JS如何导出Div的内容为图片
    jquery如何获取标签本生的文本内容,不获取本身子级元素及子级元素的内容
    superagent抓取gb2312网页出来是十六进制的解决办法
    一些常见html css遇到的问题
    es6 三行代码数组去重
    es6中的 Set、Map 和 WeakMap
  • 原文地址:https://www.cnblogs.com/samaritan-z/p/8337984.html
Copyright © 2011-2022 走看看