Site Statistics  |   Contact  |   About Us       Monday, March 30, 2020

HOME › AREAS OF EXPERTISE › Nonlinear Systems Applications › ~ Linear Algebraic Equations

 "Linear Algebraic Equations" Linear Algebraic Iteration Methods

Solution from the GAUSS-JACOBI iteration:

 X[0] = 0.971982
 X[1] = 0.976812
 X[2] = 0.962975

Solution from the GAUSS-SEIDEL iteration:

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

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

IMPLEMENTATION
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. (Note: these solutions are included here (under the non-linear tab) because this is the only application presented for linear algorithms).

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();
{
ListBox1.Items.Clear();
ListBox2.Items.Clear();
ListBox3.Items.Clear();
ListBox4.Items.Clear();
ListBox5.Items.Clear();
ListBox6.Items.Clear();
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);
VectorR x1 = ls.GaussSeidel(A, b, 10, 1.0e-4);
}

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

 You are viewing this tab ↓

Math, Analysis,
expertise..."

EIGENVALUE SOLUTIONS...
Eigen Inverse Iteration
Rayleigh-Quotient Method
Cubic Spline Method

 Applied Mathematical Algorithms
 A complex number z = x + iy, where... Complex Functions Non-linear system methods... Non Linear Systems Construction of differentiation... Differentiation Consider the function where... Integration
 About Us KMP Engineering is an independent multidisciplinary engineering consulting company specializing in mathematical algorithms. KMP Website > Site Statistics > Contact Us KMP ENGINEERING 2461 E Orangethorpe Ave Fullerton, CA 92631 USA info@keystoneminingpost.com Site Map > Home > Areas of Expertise > Reference Items > Managed Services > Login Mining & Software Engineering