Gauss Seidel Method in C

In numerical linear algebra, the Gauss–Seidel method, also known as the Liebmann method or the method of successive displacement, is an iterative method used to solve a linear system of equations.

Program of Gauss Seidel in C


   #include<stdio.h>
   #include<conio.h>
   #include<math.h>
   #define ESP 0.0001
   #define X1(x2,x3) ((17 - 20*(x2) + 2*(x3))/20)
   #define X2(x1,x3) ((-18 - 3*(x1) + (x3))/20)
   #define X3(x1,x2) ((25 - 2*(x1) + 3*(x2))/20)
  
   void main()
   {
   double x1=0,x2=0,x3=0,y1,y2,y3;
   int i=0;
   clrscr();
   printf("\n_______________________________________\n");
   printf("\n x1\t\t x2\t\t x3\n");
   printf("\n_______________________________________\n");
   printf("\n%f\t%f\t%f",x1,x2,x3);
   do
   {
      y1=X1(x2,x3);
      y2=X2(y1,x3);
      y3=X3(y1,y2);
   if(fabs(y1-x1)<ESP && fabs(y2-x2)<ESP && fabs(y3-x3)<ESP )
   {
      printf("\n_______________________________________\n");
      printf("\n\nx1 = %.3lf",y1);
      printf("\n\nx2 = %.3lf",y2);
      printf("\n\nx3 = %.3lf",y3);
      i = 1;
   }
   else
     {
      x1 = y1;
      x2 = y2;
      x3 = y3;
      printf("\n%f\t%f\t%f",x1,x2,x3);
     }
   }
   while(i != 1);

  getch();
  }     
  

Output

Gauss seidel method

Watch Tutorial Video on YouTube

Watch and Subscribe Now

Post Your Comment