线性代数的消元法_高斯消元法例题

线性代数的消元法_高斯消元法例题1.消元的思想针对下面的方程,我们无法直接得到方程的解。$$\begin{alignedat}{2}&x\space\space&2&y\space=\space

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

1. 消元的思想

针对下面的方程,我们无法直接得到方程的解。

\[\begin{alignedat}{2} &x \space- \space&2&y \space=\space 1 \\ 3&x\space+\space&2&y \space=\space 11 \end{alignedat}\]

但如果我们将第二个方程减去第一个方程的 3 倍,上面的方程组就变成了下面这样。

\[ \begin{alignedat}{2} &x \space- \space&2&y \space=\space 1 \\ &\space\space&8&y \space=\space 8 \end{alignedat}\]

这时候,我们就可以直接得到 \(y=1\),进而从第一个方程得到 \(x=3\)

可以看到,消元之后,方程组变成了一个下三角(upper triangular)的形式,然后我们就可以用回带法(back substitution)来快速地解出方程组的解。

线性代数的消元法_高斯消元法例题

进行消元的那一行的第一个非零值称为主元(pivot),消元时候的乘数就等于待消项的系数除以主元,在上面的例子中,乘数 \(3 = 3 / 1\)。一般地,乘数可以表示为

\[l_{ij} = \frac{第\space i\space 行待消去项的系数}{第 \space j \space行的主元} \]

\[ \begin{alignedat}{2} 4&x \space- \space&8&y \space=\space 4 \\ 3&x\space+\space&2&y \space=\space 11 \end{alignedat}\]

如果我们改变了第一个方程,那么乘数就等于 \(3 / 4\)。消元之后,所有的主元都位于下三角的对角线上,并且主元不能是 0

\[ \begin{alignedat}{2} 4&x \space- \space&8&y \space=\space 4 \\ &\space\space&8&y \space=\space 8 \end{alignedat}\]

2. 消元的失效

  • 无解
\[\begin{alignedat}{2} &x \space- \space&2&y \space=\space 1 \\ 3&x\space-\space&6&y \space=\space 11 \end{alignedat} \quad{消元后}\quad \begin{alignedat}{2} &x \space- \space&2&y \space=\space 1 \\ &\space\space&0&y \space=\space 8 \end{alignedat}\]

这种情况下,我们遇到了 \(0y = 8\),说明原方程组无解。从行图像中,我们也可以看到,两条平行的直线无法相交于一点。而在列图像中,两个在同一方向上的向量不可能线性组合出不在这个方向上的向量。

线性代数的消元法_高斯消元法例题

  • 无穷解
\[\begin{alignedat}{2} &x \space- \space&2&y \space=\space 1 \\ 3&x\space-\space&6&y \space=\space 3 \end{alignedat} \quad{消元后}\quad \begin{alignedat}{2} &x \space- \space&2&y \space=\space 1 \\ &\space\space&0&y \space=\space 0 \end{alignedat}\]

这种情况下,我们遇到了 \(0y = 0\),任何的 \(y\) 值都满足要求,此时 \(y\) 是“自由”的,确定了 \(y\) 之后 \(x\) 则由第一个方程确定。

从行图像中,我们也可以看到,两条直线相同,因此整条直线都是交点。而在列图像中,左边的两个向量和右边的向量方向都相同,有无穷多个线性组合都可以产生右边的向量。

线性代数的消元法_高斯消元法例题

对于有 \(n\) 个方程的方程组,如果我们得不到 \(n\) 个主元,那么消元就会导致 \(0\not = 0,无解\) 或者 \(0=0,无穷解\) ,只有正好有 \(n\) 个主元的时候,方程组才有解,但我们可能需要进行方程的交换。

  • 需要行交换
\[\begin{alignedat}{2} 0&x \space+ \space&2&y \space=\space 4 \\ 3&x\space-\space&2&y \space=\space 5 \end{alignedat} \quad{消元后}\quad \begin{alignedat}{2} 3&x\space-\space&2&y \space=\space 5 \\ &\space\space&2&y \space=\space 4 \end{alignedat}\]

一开始,第一行的主元为 0,行交换后,我们得到了两个主元 3 和 2,然后,方程就有了正常的解。

3. 三个未知数

\[\begin{alignedat}{2} 2&x \space+\space&4&y \space-\space&2&z=\space 2 \\ 4&x \space+\space&9&y \space-\space&3&z=\space 8\\ -2&x \space-\space&3&y \space+\space&7&z=\space 10 \end{alignedat}\]

第一步,方程 2 减去 2 倍的方程 1,得到 \(y+z=4\)
第二步,方程 3 减去 -1 倍的方程 1,得到 \(y+5z=12\)
第一步,方程 3 减去 1 倍的方程 2,得到 \(4z=8\)

\[\begin{alignedat}{2} \boldsymbol 2&x \space+\space&4&y \space-\space&2&z=\space 2 \\ & \space\space&\boldsymbol 1&y \space+\space&1&z=\space 8\\ & \space\space&& \space\space&\boldsymbol 4&z=\space 8 \end{alignedat}\]

三个主元分别为 2, 1, 4,然后我们就可以用回带法求出方程组的解。

