Gauss Jordan Method in C
Gauss-Jordan Method is an algorithm that can be used to solve linear equations and to find the inverse of any invertible matrix.
Let’s take a example of system of linear equation to solve it using Gauss-Jordan method :-
2x+8y+2z = 14
x+6y-z = 13
2x-y+2z = 5
Method to solve Gauss Jordon
- Define the augmented matrix from linear equations.
- Swap rows if necessary to obtain a non-zero number in the 1st row and first column.
- Use the row operation to get 1 as a entry in the first row and 1st column.
- Use row operations to make all other entities as zeros in column one.
- swap rows if necessary to obtain a non-zero number in the 2nd row and 2nd column.
- Use a row operation to make this entry 1.
- Use row operations to make all other entities as zero in column two.
- Repeat step 5 for row 3 and column 3. Continue moving along the main diagonal until you reach the last row, or until the number is zero.
- The final matrix is called the reduced row-echelon form.
C program to solve system of linear equations by using Gauss Jordan Method :-
/* C Program: Gauss-Elimination Method */ #include<stdio.h> #include<conio.h> int main() { float a[10][10],x[10], temp; int i,j,k, n; printf("\nEnter the Number of equations : "); scanf("%d",&n); printf("\nThe Number of Equations are : %d\n",n); printf("\nNow Enter augmented (coefficients of equ.) matrix\n"); for(i=1;i<=n;i++) for(j=1;j<=n+1;j++) scanf("%f",&a[i][j]); printf("\nAugmented (coefficients of equ.) matrix\n"); for(i=1;i<=n;i++) { for(j=1;j<=n+1;j++) printf("%6.0f",a[i][j]); printf("\n"); } /* Applyying Gauss Jordan Elimination */ for(i=1;i<=n;i++) for(j=1;j<=n;j++) { if(i!=j) temp = a[j][i]/a[i][i]; for(k=1;k<=n+1;k++) a[j][k]=a[j][k]-(temp*a[i][k]); } /* obtained solution */ for(i=1;i<=n;i++) x[i]= a[i][n+1]/a[i][i]; printf("\nSolution of the equation is :\n"); for(i=1;i<=n;i++) printf("x[%d] = %7.3f\n",i,x[i]); return 0; }
OUTPUT :-
Enter the Number of equations : 3 The Number of Equations are : 3 Now Enter augmented (coefficients of equ.) matrix 2 8 2 14 1 6 -1 13 2 -1 2 5 Augmented (coefficients of equ.) matrix 2 8 2 14 1 6 -1 13 2 -1 2 5 Solution of the equation is : x[1] = 5.000 x[2] = 1.000 x[3] = -2.000
Thanks
It is very fine