Not Yet Answered # inverse of a matrix

jonsca 1,059 rahul8590 71 jonsca 1,059 StuXYZ 731 KASHIF JAMAL Write a C program that should create a 10 element array of random integers (0 to 9). The program should total all of the numbers in the odd positions of the array and compare them with the total of the numbers in the even positions of the array and indicate ...

0

This has a step by step method:

http://www.ehow.com/how_5079317_calculate-inverse-matrix.html

0

This has a step by step method:

http://www.ehow.com/how_5079317_calculate-inverse-matrix.html

That was a nice link enlightening the procedure.

I would like to add more on it by saying that u could use matrix template library

http://www.osl.iu.edu/research/mtl/intro.php3

It might be helpful to you.

0

I'm going to go out on a limb and say that it's probably a school assignment so the OP probably can't incorporate it but he/she can get some good ideas from it.

0

If you do write your own Gauss-Jorden elimination procedure, be ** very** careful to deal with the huge numerical rounding errors. Re- stabalization of matrix after most steps is essential. Also please not

the obvious test matrix [1,2,3][4,5,6][7,8,9] has zero determinate so has no inverse.

Simple approaches in books like numerical recipeshttp://www.nr.com/, e.g. pivoting are a start but much better methods exist (e.g. partial row summation).

Note the NR book is freely viewable.

-2

```
//PennyBoki @ </dream.in.code>
#include <stdio.h>
int main()
{
float A[3][3];// the matrix that is entered by user
float B[3][3];//the transpose of a matrix A
float C[3][3];//the adjunct matrix of transpose of a matrix A not adjunct of A
double X[3][3];//the inverse
int i,j;
float x,n=0;//n is the determinant of A
printf("========== Enter matrix A =============================================\n");
for(i=0;i<3;i++)
{ printf("\n");
for(j=0;j<3;j++)
{
printf(" A[%d][%d]= ",i,j);
scanf("%f", &A[i][j]);
B[i][j]=0;
C[i][j]=0;
}
}
for(i=0,j=0;j<3;j++)
{
if(j==2)
n+=A[i][j]*A[i+1][0]*A[i+2][1];
else if(j==1)
n+=A[i][j]*A[i+1][j+1]*A[i+2][0];
else
n+=A[i][j]*A[i+1][j+1]*A[i+2][j+2];
}
for(i=2,j=0;j<3;j++)
{
if(j==2)
n-=A[i][j]*A[i-1][0]*A[i-2][1];
else if(j==1)
n-=A[i][j]*A[i-1][j+1]*A[i-2][0];
else
n-=A[i][j]*A[i-1][j+1]*A[i-2][j+2];
}
printf("\n========== The matrix A is ==========================================\n");
for(i=0;i<3;i++)
{
printf("\n");
for(j=0;j<3;j++)
{
printf(" A[%d][%d]= %.2f ",i,j,A[i][j]);
}
}
printf("\n \n");
printf("=====================================================================\n\n");
printf("The determinant of matrix A is %.2f ",n);
printf("\n\n=====================================================================\n");
if(n!=0) x=1.0/n;
else
{
printf("Division by 0, not good!\n");
printf("=====================================================================\n\n");
return 0;
}
printf("\n========== The transpose of a matrix A ==============================\n");
for(i=0;i<3;i++)
{
printf("\n");
for(j=0;j<3;j++)
{
B[i][j]=A[j][i];
printf(" B[%d][%d]= %.2f ",i,j,B[i][j]);
}
}
printf("\n\n");
C[0][0]=B[1][1]*B[2][2]-(B[2][1]*B[1][2]);
C[0][1]=(-1)*(B[1][0]*B[2][2]-(B[2][0]*B[1][2]));
C[0][2]=B[1][0]*B[2][1]-(B[2][0]*B[1][1]);
C[1][0]=(-1)*(B[0][1]*B[2][2]-B[2][1]*B[0][2]);
C[1][1]=B[0][0]*B[2][2]-B[2][0]*B[0][2];
C[1][2]=(-1)*(B[0][0]*B[2][1]-B[2][0]*B[0][1]);
C[2][0]=B[0][1]*B[1][2]-B[1][1]*B[0][2];
C[2][1]=(-1)*(B[0][0]*B[1][2]-B[1][0]*B[0][2]);
C[2][2]=B[0][0]*B[1][1]-B[1][0]*B[0][1];
printf("\n========== The adjunct matrix of transpose of the matrix A ==========\n");
for(i=0;i<3;i++)
{
printf("\n");
for(j=0;j<3;j++)
{
printf("C[%d][%d]= %.2f",i,j,C[i][j]);
}
}
printf("\n\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
X[i][j]=C[i][j]*x;
}
}
printf("\n========== The inverse matrix of the matrix you entered!!! ==========\n");
for(i=0;i<3;i++)
{ printf("\n");
for(j=0;j<3;j++)
{
printf(" X[%d][%d]= %.2f",i,j,X[i][j]);
}
}
printf("\n\n");
return 0;
}
```

*Edited 3 Years Ago by mike_2000_17*: Fixed formatting

This article has been dead for over six months. Start a new discussion instead.

Recommended Articles

When I execute this progammatically, I get a table with row heights much larger than when I do this manually.

Note : Sel is the Word.Selection object and the Clipboard contains an Excel Table.

```
public void AddClipboard()
{
Sel.PasteExcelTable(false,false, false);
var t = Sel.Tables[Sel.Tables.Count];
t.AutoFitBehavior(Word.WdAutoFitBehavior.wdAutoFitContent);
}
```

the function that I created to find the ...