Home Site Statistics  |   Contact  |   About Us       Monday, October 25, 2021   

j0110924 - Back to Home

Skip Navigation Links.

   Skip Navigation LinksHOME ›  AREAS OF EXPERTISE ›   Linear Equations  ›  ~ Jacobi-Seidel

"Linear Algebraic Equations"
Gauss-Seidel Iteration Methods

     Solution from the GAUSS-JACOBI iteration:

X[0] =
X[1] =
X[2] =

     Solution from the GAUSS-SEIDEL iteration:

X1[0] =
X1[1] =
X1[2] =

Matrix A: = { , , }, { , , }, { , , }

Vector b: = { , , }

[ Initial MatrixValues A: {5,1,2},{1,4,1},{2,1,3} ]
[ Initial VectorValues b: {8,6,6} ]

Linear Algebraic Equations

The solution of linear equations is one of the most commonly used operations in numerical analysis as well as scientific and engineering applications.

Iteration Algorithm Creation

A set of linear equations can be written in a matrix form as:

A . x = b

Gauss-Jacobi Iteration Method

The Gauss-Jacobi iteration is one of the simplest iteration schemes. It uses the following formula:

xj(k+1) = 1/Aij(bi - ∑j≠i Aij xj(k))

Gauss-Seidel Iteration Method

The Gauss-Jacobi iteration is an improved version of the Gauss-Jacobi method. The iteration equation has the form:

xj(k+1) = 1/Aij(bi - ∑j≠i Aij xj(k)) - ∑j≠i Aij xj(k))

Testing Iteration Methods

In order to test the iteration methods as defined above, a new TestIterations() static method has been added and executed. Supporting code and methods are not shown.

A set of equations for the test has been defined where it has an analytic solution of (1, 1, 1). The results of the test show close approximations to the analytic solutions. The tolerance was set equal to 1.0E-4 and the maximum iterations to 10.

           static void TestIterations();
                 LinearSystem ls = new LinearSystem();
                 MatrixR A = new MatrixR(new double[3, 3] { { t1, t2, t3 }, { t4, t5, t6 }, { t7, t8, t9 } });
                 VectorR b = new VectorR(new double[3] { t10, t11, t12 });
                 MatrixR A1 = A.Clone();
                 VectorR b1 = b.Clone();
                 VectorR x = ls.GaussJacobi(A, b, 10, 1.0e-4);
                 ListBox1.Items.Add(" " + x[0]);
                 ListBox2.Items.Add(" " + x[1]);
                 ListBox3.Items.Add(" " + x[1]);
                 VectorR x1 = ls.GaussSeidel(A, b, 10, 1.0e-4);
                 ListBox4.Items.Add(" " + x1[0]);
                 ListBox5.Items.Add(" " + x1[1]);
                 ListBox6.Items.Add(" " + x1[1]);

An initial set of data points was defined for matrix A and vector b. The user can manipulate all values and try variations on the matrix and vector themselves.

Other Implementations...

Object-Oriented Implementation
Graphics and Animation
Sample Applications
Ore Extraction Optimization
Vectors and Matrices
Complex Numbers and Functions
Ordinary Differential Equations - Euler Method
Ordinary Differential Equations 2nd-Order Runge-Kutta
Ordinary Differential Equations 4th-Order Runge-Kutta
Higher Order Differential Equations
Nonlinear Systems
Numerical Integration
Numerical Differentiation
Function Evaluation

Consulting Services - Back to Home

Home Math, Analysis,

Eigen Inverse Iteration
Rayleigh-Quotient Method
Cubic Spline Method


Applied Mathematical Algorithms

Home A complex number z = x + iy, where...

Complex Functions
Home Non-linear system methods...

Non Linear Systems
Home Construction of differentiation...

Home Consider the function where...

About Us

KMP Engineering is an independent multidisciplinary engineering consulting company specializing in mathematical algorithms.

Contact Us

2461 E Orangethorpe Ave Fullerton, CA 92631 USA info@keystoneminingpost.com
Site Map

   Areas of Expertise
   Reference Items
   Managed Services

Mining & Software Engineering

Since 2006 All Rights Reserved  © KMP Engineering LINKS | PRIVACY POLICY | LEGAL NOTICE