【线性代数】矩阵消元-高斯消元法

一、高斯消元法

      能使用消元法的情况:每次消元过程中,对角线元素始终不能为0,即矩阵可逆

   我们一般利用高斯消元法进行矩阵的消元。下面我们通过举例说明:

       如果按照我们初中所学的解法,一般是先用第三个方程将z用y表示,然后代入到第二个方程就可以用x来表示y和z,最后代入第一个方程就可以求得x,y,z。这个算法的核心就是消元!下面我们看看矩阵形式的消元法。


       首先将上面的三元一次方程组表示为矩阵形式为:

        

 
    为了方便,我们将等式右边的向量放到左边,构成增广矩阵(可以百度看看什么是增广矩阵)。下面是消元的具体步骤:

 
      

其中,上图中的第一个矩阵就是所说的增广矩阵,我们记作A,经过步骤E21得到的矩阵为B,经过步骤E32得到的矩阵为C。

       步骤E21的目的是A21=0,这里是指用第二行减去第一行的三倍

       步骤E32的目的是使A32=0,这里是指用第三行减去第二行的两倍

注:高斯消元的目的是使原矩阵(不要考虑最后一列,这一列是等式右边的,matlab是分别对左右两边进行消元的,我这里写在一起是为了方便)对角线下面的元素为0,变成上三角矩阵,在上面例子中本应该在步骤E21和步骤E32中还有步骤E31,使得A31=0。但是原矩阵的A31=0,所以没有必要进行操作。尽管这一步骤没有必要,但matlab会进行操作(没有人机智)。

       通过消元得到的结果矩阵C(上图中的第三个矩阵),我们可以写出其方程组的形式:
        

上面方程组可以直接看出,z=-2,然后代入第二个方程得到y=1,再代入第一个方程得到x=2。

       在上面的消元过程中,原始矩阵A经过步骤E21得到矩阵B,矩阵B经过步骤E32得到矩阵C,我们用矩阵来表示步骤E21,步骤E32,则可以得到:
        

把这两步综合起来得到:

总结,我们令方程组左边的矩阵为D,用初等矩阵E来表示消元操作,用上三角矩阵U表示消元得到的结果,则以上式为例:

二、置换矩阵

      1、行交换:左乘

  
  2、列交换:右乘

原文:http://blog.csdn.net/tengweitw/article/details/39230101

作者:nineheadedbird

时间: 2024-09-15 04:45:49

【线性代数】矩阵消元-高斯消元法的相关文章

POJ3185高斯消元

The Water Bowls Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 3372   Accepted: 1315 Description The cows have a line of 20 water bowls from which they drink. The bowls can be either right-side-up (properly oriented to serve refreshing

POJ2947高斯消元+同余方程

Widget Factory Time Limit: 7000MS   Memory Limit: 65536K Total Submissions: 3453   Accepted: 1139 Description The widget factory produces several different kinds of widgets. Each widget is carefully built by a skilled widgeteer. The time required to

POJ1753高斯消元+枚举

Flip Game Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 20337   Accepted: 8821 Description Flip game is played on a rectangular 4x4 field with two-sided pieces placed on each of its 16 squares. One side of each piece is white and the o

【线性代数】最小二乘与投影矩阵

        前一篇文章<正交投影>中我们讲述了正交投影,现在我们来从正交投影的角度来看看我们熟悉的最小二乘法.我记得最早知道最小二乘法是在大一上高数课的时候,我们首先回顾一下什么是最小二乘法. 1.最小二乘法         最近机器学习比较火,机器学习中的许多算法都是对信息进行分类,比如说支持向量机就是根据已知信息来分类,神经网络可以找到输入输出的关系(当然,不能给出具体的数学表达式),这两种算法都能找到输入与输出的关系,分类和回归总是相辅相成的.以后有时间也准备写写关于机器学习方面的算

【线性代数】矩阵的四个基本子空间

矩阵的四个基本子空间 1.零空间         矩阵A的零空间就Ax=0的解的集合.假设矩阵的秩为r,矩阵为m*n的矩阵,则零空间的维数为n-r.因为秩为r,则自由变量的个数为n-r,有几个自由变量,零空间就可以表示层几个特解的线性组合,也即是零空间的维数为自由变量的个数. 2.列空间        矩阵A的列空间就是矩阵A中各列的线性组合.假设矩阵的秩为r,矩阵为m*n的矩阵,则列空间可以表示为r个主元的线性组合,即零空间的维数为r. 3.行空间         在线性代数中,我们一般习惯将

【线性代数】矩阵的零空间

矩阵A的零空间就Ax=0的解的集合. 零空间的求法:对矩阵A进行消元求得主变量和自由变量:给自由变量赋值得到特解:对特解进行线性组合得到零空间. 假设矩阵如下: 对矩阵A进行高斯消元得到上三角矩阵U,继续化简得到最简矩阵R: 由于方程Ax=0的右侧是零向量,所以只对矩阵A进行消元不会影响解,因此不需要增广矩阵,所以有: 从上面的高斯消元的结果可以看出,矩阵A的秩为2,其中第1,3列为主元列,2,4列为自由列,对应于方程主来说,形式转变如下: 从上式可以看出,x2,x4是自由变量,我们可以随意赋值

【线性代数】矩阵的乘法与求逆

一.矩阵乘法的五种表示方法 1.一般形式 2.矩阵与列向量相乘 3.矩阵与行向量相乘 4.矩阵分块相乘 二.矩阵的逆 对于方阵,左逆=右逆 原矩阵乘以其逆矩阵得到单位矩阵 判断是否可逆的几种方法: 1.行列式为0 2.单位矩阵的各列是矩阵各列的线性组合 3.下式成立时,矩阵A不可逆: 证明:    三.矩阵求逆(高斯-若尔当消元法) 假设矩阵为A: 消元过程如下: 通过消元,我们将矩阵A变成了单位矩阵I,则与此同时,矩阵I变成了A的逆矩阵.证明如下: 原文:http://blog.csdn.ne

【线性代数】图与网络

       前面的关于线性代数的文章都是从数学的角度来讲解的,本文将换个角度来讲解问题.导师时常告诉我,凡事都要想想它的物理或实际意义,需要透过现象看本质,这样就能更加深刻的理解,这样就可以看看线性代数有什么实际的用途.        假设有如下电路网络: 图中有1,2,3,4号节点,y1,y2,y3,y4,y5五条边,箭头的指向标明可以电流流向.我们假设电流的出发点设为-1,到达点设为1,则我们可以通过矩阵来表示上述网络: 矩阵零空间的物理意义 我们首先考虑矩阵A的零空间,则有:      

请教:如果用visual c++进行高斯消元法求解呢?

问题描述 请教:如果用visual c++进行高斯消元法求解呢? 请教下大家,如何用visual c++进行高斯消元法求解呢?谢谢! 解决方案 列选主元消元法/**Gauss.cpp*功能:列选主元消元法 课本3.5为例*时间:2013.4.1*/#include<stdio.h>#include""Gass.h""//高斯消元法(列选主元)void Gauss (double a[][MAXNUM]int n){ int ij; SelectColE(