实对称正定矩阵求逆矩阵
根据线性代数理论,实对称正定矩阵显然有逆矩阵,而且逆矩阵也是对称矩阵,即aij=aji(i不等于j).以下为书上原程序,但运行后结果不对(结果不是对称矩阵),正确结果为:
68 -41 -17 10
-41 25 10 -6
-17 10 5 -3
10 -6 -3 2
请将程序稍加修改,运行结果正确后再答复给我.
/* 试验未通过 */
/* 正定矩阵求逆 */
#include
#include
/* #include*/
/* 新系数的计算公式:*/
int GJ(int,double **); /* a11'=1/a11 */
double **TwoArrayAlloc(int,int); /* a1j'=-a1j/a11 j=2,3,...,n */
void TwoArrayFree(double **); /* ai1'=ai1/a11 i=2,3,...,n */
/* aij'=aij-ai1*a1j/a11 i,j=2,3,...,n */
void main()
{
int i,j,n;
double **a;
n=4;
a=TwoArrayAlloc(n,n);
a[0][0]=5; a[0][1]=7; a[0][2]=6; a[0][3]=5;
a[1][0]=7; a[1][1]=10; a[1][2]=8; a[1][3]=7;
a[2][0]=6; a[2][1]=8; a[2][2]=10; a[2][3]=9;
a[3][0]=5; a[3][1]=7; a[3][2]=9; a[3][3]=10;
if(!GJ(n,a))
{
printf("矩阵求逆失败\n");
exit(1);
}
printf("该矩阵的逆为:\n");
for(i=0;i
人气:461 ℃ 时间:2020-02-04 03:20:28
解答
应当对称:
#include
#include
#include
#include
#define N 4
double A[N][N]={{68,-41,-17,10 },{-41,25 ,10 ,-6 },{-17,10,5,-3
},{10,-6,-3,2 }};
void swap(double *a,double *b){double c; c= *a; *a= *b; *b= c;};
int DinV(double A[N][N],int n)
{
int i,j,k;
double d;
int JS[N],IS[N];
for (k=0;k
推荐
- 求证,多谢! A、B是n阶实对称正定矩阵,求证:若A-B正定,则B的逆矩阵-A的逆矩阵正定
- 设A、B均为N阶实对称正定矩阵,证明:如果A—B正定,则B的逆阵减去A的逆阵正定.
- 矩阵要正定,前提是不是矩阵必须为实对称矩阵呢?
- 设A、B均为N阶实对称正定矩阵,证明:如果A—B正定,则B的逆阵减去A的逆阵正定.
- 什么是对称正定矩阵
- (a十1)(a+2)(a+3)(a+4)十M是—个完全平方式,求M的值,
- 《洁白的木槿花》中廖医生在别人需要帮助时是怎么做的?你觉得他是一个怎样的人?
- 求2012年7月19到8月1 日傍晚六点的月相图,还有8月1号到此月的农历月末早晨以前的月相图
猜你喜欢