
120
125
130
PROGRAM PROGI5
****************************************************************
GAUSS-SEIDEL ITERATION FOR N SIMULTANEOUS LINEAR EQUATIONS
THE ARRAY A CONTAINS THE N x N+I AUGMENTED COEFFICIENT MATRIX
THE VECTOR X CONTAINS THE LATEST APPROXIMATION TO THE SOLUTION
THE COEFFICIENT MATRIX SHOULD BE DIAGONALLY DOMINANT.
AN INITIAL APPROXIMATION IS SENT TO THE SUBROUTINE IN THE VECTOR
X. THE SOLUTION, AS APPROXIMATED BY THE SUBROUTINE IS RETURNED
IN X. THE ITERATIONS ARE CONTINUED UNTIL THE MAXIMUM CHANGE IN
ANY X COMPONENT IS LESS THAN THE TOLERANCE, TOL. IF THIS CANNOT
BE ACCOMPLISHED IN NITER ITERATIONS, A MESSAGE IS PRINTED.
IN TERMINATING THE ITERATIONS, NO ELEMENT OF X MAY UNDERGO A
MAGNITUDE CHANGE GREATER THAN TOLERANCE TOL FROM ONE ITERATION
TO THE NEXT.
******************************************************************
PARAMETERS:
A - AUGMENTED COEFFICIENT MATRIX
X - INITIAL APPROXIMATION TO SOLUTION, ALSO RETURNS RESULTS
N - NUMBER OF SIMULTANEOUS LINEAR EQUATIONS
NITER
-
LIMIT TO THE NUMBER OF ITERATIONS
TOL - TEST VALUE TO STOP THE ITERATING SOLUTION
DIMENSION A(1:20,I:20), X(20)
INTEGER N, NITER, I, J
OPEN (UNIT=I, FILE='PRN')
DATA N, NITER, TOL/4, 15, 0.0001/
DATA A(I,I)/II00.0/, A(I,2)/0.0/, A(I,3)/0.0/, A(I,4)/0.0/
DATA A(I,5)/1000.0/, A(2,1)/1000.0/, A(2,2)/-1400.0/
DATA A(2,3)/I00.0/, A(2,4)/0.0/, A(2,5)/0.0/, A(3,1)/0.0/
DATA A(3,2)/II00.0/, A(3,3)/-1240.0/, A(3,4)/I00.0/
DATA A(3,5)/0.0/, A(4,1)/0.0/, A(4,2)/0.0/, A(4,3)/II00.0/
DATA A(4,4)/-1250.0/, A(4,5)/0.0/
INITIAL GUESS VALUES
DATA X(1), X(2), X(3), X(4)/0.5, 0.5, 0.5, 0.5/
NPI = N+I
WRITE(l, 120)
FORMAT(5X, 'SOLUTION OF SIMULTANEOUS LINEAR EQUATIONS BY',\)
WRITE(I,125)
FORMAT(' GAUSS-SEIDEL METHOD', /5X, 70(IH*))
WRITE(I,130) N, NITER, TOL
FORMAT(//, 10X, 'NUMBER OF LINEAR EQUATIONS:',I4,/,
86