gauss jordon method c c++ program

Gauss Jordan Method C++ Program & Example

Gauss Jordan Method C++ is a direct method to solve the system of linear equations and for finding the inverse of a Non-Singular Matrix.

This is a modification of the Gauss Elimination Method.

In this method, the equations are reduced in such a way that each equation contains only one unknown exactly at the diagonal place.

Thus the system of equations are reduced in the special diagonal matrix called identity matrix. It gives us the exact value of variables.

Advertisements
Gauss Jordon Method C++ Program & Example

Example

Ex. Find the Solution of following Linear Equations using the Gauss Jordan Method?

x + y + z = 6
x – y + z = 2
2x – y + 3z = 9

Sol: The solution is obtained by reducing the Augmented [Ab] matrix into the diagonal or identity matrix.

Note: We can Perform the Elementary Row Operations only.

Step 1: Write Equations in the form of AX=b, i.e. Matrix Form.

Where,
A = Coefficient Matrix,
X = variables (Column Matrix),
B = constants (Column Matrix.

Gauss Jordon Method C++ Program & Example
Advertisements

Step 2:  Find Augmented Matrix C = [ Ab ]

Gauss Jordon Method C++ Program & Example

Step 3: Transform Augmented Matrix [C=Ab] into Identity Matrix.

Gauss Jordon Method C++ Program & Example
Gauss Jordon Method
Gauss Jordon
Gauss Jordon Method Program & Example
Gauss Jordon Method C++ Program & Example
Gauss Jordon Method Program & Example

Gauss Jordan Method C++ Program

//Gauss Jordan Method C++ code //wikkihut.com #include<iostream> #include<iomanip> #include<cmath> #define N 3 using namespace std; int main() { float Matrix[N][N+1],x[N]; // Matrix = Augumented Matrix [Ad] float temp; //variables for loops int i,j,k; //Scan values of Matrix. cout<<"Enter Elements of "<<N<<" Rows & "<<N+1<<" Columns\n"; for(i=0; i<N; i++) { cout<<"\tEnter Row "<<i+1<<" & Press Enter\n"; for(j=0; j<N+1; j++) cin>>Matrix[i][j]; } //make above matrix Identity or Diagonal Matrix cout<<fixed; for(j=0; j<N; j++) for(i=0; i<N; i++) if(i!=j) { temp=Matrix[i][j]/Matrix[j][j]; for(k=0; k<N+1; k++) Matrix[i][k]-=Matrix[j][k]*temp; } //print the Diagonal matrix cout<<"\n ---------------------------------\n"; cout<<"\n Diagonal Matrix is:\n"; for(i=0; i<N; i++) { for(j=0; j<N+1; j++) cout<<setw(8)<<setprecision(4)<<Matrix[i][j]; cout<<endl; } cout<<"\n ---------------------------------\n"; //print values of x,y,z cout<<"\n The Solution is:\n"; for(i=0; i<N; i++) cout<<"x["<<setw(3)<<i+1<<"]="<<setw(7)<<setprecision(4)<<Matrix[i][N]/Matrix[i][i]<<endl; //wikkihut.com/gauss-jordan-c/ return 0; }
Code language: C++ (cpp)

Note:-
For a system of 10 equations, the number of multiplications required for the Gauss Jordan method is about 500.

Whereas for the Gauss Elimination method we need only 333 multiplications.


So the Gauss Elimination method is preferred over the Gauss Jordan method especially in large no of equations.

Suggested Read:

See Wikipedia for More

Advertisements