Gauss消元法

本文介绍了线性方程组的重要性和在多个领域的应用,重点讲解了高斯消元法,包括其一般步骤、计算量和如何优化。与Cramer法则相比,高斯消元法在计算机计算中更具效率,适用于解决大规模线性方程组。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天我们来聊聊数值方法里面一个很经典的问题,求解线性方程组。线性方程组是线代里面那个很重要的知识,而它本身的意义重大,在很多领域都会用到。求解问题,不知引出了多少数学分支,而线性方程组是一个很经典的求解问题,当然相对于其他的求解问题,它相对来说也简单很多,但是由它引领的知识却无比庞大…先看看线性方程组的用处吧:

  • 用最小二乘法对实验离散数据进行拟合时候会用到线性方程组
  • 诸多的插值问题也会用到线性方程组
  • 还有我们高中就开始接触的生产与投入的问题。
  • 在建筑、机械结构的设计需要计算线性方程组

线性方程组

我们把下面的方程组称为线性方程组,注意到它有以下的特点:

  • 每个未知量的次数为1。
  • 系数都是常数
    如果方程组中共有n个未知量,就称为n元线性方程组。

{ a 11 x 1 + a 12 x 1 + . . . + a 1 n x 1 = b 1 a 21 x 1 + a 22 x 1 + . . . + a 2 n x 1 = b 2 . . . . . . . . . = . . . a n 1 x 1 + a n 2 x 1 + . . . + a n n x 1 = b n \left\{\begin{matrix} a_{11}x_1+ & a_{12}x_1+ & ...+ & a_{1n}x_1&=b_1\\ a_{21}x_1+ & a_{22}x_1+ & ...+ & a_{2n}x_1&=b_2\\ ...& ... & &...&=...\\ a_{n1}x_1+ & a_{n2}x_1+ & ...+ & a_{nn}x_1&=b_n\\ \end{matrix}\right. a11x1+a21x1+...an1x1+a12x1+a22x1+...an2x1+...+...+...+a1nx1a2nx1...annx1=b1=b2=...=bn

求解线性方程组的其中两种解法:

求解线性方程组的方法不只两种,但是我在这里介绍两种,一种是Cramer法则,一种是Gauss消元法。

  • Cramer法则:本该在线代里面学过,但是如果你忘了或者是根本没有学好,请移步到https://blog.csdn.net/jackghq/article/details/90712570,这是CSDN中总结了Cramer法则的一篇较好的文章。
  • 高斯消元法:高斯消元法相对于Cramer法则来说大大减少了时间复杂度,尤其是在使用计算机进行计算的时候,效果更加显著。我们主要学习高斯消元法。

几个要谈的问题:

设计算法的时候,我们要注意以下几个问题:

  • 尽量不要把两个相近的数进行相减。两个及其相近的数进行相减,会使有效数字严重损失。其实有很多问题,我们都可以通过形变去改变其运算,而不会是它们相减。
  • 尽量不要使用大数去加上一个小数。主要原因是因为,由于舍去误差(计算机有一定的精度),当一个大数加上一个小数的时候,会使的小数根本没有发挥作用。我们可以用小数除以大数。
  • 尽量不要除以一个绝对值很小的数。除以一个很小的数,结果会很大很大,就会产生溢出现象
  • 减少运算次数,也就是说减少时间复杂度。另外,运算次数多,每次运算都要产生无可避免的舍去误差,当误差积累时就会结果失真。
  • 选用数值稳定的式子。式子尽量收敛或者可控。所以尽量不要使用连加或者连乘的方式。

直接方法:

  • 什么叫做直接方法?
    直接方法就是忽略舍去误差、可以求出精确值的方法,本次主要讨论两个直接方法,一个是Cramer法则,另一个就是gauss消元法。
  • 但是有个问题:
    就站在上述的第四条问题的观点上,我们看看Cramer需要多大的计算量:
    按照行列式的定义计算(n个不同行不同列的元素外加一个符号),共有 ( n − 1 ) n ! (n-1)n! (n1)n!次,然后根据Cramer法则就有 ( n + 1 ) ( n − 1 ) n ! (n+1)(n-1)n! (n+1)(n1)n!次,如果有加入n=20,就需要约 9.7 × 1 0 20 9.7\times10^{20} 9.7×
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值