文档库 最新最全的文档下载
当前位置:文档库 › 初等变换法求逆矩阵C++实现

初等变换法求逆矩阵C++实现

初等变换法求逆矩阵C++实现
初等变换法求逆矩阵C++实现

说明

1、该程序模拟初等变换法求逆矩阵的过程,但效率并不是最优的,仅供参考。

2、运行之前,请修改宏定义M和N的值,使之和增广矩阵(a E)的行数以及列数匹配。

3、推荐一个在线求逆矩阵的网站(应用数学家园),网站地址:

https://www.wendangku.net/doc/a3489353.html,/computing/geninvbl.aspx

代码

/*

初等变换法求逆矩阵C++实现

by LDSD

2015/10/30

*/

#include

using namespace std;

#define N 8 //定义为增广后矩阵的列数,实际上,N=2*M

#define M 4 //定义为该矩阵的行数

void print(float a[][N],int start)//每行从start的位置输出

{

cout<<"—————————————————————————————"<

for(int i=0;i

{

for(int j=start;j

{

cout<

}

cout<

}

cout<<"—————————————————————————————"<

}

void exchange(float a[][N],int han1,int han2)

{

float tmp;

cout<<"\n\n交换第"<

for(int i=0;i

{

tmp=a[han1][i];

a[han1][i]=a[han2][i];

a[han2][i]=tmp;

}

}

int compare(float a[],float b[],int direction)

/*

1 0

2 3

0 2 4 5

如果第一行大于第二行,返回-1,进行交换

否则(第一行等于或小于第二行)

如果direction为1返回第一个可以做运算的位置,这里是2

如果direction为0返回-2,从而程序直接跳过去

*/

{

int j=0;

int a_local=0,b_local=0;

for(j=0;j

{

if(a[j]!=0)

{

a_local=j;

break;

}

}

for(j=0;j

{

if(b[j]!=0)

{

b_local=j;

break;

}

}

if(a_local==N||b_local==N)

return N;

else if((a_local>b_local)&&direction==0) return -1;

else if((a_local==b_local)&&direction==0) return b_local;

else if((a_local

else if((a_local

else if((a_local>=b_local)&&direction==1) return a_local;

}

int deal(float a[][N],int han1,int han2,int direction)

{

//返回的flag为1,则调用print函数

int flag=0;

int i=0,local=0;

float save1,save2,div_factor;

local=compare(a[han1],a[han2],direction);

if(local==N/2)

cout<<"这个矩阵行列式为0,不存在逆矩阵"<

else if(local==-1)

{

exchange(a,han1,han2);

flag=1;

}

else if(a[han1][local]!=0&&local!=-2)

{

save1=a[han2][local];

save2=a[han1][local];

div_factor=a[han2][local]/a[han1][local];

for(int k=0;k

{

a[han2][k]=a[han2][k]-a[han1][k]*save1/save2;

}

cout<<"\n\n第"<<1+han2<<"行减去"<

flag=1;

}

return flag;

}

void generator(float a[][N])

{

for(int i=0;i

a[i][M+i]=1;

}

int reverse(float a[][N])

{

int flag=0;

generator(a);//把一个单位矩阵补加到矩阵后面

for(int i=0;i

{

for(int j=i;j

{

flag=deal(a,i,j+1,0);

if(flag==1)

print(a,0);

else if(flag==2)

return 0;

}

}

for(int k=0;k

for(int m=k;m

{

flag=deal(a,m+1,k,1);

if(flag==1)

print(a,0);

else if(flag==2)

return 0;

}

}

void unit(float a[][N])

{

for(int j=0;j

{

for(int i=N/2;i

{

a[j][i]=a[j][i]/a[j][j];

}

a[j][j]=1;

}

}

void main()

{

// float a[M][N]={{4,-1,-3},{-6,2,3},{-5,1,5}};

float a[M][N]={{1,1,2,0},{-3,-3,-5,1},{0,-1,-3,-1},{0,0,-1,0}};

// float a[M][N]={{1,0,0},{0,1,0},{0,0,1}};

// float a[M][N]={{1,1,3},{0,3,4},{8,4,6}};

reverse(a); //此函数得到的结果还没有单位化

unit(a); //对矩阵进行单位化

cout<<"即该矩阵的逆矩阵如下:"<

print(a,N/2);

}

示例

用矩阵的初等变换求逆矩阵

2007年11月16日至18日,有幸参加了由李尚志教授主讲的国家精品课程线性代数(非数学专业)培训班,使我受益匪浅,在培训中,我见识了一种全新的教学理念。李老师的“随风潜入夜,润物细无声”“化抽象为自然”“饿了再吃”等教学理念很值得我学习。作为刚参加工作的年轻教师,我应该在以后的教学中,慢慢向这种教学理念靠拢,使学生在不知不觉中掌握较为抽象的知识。下面这个教案是根据李老师的教学理念为“三本”学生写的,不知是否能达要求,请李老师指教。 用矩阵的初等变换求逆矩阵 一、问题提出 在前面我们以学习了用公式 求逆矩阵,但当矩阵A 的阶数较大时,求 A*很繁琐,此方法不实用,因此必须找一种更简单的方法求逆矩阵,那么如何找到一种简单的方法呢? (饿了再吃) 二、求逆矩阵方法的推导 (“润物细无声”“化抽象为自然”) 我们已学习了矩阵初等变换的性质,如 1.定理 2.4 对mxn 矩阵A ,施行一次初等行变换,相当于在A 的左边乘以相应m 阶初等矩阵;对A 施行一次初等列变换,相当于在A 的右边乘以相应的n 阶初等矩阵。 2.初等矩阵都是可逆矩阵,其逆矩阵还是初等矩阵。 3.定理2.5的推论 A 可逆的充要条件为A 可表为若干初等矩阵之积。即 4.推论 A 可逆,则A 可由初等行变换化为单位矩阵。 (1) 由矩阵初等变换的这些性质可知,若A 可逆,构造分块矩阵(A ︱E ),其中E 为与A 同阶的单位矩阵,那么 (2) 由(1)式 代入(2)式左边, 上式说明分块矩阵(A ︱E )经过初等行变换,原来A 的位置变换为单位阵E ,原来E 的位置变换为我们所要求的1A -,即 211211111111 12112112s t s s t t m P P P AQ Q Q E A P P P P EQ Q Q Q R R R ----------=?=? 11121m R R R A E ---= 111121m R R R A ----= ()()122n n n n A E E A -???????→ 1*1A A A -=()()()1111A A E A A A E E A ----==111121m A R R R ----= ()()111121m R R R A E E A ----=

用矩阵的初等变换求逆矩阵

2007年11月16日至18日,有幸参加了由李尚志教授主讲的国家精品课程线性代数(非数学专业)培训班,使我受益匪浅,在培训中,我见识了一种全新的教学理念。李老师的“随风潜入夜,润物细无声”“化抽象为自然”“饿了再吃”等教学理念很值得我学习。作为刚参加工作的年轻教师,我应该在以后的教学中,慢慢向这种教学理念靠拢,使学生在不知不觉中掌握较为抽象的知识。下面这个教案是根据李老师的教学理念为“三本”学生写的,不知是否能达要求,请李老师指教。 用矩阵的初等变换求逆矩阵 一、问题提出 在前面我们以学习了用公式求逆矩阵,但当矩阵A的阶数较大时,求A*很繁琐,此方法不实用,因此必须找一种更简单的方法求逆矩阵,那么如何找到一种简单的方法呢?(饿了再吃) 二、求逆矩阵方法的推导(“润物细无声”“化抽象为自然”) 我们已学习了矩阵初等变换的性质,如 1.定理对mxn矩阵A,施行一次初等行变换,相当于在A的左边乘以相应m阶初等矩阵;对A施行一次初等列变换,相当于在A的右边乘以相应的n阶初等矩阵。 2.初等矩阵都是可逆矩阵,其逆矩阵还是初等矩阵。 3.定理的推论A可逆的充要条件为A可表为若干初等矩阵之积。即 4.推论 A可逆,则A 可由初等行变换化为单位矩阵。 (1) 由矩阵初等变换的这些性质可知,若A可逆,构造分块矩阵(A︱E),其中E为与A同阶

的单位矩阵,那么 (2) 由(1)式代入(2)式左边, 上式说明分块矩阵(A︱E)经过初等行变换,原来A的位置变换为单位阵E,原来E的位置 A ,即 变换为我们所要求的1 三,讲解例题 1. 求逆矩阵方法的应用之一 例 解: 四,知识拓展 2.求逆矩阵方法的应用之二 利用矩阵的初等行变换也可以判断一个矩阵是否可逆,即分块矩阵(A︱E)经过初等行变换,原来A的位置不能变换为单位阵E,那么A不可逆。

考研数学:用初等变换求逆矩阵及乘积的方法

考研数学:用初等变换求逆矩阵及乘积的方法 来源:文都教育 在考研数学线性代数中,初等变换是一种非常重要的方法,被广泛地用于很多题型的求解之中,如行列式的计算、矩阵的求逆、线性方程组的求解、矩阵秩的计算、化二次型为标准型等。初等变换包括初等行变换和初等列变换,具体说有三种:互换两行(列)、某行(列)乘以一个非零数、某行(列)乘以一个数加到另一行(列)。下面我们对初等变换在矩阵求逆及乘积中的应用做些分析总结,供各位考研的学子参考。 一、用初等变换求逆矩阵及乘积的方法 1、用初等行变换求逆矩阵1A -:对(,)A E 作初等行变换,将其中的A 变为单位矩阵E ,这时单位矩阵E 就变为1 A -,即1(,)(,)r A E E A -→,由此即求得1A -; 2、用初等列变换求逆矩阵1A -:求1A -也可用初等列变换,对A E ?? ??? 作初等列 变换,将其中的A 变为单位矩阵E ,这时单位矩阵E 就变为1 A -,即1c A E E A -???? → ? ????? , 由此即求得1A -; 3、用初等行变换求1A B -:对(,)A B 作初等行变换,将其中的A 变为单位矩阵E ,这时矩阵B 就变为1 A B -,即1(,)(,)r A B E A B -→,由此即求得1A B -; 4、用初等列变换求1BA -:对A B ?? ??? 作初等列变换,将其中的A 变为单位矩阵 E ,这时矩阵B 就变为1 BA -,,即1c A E B BA -???? → ? ????? ,由此1BA -此即求得1BA -.

上面的1)和2)实际上是3)和4)的特殊情况,只要取B E =即得1)和2)。 下面只要证明3)和4)即可。 证:3)由于作一次初等行变换相当于左乘一个初等矩阵,所以对A 作一系列的初等行变换得到单位矩阵E 相当于A 左乘一个可逆阵P ,使PA E =,这时 1 P A -=,1 (,)(,)(,)(,B)P A B PA PB E PB E A -===,即1(,)(,)r A B E A B -→; 4)同3)类似,由于作一次初等列变换相当于右乘一个初等矩阵,所以对A 作一系列的初等列变换得到单位矩阵E 相当于A 右乘一个可逆阵P ,使A P E =, 这时1 P A -=,1A AP E P B BP BA -??????== ? ? ??????? ,即1c A E B BA -???? → ? ?????. 二、典型实例 例1.设011111112A -?? ? =- ? ?--?? ,求1A -. 解:作初等行变换: 011100111010(,)111010011100112001021011r r A E --???? ? ?=-→-→ ? ? ? ?----???? 11110101003120111000 10111(,)0012110 1 211r r E A -----???? ? ?→--→-= ? ? ? ?----??? ? ,故1312111211A --?? ?=- ? ?-?? . 例2.解矩阵方程211113210432111X -?? -?? ?= ? ??? ?-?? .

总结求矩阵的逆矩阵的方法

总结求矩阵的逆矩阵的方法-标准化文件发布号:(9556-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

总结求矩阵的逆矩阵的方法 课程名称: 专业班级: 成员组成: 联系方式:

摘要:矩阵是线性代数的主要内容,很多实际问题用矩阵的思想去解既简单又快捷.逆矩阵又是矩阵理论的很重要的内容, 逆矩阵的求法自然也就成为线性代数 研究的主要内容之一.本文将给出几种求逆矩阵的方法. 关键词:矩阵逆矩阵方法 Method of finding inverse matrix Abstract: Matrix in linear algebra is the main content,many prictical problems with the matrix theory is simple and fast. The inverse matrix andmatrix theory the important content, the solution of inverse matrix nature has become one of the main research contents of linear algebra. The paper will give some method of finding inverse matrix. Key words: Matrix inversematrix method

正文: 1.引言:矩阵是线性代数的主要内容,很多实际问题用矩阵的思想去解既简单又快捷.逆矩阵又是矩阵理论的很重要的内容, 逆矩阵的求法自然也就成为线性代数研究的主要内容之一.本文将给出几种求逆矩阵的方法. 2.求矩阵的逆矩阵的方法总结: 2.1 矩阵的基本概念 矩阵,是由个数组成的一个行列的矩形表格,通常用大写字母表示,组成矩阵的每一个数,均称为矩阵的元素,通常用小写字母其元素表示,其中下标都是正整数,他们表示该元素 在矩阵中的位置。比如,或表示一个 矩阵,下标表示元素位于该矩阵的第行、第列。元素全为零的矩阵称为零矩阵。 特别地,一个矩阵,也称为一个维列向量;而一个矩阵,也称为一个维行向量。 当一个矩阵的行数与烈数相等时,该矩阵称为一个阶方阵。对于方阵,从左上角到右下角的连线,称为主对角线;而从左下角到右上角的连线称 为付对角线。若一个阶方阵的主对角线上的元素都是,而其余元素都是零,则称为单位矩阵,记为,即:。如一个阶

用矩阵初等变换逆矩阵

用矩阵初等变换逆矩阵

————————————————————————————————作者:————————————————————————————————日期:

2007年11月16日至18日,有幸参加了由李尚志教授主讲的国家精品课程线性代数(非数学专业)培训班,使我受益匪浅,在培训中,我见识了一种全新的教学理念。李老师的“随风潜入夜,润物细无声”“化抽象为自然”“饿了再吃”等教学理念很值得我学习。作为刚参加工作的年轻教师,我应该在以后的教学中,慢慢向这种教学理念靠拢,使学生在不知不觉中掌握较为抽象的知识。下面这个教案是根据李老师的教学理念为“三本”学生写的,不知是否能达要求,请李老师指教。 用矩阵的初等变换求逆矩阵 一、问题提出 在前面我们以学习了用公式 求逆矩阵,但当矩阵A 的阶数较大时,求A*很繁琐,此方法不实用,因此必须找一种更简单的方法求逆矩阵,那么如何找到一种简单的方法呢? (饿了再吃) 二、求逆矩阵方法的推导 (“润物细无声”“化抽象为自然”) 我们已学习了矩阵初等变换的性质,如 1.定理 2.4 对mxn 矩阵A ,施行一次初等行变换,相当于在A 的左边乘以相应m 阶初等矩阵;对A 施行一次初等列变换,相当于在A 的右边乘以相应的n 阶初等矩阵。 2.初等矩阵都是可逆矩阵,其逆矩阵还是初等矩阵。 3.定理2.5的推论 A 可逆的充要条件为A 可表为若干初等矩阵之积。即 4.推论 A 可逆,则A 可由初等行变换化为单位矩阵。 (1) 由矩阵初等变换的这些性质可知,若A 可逆,构造分块矩阵(A ︱E ),其中E 为与A 同阶的单位矩阵,那么 (2) 由(1)式 代入(2)式左边, 上式说明分块矩阵(A ︱E )经过初等行变换,原来A 的位置变换为单位阵E ,原来E 的位置 变换为我们所要求的1 A -,即 21121111111112112112s t s s t t m P P P AQ Q Q E A P P P P EQ Q Q Q R R R ----------=?=?L L L L L 111 21m R R R A E ---=L 111121m R R R A ----=L () () 1 22n n n n A E E A -???????→ 1* 1A A A -=( )()() 1111A A E A A A E E A ----==1111 21m A R R R ----=L ( )() 1 111 21m R R R A E E A ----=L

(完整版)逆矩阵的几种求法与解析(很全很经典)

逆矩阵的几种求法与解析 矩阵是线性代数的主要内容,很多实际问题用矩阵的思想去解既简单又快捷.逆矩阵又是矩阵理论的很重要的内容, 逆矩阵的求法自然也就成为线性代数研究的主要内容之一.本文将给出几种求逆矩阵的方法. 1.利用定义求逆矩阵 定义: 设A 、B 都是n 阶方阵, 如果存在n 阶方阵B 使得AB= BA = E, 则称A 为可逆矩阵, 而称B 为A 的逆矩阵.下面举例说明这种方法的应用. 例1 求证: 如果方阵A 满足A k= 0, 那么EA 是可逆矩阵, 且 (E-A )1-= E + A + A 2+…+A 1-K 证明 因为E 与A 可以交换, 所以 (E- A )(E+A + A 2+…+ A 1-K )= E-A K , 因A K = 0 ,于是得 (E-A)(E+A+A 2+…+A 1-K )=E , 同理可得(E + A + A 2+…+A 1-K )(E-A)=E , 因此E-A 是可逆矩阵,且 (E-A)1-= E + A + A 2+…+A 1-K . 同理可以证明(E+ A)也可逆,且 (E+ A)1-= E -A + A 2+…+(-1)1-K A 1-K . 由此可知, 只要满足A K =0,就可以利用此题求出一类矩阵E ±A 的逆矩阵. 例2 设 A =? ? ?? ? ???? ???0000 30000020 0010,求 E-A 的逆矩阵. 分析 由于A 中有许多元素为零, 考虑A K 是否为零矩阵, 若为零矩阵, 则可以采用例2 的方法求E-A 的逆矩阵. 解 容易验证

A 2 =????????? ???0000000060000200, A 3=? ? ?? ? ? ? ?? ???00000000 00006000 , A 4=0 而 (E-A)(E+A+ A 2+ A 3)=E,所以 (E-A)1-= E+A+ A 2+ A 3= ? ? ?? ? ???????1000 31006210 6211. 2.初等变换法 求元素为具体数字的矩阵的逆矩阵,常用初等变换法.如果A 可逆,则A 可通过初等变换,化为单位矩阵I ,即存在初等矩阵S P P P ,,21Λ使 (1)s p p p Λ21A=I ,用A 1-右乘上式两端,得: (2) s p p p Λ21I= A 1- 比较(1)(2)两式,可以看到当A 通过初等变换化为单位矩阵的同时,对单位矩阵I 作同样的初等变换,就化为A 的逆矩阵A 1-. 用矩阵表示(A I )??? →?初等行变换 为(I A 1-),就是求逆矩阵的初等行变换法,它是实际应用中比较简单的一种方法.需要注意的是,在作初等变换时只允许作行初等变换.同样,只用列初等变换也可以求逆矩阵. 例1 求矩阵A 的逆矩阵.已知A=???? ? ?????521310132. 解 [A I]→??????????100521010310001132→???? ? ?????001132010310100521 → ??????????--3/16/16/1100010310100521→???? ??????-----3/16/16/110012/32/10103/46/136/1001

矩阵求逆方法大全-1

求逆矩阵的若干方法和举例 苏红杏 广西民院计信学院00数本(二)班 [摘 要] 本文详细给出了求逆矩阵的若干方法并给出相应的例子,以供学习有关矩阵方面 的读者参考。 [关键词] 逆矩阵 初等矩阵 伴随矩阵 对角矩阵 矩阵分块 多项式等 引 言 在我们学习《高等代数》时,求一个矩阵的逆矩阵是一个令人十分头痛的问题。但是,在研究矩阵及在以后学习有关数学知识时,求逆矩阵又是一个必不可缺少的知识点。为此,我介绍下面几种求逆矩阵的方法,供大家参考。 定义: n 阶矩阵A 为可逆,如果存在n 阶矩阵B ,使得E BA AB ==,这里E 是n 阶单位矩阵,此时,B 就称为A 的逆矩阵,记为1-A ,即:1-=A B 方法 一. 初等变换法(加边法) 我们知道,n 阶矩阵A 为可逆的充分必要条件是它能表示成一系列初等矩阵的乘积A=m Q Q Q 21, 从而推出可逆矩阵可以经过一系列初等行变换化成单位矩阵。即,必有一系列初等矩阵 m Q Q Q 21使 E A Q Q Q m m =-11 (1) 则1-A =E A Q Q Q m m =-11 (2) 把A ,E 这两个n 阶矩阵凑在一起,做成一个n*2n 阶矩阵(A ,E ),按矩阵的分块乘法,(1)(2)可以合并写成 11Q Q Q m m -(A ,E )=(11Q Q Q m m -,A ,E Q Q Q m m 11 -)=(E ,1-A ) (3) 这样就可以求出矩阵A 的逆矩阵1-A 。 例 1 . 设A= ???? ? ??-012411210 求1-A 。 解:由(3)式初等行变换逐步得到: ????? ??-100012010411001210→ ????? ??-100012001210010411 →???? ? ??----123200124010112001→

用矩阵的初等变换求逆矩阵资料讲解

用矩阵的初等变换求 逆矩阵

2007年11月16日至18日,有幸参加了由李尚志教授主讲的国家精品课程线性代数(非数学专业)培训班,使我受益匪浅,在培训中,我见识了一种全新的教学理念。李老师的“随风潜入夜,润物细无声”“化抽象为自然”“饿了再吃”等教学理念很值得我学习。作为刚参加工作的年轻教师,我应该在以后的教学中,慢慢向这种教学理念靠拢,使学生在不知不觉中掌握较为抽象的知识。下面这个教案是根据李老师的教学理念为“三本”学生写的,不知是否能达要求,请李老师指教。 用矩阵的初等变换求逆矩阵 一、 问题提出 在前面我们以学习了用公式 求逆矩阵,但当矩阵A 的阶数较大时,求A*很繁琐,此方法不实用,因此必须找一种更简单的方法求逆矩阵,那么如何找到一种简单的方法呢? (饿了再吃) 二、 求逆矩阵方法的推导 (“润物细无声”“化抽象为自然”) 我们已学习了矩阵初等变换的性质,如 1.定理 2.4 对mxn 矩阵A ,施行一次初等行变换,相当于在A 的左边乘以相应m 阶初等矩阵;对A 施行一次初等列变换,相当于在A 的右边乘以相应的n 阶初等矩阵。 2.初等矩阵都是可逆矩阵,其逆矩阵还是初等矩阵。 3.定理2.5的推论 A 可逆的充要条件为A 可表为若干初等矩阵之积。即 1*1A A A -=

4.推论 A 可逆,则A 可由初等行变换化为单位矩阵。 (1) 由矩阵初等变换的这些性质可知,若A 可逆,构造分块矩阵(A ︱E ),其中E 为与A 同阶的单位矩阵,那么 (2) 由(1)式 代入(2)式左边, 上式说明分块矩阵(A ︱E )经过初等行变换,原来A 的位置变换为单位阵E ,原来E 的位置变换为我们所要求的1A -,即 三,讲解例题 1. 求逆矩阵方法的应用之一 例 解: 21121111111112112112s t s s t t m P P P AQ Q Q E A P P P P EQ Q Q Q R R R ----------=? =?11121m R R R A E ---=1111 21m R R R A ----=()()122n n n n A E E A -???????→ 1112120,113A A -?? ?=- ? ???设求。112100120010113001A E ?? ?=- ? ??? ()2131r r r r +-112100032110001101?? ???→ ? ?-??110302030312001101?-? ??? →- ? ?-??132322r r r r --30211012010133001101??- ???→- ? ? ?-?? 313r ()()() 1111 A A E A A A E E A ----==111121m A R R R ----=()() 111121m R R R A E E A ----=

关于初等变换求逆矩阵

初等变换求逆矩阵理论在课堂上讲过好几次了,在此不多赘述. 现在主要说说如何将一个矩阵(A E)通过行变换变为(E A -1),其关键是如何将A 变为E 即就是变为A 的行最简形(由于A 是可逆矩阵,故其行最简形为单位矩阵E )。具体做法有两种: 方法1:对(A E),通过合适的行变换使得a 11=1,观察a 11与第一列中a 11下方的元素之间的关系,施行相应行变换将a 11下方的元素变为0;通过合适的行变换使得a 22=1,观察a 22与第二列中a 22下方的元素之间的关系,施行相应行变换将a 22下方的元素变为0;……;通过合适的行变换使得a n-1,n-1=1,观察a n-1,n-1与第n-1列中a n-1,n-1下方的元素之间的关系,施行相应行变换将a n-1,n-1下方的元素变为0 。接着,反过来,通过合适的行变换使得a nn =1,观察a nn 与第n 列中a nn 上方的元素之间的关系,施行相应行变换将a nn 上方的元素变为0;观察a n-1,n-1与第n-1列中a n-1,n-1上方的元素之间的关系,施行相应行变换将a n-1,n-1上方的元素变为0;……;观察a 22与第二列中a 22上方的元素之间的关系,施行相应行变换将a 22上方的元素变为0,结束。此时矩阵形式为(E A -1)。比如,习题册Page19,四(2)具体做法如下: ()1331 2433201 1000123200 100221 01000221010012320010320110000121 000 101210 00 1123200101232 001002210100012100010495103004950121000 1r r r r r r A E ?-?-----???? ? ? ? ?=???→ ? ?----- ? ?????------?? ? ????→???→ ? - ???324342 3424 14 422210300221 10 0123200101232 0010012100010121 0001001110340011103400210 1020001 2 16101230421120012021611r r r r r r r r r r r r -+---+?? ? ? ?- ??? ------???? ? ? ? ????→???→ ? ? ---- ? ? -----???? ------???→()231312 23211 1200 11220100 0101001011360010 11360001216100001216101000112401000101001011360 001 21610112401011136216 10r r r r r r E A A -++------???? ? ? - ? ????→ ? ? ---- ? ? ----???? --?? ? - ? ???→= ?-- ? --??--?-∴=----? ? ? ? ???

逆矩阵的几种求法与解析(很全很经典)

逆矩阵的几种求法与解析 矩阵是线性代数的主要内容,很多实际问题用矩阵的思想去解既简单又快捷.逆矩阵又是矩阵理论的很重要的内容, 逆矩阵的求法自然也就成为线性代数研究的主要内容之一.本文将给出几种求逆矩阵的方法. 1.利用定义求逆矩阵 定义: 设A、B 都是n 阶方阵, 如果存在n 阶方阵B 使得AB= BA = E, 则称A 为可逆矩阵, 而称B为A 的逆矩阵.下面举例说明这种方法的应用. 例1 求证: 如果方阵A 满足A k= 0, 那么EA是可逆矩阵, 且 (E-A)1-= E + A + A2+…+A1-K 证明因为E 与A 可以交换, 所以 (E- A )(E+A + A2+…+ A1-K)= E-A K, 因A K= 0 ,于是得 (E-A)(E+A+A2+…+A1-K)=E, 同理可得(E + A + A2+…+A1-K)(E-A)=E, 因此E-A是可逆矩阵,且 (E-A)1-= E + A + A2+…+A1-K. 同理可以证明(E+ A)也可逆,且 (E+ A)1-= E -A + A2+…+(-1)1-K A1-K. 由此可知, 只要满足A K=0,就可以利用此题求出一类矩阵E±A的逆矩阵.

例2 设 A =? ? ?? ? ???? ???000030000020 0010,求 E-A 的逆矩阵. 分析 由于A 中有许多元素为零, 考虑A K 是否为零矩阵, 若为零矩阵, 则可以采用例2 的方法求E-A 的逆矩阵. 解 容易验证 A 2=???? ????? ???0000 000060000200, A 3=? ? ?? ? ? ? ?? ???0000 0000 00006000 , A 4=0 而 (E-A)(E+A+ A 2+ A 3)=E,所以 (E-A)1-= E+A+ A 2+ A 3 =? ? ?? ? ???? ???1000 31006210 6211. 2.初等变换法 求元素为具体数字的矩阵的逆矩阵,常用初等变换法.如果A 可逆,则A 可通过初等变换,化为单位矩阵I ,即存在初等矩阵S P P P ,,21Λ使 (1)s p p p Λ21A=I ,用A 1-右乘上式两端,得: (2) s p p p Λ21I= A 1- 比较(1)(2)两式,可以看到当A 通过初等变换化为单位矩阵的同时,对单位矩阵I 作同样的初等变换,就化为A 的逆矩阵A 1-. 用矩阵表示(A I )??? →?初等行变换 为(I A 1-),就是求逆矩阵的初等行变换法,它是实际应用中比较简单的一种方法.需要注意的是,在作初等变换时只允许作行初等变换.同样,只用列初等变换也可以求逆矩阵.

初等变换法求逆矩阵C++实现

说明 1、该程序模拟初等变换法求逆矩阵的过程,但效率并不是最优的,仅供参考。 2、运行之前,请修改宏定义M和N的值,使之和增广矩阵(a E)的行数以及列数匹配。 3、推荐一个在线求逆矩阵的网站(应用数学家园),网站地址: https://www.wendangku.net/doc/a3489353.html,/computing/geninvbl.aspx 代码 /* 初等变换法求逆矩阵C++实现 by LDSD 2015/10/30 */ #include using namespace std; #define N 8 //定义为增广后矩阵的列数,实际上,N=2*M #define M 4 //定义为该矩阵的行数 void print(float a[][N],int start)//每行从start的位置输出 { cout<<"—————————————————————————————"<

} cout<<"—————————————————————————————"<

相关文档
相关文档 最新文档