Can You Implement Gauss-Seidel Iteration in Fortran 90/95?

  • Context: Fortran 
  • Thread starter Thread starter Luke1986
  • Start date Start date
  • Tags Tags
    Fortran
Click For Summary
SUMMARY

The discussion focuses on implementing the Gauss-Seidel iteration method for solving simultaneous linear equations using Fortran 90/95. The user successfully computed solutions for 3x3 and 4x4 matrices using inverse matrices but seeks guidance on applying the Gauss-Seidel method. A key point raised is the establishment of a tolerance level, specifically 0.000001, for determining convergence, with the stopping criterion defined as |rk|/|r0|≤ε, where ε represents the desired precision.

PREREQUISITES
  • Understanding of Fortran 90/95 programming language
  • Familiarity with linear algebra concepts, particularly simultaneous linear equations
  • Knowledge of matrix operations, including inverse matrices
  • Concept of numerical methods and convergence criteria
NEXT STEPS
  • Research the implementation of the Gauss-Seidel iteration method in Fortran 90/95
  • Study numerical methods for solving linear equations, focusing on convergence criteria
  • Learn about matrix norms and their application in determining stopping conditions
  • Explore error analysis in numerical methods to understand tolerance settings
USEFUL FOR

Mathematicians, numerical analysts, and software developers working with Fortran 90/95 who are interested in solving linear equations using iterative methods.

Luke1986
Messages
2
Reaction score
0
Hi, I have to program using Fortran 90/95 simultaneous linear equations. My question is, is it possible to program this? First I did the inverse matrix to find the values of the solution of a 4X4 and 3X3 matrix. I set up [A][X] = [X]' and did the inverse matrix to find the values for [X]. So I got the solutions for x1 x2 x3 x4, ( numbers are subscripts ).

Now that I know that solutions exist, can I program this with the Gauss Seidel iteration method using F 90/95? May you please explain how to set up a tolerance (say 0.000001) between two iterations because I don't understand how to since I have so many variables, or what I'm looking for? I am not asking for the specific code, just a few words to clear up how to approach this program. Thanks for your help.
 
Technology news on Phys.org
About the code, sure you can.
About the tolerance, the most common stopping criteria is |rk|/|r0|≤ε where ε is the desired precision of the approximation and |rk|,|r0| the norms of the residual r=b-Ax on each iteration.
 

Similar threads

  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 22 ·
Replies
22
Views
5K
  • · Replies 18 ·
Replies
18
Views
17K
  • · Replies 1 ·
Replies
1
Views
4K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 2 ·
Replies
2
Views
3K
Replies
2
Views
2K
  • · Replies 1 ·
Replies
1
Views
5K
  • · Replies 1 ·
Replies
1
Views
8K
  • · Replies 1 ·
Replies
1
Views
3K