如何快速求出一个矩阵的逆矩阵

跪求~快速求出逆矩阵的方法普通矩阵,特殊矩阵(像什么对角矩阵)都要,越多越好,最好能总结一下。。不过,最主要的还是想要一般的,那种没特殊性的矩阵的逆矩阵求法,A^-1=1... 跪求~快速求出逆矩阵的方法
普通矩阵,特殊矩阵(像什么对角矩阵)都要,越多越好,最好能总结一下。。
不过,最主要的还是想要一般的,那种没特殊性的矩阵的逆矩阵求法,A^-1=1/|A| *(A*)这个方法算的慢,一不小心还算错了
不是用软件算啦= = 就是平时考试做作业算算
展开
 我来答
dasa_zxc
推荐于2017-10-09 · TA获得超过3024个赞
知道小有建树答主
回答量:438
采纳率:100%
帮助的人:534万
展开全部
一般考试的时候,矩阵求逆最简单的办法是用增广矩阵
如果要求逆的矩阵是A
则对增广矩阵(A E)进行初等行变换 E是单位矩阵
将A化到E,此时此矩阵的逆就是原来E的位置上的那个矩阵
原理是 A逆乘以(A E) = (E A逆) 初等行变换就是在矩阵的左边乘以A的逆矩阵得到的

至于特殊的...对角矩阵的逆就是以对角元的倒数为对角元的对角矩阵
剩下的只能是定性的 比如上三角阵的逆一定是上三角的 等等
考试的时候不会让你算太繁的矩阵
MS19970305
2019-12-21 · TA获得超过1370个赞
知道小有建树答主
回答量:1816
采纳率:33%
帮助的人:105万
展开全部
1.A的伴随矩阵除以A的行列式

2.给A的右边拼一个同阶单位阵

【A|E】然后通过行变换把左边变位单位阵,这时右边的就是A的逆矩阵【E|A逆】

3.如果A是二阶的,那么就主对角线元素交换位置,副对角线元素变号,然后除以行列式

4.如果A是抽象的,用定义,凑成AB=E,B就是你要求的

5.0比较多的时候可以分块矩阵求逆

6.如果A很特殊:

对角阵直接取各元素倒数,正交阵直接转置
1 A的伴随矩阵除以A的行列式

2 给A的右边拼一个同阶单位阵

【A|E】然后通过行变换把左边变位单位阵,这时右边的就是A的逆矩阵【E|A逆】

3 如果A是二阶的,那么就主对角线元素交换位置,副对角线元素变号,然后除以行列式

4如果A是抽象的,用定义,凑成AB=E,B就是你要求的

5 0比较多的时候可以分块矩阵求逆

6 如果A很特殊:
对角阵直接取各元素倒数,正交阵直接转置
可能还有别的吧,我也记不得了,正常情况方法2还是比较好
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
高代数分概统
2009-12-07 · TA获得超过177个赞
知道答主
回答量:1
采纳率:0%
帮助的人:0
展开全部
没有人用伴随矩阵算的~无比麻烦
把要求的矩阵A和单位矩阵E并排写一起
AE然后同时进行初等行变换~把A变成单位矩阵E
此时E就变成了A的逆

这是因为对A初等行变换 相当于左乘一个矩阵P 所以PA=E 而此时 P就是A的逆
P同时作用于了E 就被E记录了 PE=P 就是A的逆
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
邰明雨as
高粉答主

2019-09-04 · 繁杂信息太多,你要学会辨别
知道答主
回答量:13.1万
采纳率:7%
帮助的人:6349万
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友62b71e666
2009-11-30 · TA获得超过118个赞
知道答主
回答量:181
采纳率:0%
帮助的人:130万
展开全部
矩阵求逆:
int inverse(double C[][MAX],double B[][MAX],int n)
{//1.set B[][] I;
double A[MAX][MAX],e;
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
{
A[i][j]=C[i][j];
if(i==j) B[i][j]=1;
else B[i][j]=0;

}

//2. inverse and judge the Matrix inversable
for(i=0;i<n;i++)
{
//对主元为零的处理
if(A[i][i]==0)
for(int j=i+1;j<n;j++)
{
if(A[j][i]!=0)
{
for(int k=0;k<n;k++)
{
A[i][k]+=A[j][k];
B[i][k]+=B[j][k];
}
break;
}
}
if(fabs(A[i][i])<0.000000000000001)
{
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
B[i][j]=0;
return 0;
}//MAT can't be inversed
// line processing
e=A[i][i];
for(int j=0;j<n;j++)
{
A[i][j]=A[i][j]/e;
B[i][j]=B[i][j]/e;
}
// row processing
for(j=0;j<n;j++)
{
e=A[j][i];
for(int k=0;k<n;k++)
if(i!=j)
{
A[j][k]+=-1*e*A[i][k];
B[j][k]+=-1*e*B[i][k];
}
}
}
return 1;
}
这是方阵求逆,如果要广义逆算法, 联系我.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式