Numerical Program

Gauss Seidel Method Definition

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 language

   #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

Post Your Comment

Some Useful Tricks of Windows

Follow us on Facebook

Advertisement