4. 用矩阵的形式来消元

\[\begin{alignedat}{2} 2&x_1 \space+\space&4&x_2 \space-\space&2&x_3=\space 2 \\ 4&x_1\space+\space&9&x_2 \space-\space&3&x_3=\space 8\\ -2&x_1 \space-\space&3&x_2 \space+\space&7&x_3=\space 10 \end{alignedat} \leftrightarrow \begin{bmatrix} 2&4&-2 \\ 4&9&-3\\-2&-3&7\end{bmatrix} \begin{bmatrix} x_1 \\ x_2\\x_3 \end{bmatrix} = \begin{bmatrix} 2 \\ 8\\10 \end{bmatrix}\]

对方程的两边同时进行一步消元,第 2 个方程减去第 1 个方程的 2 倍,我们可以得到:

\[\begin{bmatrix} 2&4&-2 \\ 0&1&1\\-2&-3&7\end{bmatrix} \begin{bmatrix} x_1 \\ x_2\\x_3 \end{bmatrix} = \begin{bmatrix} 2 \\ 4\\10 \end{bmatrix}\]

相当于左右两边都乘以了一个矩阵 \(E_{21}\)

\[E_{21} = \begin{bmatrix} 1&0&0 \\ -2&1&0\\0&0&1\end{bmatrix} \]

\[E_{21} = \begin{bmatrix} 1&0&0 \\ -2&1&0\\0&0&1\end{bmatrix} * \begin{bmatrix} row1 \\ row2\\row3\end{bmatrix} = \begin{bmatrix} row1 \\ row2-2row1\\row3\end{bmatrix} \]

\(E_{21}\) 称为初等矩阵(elementary matrix)或者消元矩阵(elimination matrix),它可以很简单地从单位矩阵演化而来,\(E_{ij}\) 就是将单位矩阵 \((i, j)\) 位置的 0 换成消元过程的乘数 \(-l_{ij}\)

\[I = \begin{bmatrix} 1&0&0 \\ 0&1&0\\0&0&1\end{bmatrix} \to E_{21} = \begin{bmatrix} 1&0&0 \\ \boxed{-2}&1&0\\0&0&1\end{bmatrix} \]

获取更多精彩,请关注「seniusen」!
线性代数的消元法_高斯消元法例题

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/167500.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • ringbuffer的常规用法_wear ring

    ringbuffer的常规用法_wear ring文章目录概述示例引用概述ringbuffer,或者说循环队列,是嵌入式开发中的一个基本模型,常用于命令队列,资源循环分配场合。示例ring_buffer.hringbuffer封装APItestringbuffer.c测试ringbufferapi.//ring_buffer.h#include<stdlib.h>typedefstructs_ring_buffer{ inttail; inthead; intsize; intitem_si

  • vue跨域问题解决方案_vue解决跨域问题

    vue跨域问题解决方案_vue解决跨域问题用Vue-cli脚手架搭建了个demo,前后分离就有跨域问题的出现。vue-clie搭建demo步骤(传送门):https://www.cnblogs.com/wangenbo/p/8487764.html我自己在网上找了2个接口做测试:CSDN:https://www.csdn.net/api/articles?type=more&amp;category=home&amp;show…

  • MATLAB中画折线图:plot函数的简单用法

    MATLAB中画折线图:plot函数的简单用法使用plot绘制二维图像MATLAB中plot函数常常被用于绘制各种二维图像,其用法也是多种多样,本文仅介绍plot函数的基本用法——使用plot函数绘制二维点图和线图。plot函数的一般调用形式如下:plot(X,Y,LineSpec)其中X由所有输入点坐标的x值组成,Y是由与X中包含的x对应的y所组成的向量。LineSpec是用户指定的绘图样式,主要选项如下:Specif…

  • Docker 开启2375端口提供外部访问

    Docker 开启2375端口提供外部访问1、编辑docker.service#vim/usr/lib/systemd/system/docker.service在ExecStart=/usr/bin/dockerd-current后增加-Htcp://0.0.0.0:2375-Hunix://var/run/docker.sock[Unit]Description=DockerApplicationContainerEngineDocumentation=https://docs.docker.c..

  • arduino连接lcd1602_1602显示摄氏度

    arduino连接lcd1602_1602显示摄氏度##Arduinouno连接LCD1602A显示测试温度面包板接线图代码#include<LiquifdCrystal.h>//引入依赖/*初始化针脚*/constintrs=3;constinten=5;constintd4=10;constintd5=11;constintd6=12;constintd7=13;constintlcdlight=9;//调节对比度LiquidCry

  • linux dstat,使用Dstat来进行Linux综合性能诊断

    linux dstat,使用Dstat来进行Linux综合性能诊断性能测试、评估和优化一直是系统管理维护人员工作的重点。当我们针对一台生产应用进行分析的时候,获取如CPU、内存、IO、网络吞吐和进程负载的基础数据,对于后续的性能评测和优化是至关重要的。Linux作为目前应用最广泛的服务器操作系统,为了应对各种性能问题,已经发展出很多原生的性能检测工具。从top、vmstat、iostat到mpstat,已经可以对操作系统主要性能方面进行详细的分析。面对越来越复杂…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号