FAQ Reference s Summary Info Resources Learning Objectives Introduction Gaussian elimination method Gaussian elimination procedure Programming exercise Home HOME Introduction Gaussian E
Trang 1Solution of linear equations using Gaussian elimination
Trang 2FAQ Reference s Summary Info
Resources
Learning Objectives
Introduction
Gaussian elimination
method
Gaussian elimination
procedure
Programming
exercise
Home
HOME
Introduction
Gaussian Elimination
Method
Gaussian Elimination
Procedure Programming Exercise
Resources
Trang 3Learning Objectives
Introduction
Gaussian elimination
method
Gaussian elimination
procedure
Programming
exercise
Learning Objectives
Learning objectives in this module
1 Develop problem solution skills using computers and numerical methods
2 Review the Gaussian elimination method for solving simultaneous linear equations
3 Develop programming skills using FORTRAN New FORTRAN elements in this module
-use of NAG-library
Trang 4FAQ Reference s Summary Info
Resources
Learning Objectives
Introduction
Gaussian elimination
method
Gaussian elimination
procedure
Programming
exercise
Introduction
Solution of sets of linear equations is required in many petroleum applications Many methods exist for this purpose, direct methods as well as iterative methods The reference mentioned in the end may
be consulted for a review of such methods
A direct method frequently used in petroleum applications is the Gaussian elimination method, and the simplest form of this method will be discussed below First, let’s review the concept of
simultaneous linear equations A set of linear simultaneous equations may be written as:
a11x1 + a12x2 + a13x3 + + a1N xN = d1
a21x1 + a22x2 + a23x3 + + a2N xN = d2
a31x1 + a32x2 + a33x3 + + a3N xN = d3
aM 1x1 + aM 2x2 + aM 3x3 + + aMN xN = dM
Trang 5Learning Objectives
Introduction
Gaussian elimination
method
Gaussian elimination
procedure
Programming
exercise
Introduction
Here we have a total of N unknowns (xj, j=1, 2… N), related through M equations The coefficients in the left sides of the equations (aij, i=1, 2… N ; j=1, 2… M ) are known parameters, and so are also the coefficients on the right side (bi, i=1, 2… M)
a11x1 + a12x2 + a13x3 + + a1N xN = d1
a21x1 + a22x2 + a23x3 + + a2N xN = d2
a31x1 + a32x2 + a33x3 + + a3N xN = d3
aM 1x1 + aM 2x2 + aM 3x3 + + aMN xN = dM
Trang 6FAQ Reference s Summary Info
Resources
Learning Objectives
Introduction Gaussian elimination method
Gaussian elimination procedure
Programming exercise
Introduction
The equations may alternatively be written in a compact form:
where A is the coefficient matrix, and b is the right hand side vector:
A ⋅ x = b
A =
a11 a12 a 1N
a21 a22 a 2N
a M 1 a M 2 a MN
b =
b1
b2
b M
x =
x1
x2
x M
If the number of unknowns
is equal to the number of equations, N=M, we may be able to solve the set of
equations, provided that the equations are unique
Gaussian Elimination Method
Trang 7Learning Objectives
Introduction
Gaussian elimination
method
Gaussian elimination
procedure
Programming
exercise
Gaussian elimination method
For simplicity, let’s use the following set of 3 equations and 3 unknowns, ie N=3 and M=3, in order to illustrate the Gaussian elimination method:
The method starts by multiplying Eq (4) by –a21/a11 and then
add it to Eq (5) The resulting equation becomes:
We then multiply Eq.(4) by and add it to Eq.(6), resulting in:
a 11 x 1+ a 12 x 2 + a 13 x 3 = d 1
a 21 x 1 +a 22 x 2 +a 23 x 3 = d 2
a 31 x 1 +a 32 x 2 +a 33 x 3 = d 3
(4) (5) (6)
a ′ 22x2 + ′ a 23x3 = ′ d 2
a ′ 32 x 2 + ′ a 33 x 3 = ′ d 3
Trang 8FAQ Reference s Summary Info
Resources
Learning Objectives
Introduction
Gaussian elimination
method
Gaussian elimination
procedure
Programming
exercise
Gaussian elimination method
The set of equation has now become
Next, we multiply Eq (8) by –a’ 32 /a’ 22 and add it to Eq (9), so that the set of equations become:
This completes the first part of the Gaussian elimination method, called the forward elimination process
a11x1 + a12x2 + a13x3 = d1
a ′ 22x2 + ′ a 23x3 = ′ d 2
a ′ 32x2 + ′ a 33x3 = ′ d 3
(7) (8) (9)
a11x1+ a12x2 + a13x3 = d1
a ′ 22x2 + ′ a 23x3 = ′ d 2
a ′ ′ 33x3 = ′ ′ d 3
(10) (11) (12)
Continue to the Second Part
Trang 9Learning Objectives
Introduction
Gaussian elimination
method
Gaussian elimination
procedure
Programming
exercise
Gaussian elimination method
Eq (12) may now be used to solve directly for x3:
After completion of the forward elimination process, determined the last unknown of the vector (x3) by Eq (13), we will perform a
back substitution process This simply means that as the unknowns are calculated, in our simple example from x3 and downwards, they are substituted into the equations above, and the next unknown may be computed For Eqs (12) and (11) this process is carried out as follows:
Based on the example above, we may formulate a general procedure for the forward elimination, solution for the last unknown, and back substitution to get the rest of the unknowns
x3 = ′ ′ d 3 / a ′ ′ 33
x 2 = (d ′ 2− ′ a 23 x 3) / a ′ 22
x 1 = (d 1 − a 12 x 2 − a 13 x 3 ) / a 11
(13)
(14) (15)
Gaussian Elimination Procedure
Trang 10FAQ Reference s Summary Info
Resources
Learning Objectives
Introduction Gaussian elimination method
Gaussian elimination procedure
Programming exercise
Gaussian elimination procedure
1) Forward elimination:
2) Solving for xN:
3) Back substitution:
a i, j = a i, j + a k, j − a i,k
a k,k
d i = d i + d k − a i,k
a k ,k
xN = dN
aN,N
x i = 1
a i,i d i − a i, j
j=i+ 1
n
∑ x j
, i = n −1, ,1
Trang 11Learning Objectives
Introduction
Gaussian elimination
method
Gaussian elimination
procedure
Programming
exercise
Programming Exercise
Make a FORTRAN program consisting of a main program, that reads the coefficients of the system of equations (n, a1,1…an,n ,
d1…dn) from an input file (IN.DAT) and writes the results (x1…xn)
to an out-file (OUT.DAT), and a subroutine, SUBROUTINE GAUSS(X,A,D,N), that uses the Gaussian elimination method in order to solve the set of equations and returns n values of x to the main program
Test the program on the following set of equations:
+27
= +6t
+4s -2z
+5y 3x
-19
= -9t
+3s +8z
-7y 5x
-33
= -2t
-3s +6z
4y
+53
= +3t
+9s -3z
-2y 8x
-35
= +7t
-5s +4z
+3y 2x
Continue Push
Trang 12FAQ Reference s Summary Info
Resources
Learning Objectives
Introduction
Gaussian elimination
method
Gaussian elimination
procedure
Programming
exercise
Programming Exercise
The Petra-server includes a NAG-library of scientific subroutines Find a subroutine in this library (use naghelp) that may be used for solution of simultaneous equations (Gaussian elimination method or some other method) Modify the program above so that is asks you on the screen if you want to use the
programmed Gaussian-routine or the NAG-routine for the solution Check that the solutions from the two methods are identical (Note that all real variables should be declared as
REAL*8 (double precision) since the NAG-routines require this) The NAG-routine may be linked in by the command
xlf –o prog fil.f –L/localiptibm3/lib –l nag
Resources
Trang 13Learning Objectives
Introduction
Gaussian elimination
method
Gaussian elimination
procedure
Programming
exercise
Resources
Introduction to Fortran Fortran Template here The whole exercise in a printable format here Web sites
Numerical Recipes In Fortran
Fortran Tutorial
Professional Programmer's Guide to Fortran77
Programming in Fortran77
Fortran Tem plate
Solution of lin ear equation using Gaussi
Trang 14FAQ Reference s Summary Info
Resources
Learning Objectives
Introduction
Gaussian elimination
method
Gaussian elimination
procedure
Programming
exercise
General information
Title: Solution of linear equations using Gaussian elimination Teacher(s): Professor Jon Kleppe
Assistant(s): Per Jørgen Dahl Svendsen Abstract: Provide a good background for solving problems within
petroleum related topics using numerical methods
4 keywords: Linear equations, Gaussian elimination, matrices,
subroutines Topic discipline:
Learning goals: Develop problem solution skills using computers and
numerical methods Size in megabytes: 0.6 MB
Software requirements: MS Power Point 2002 or later, Flash Player 6.0 Estimated time to complete:
Copyright information: The author has copyright to the module and use of the
content must be in agreement with the responsible author or in agreement with
http://www.learningjournals.net.
About the author
Trang 15Learning Objectives
Introduction
Gaussian elimination
method
Gaussian elimination
procedure
Programming
exercise
FAQ
No questions have been posted yet However, when questions are asked they will be posted here.
Remember, if something is unclear to you, it is a good chance that there are more people that have the same question
For more general questions and definitions try these
Dataleksikon Webopedia Schlumberger Oilfield Glossary
Trang 16FAQ Reference s Summary Info
Resources
Learning Objectives
Introduction
Gaussian elimination
method
Gaussian elimination
procedure
Programming
exercise
References
W H Preuss, et al., “Numerical Recipes in Fortran”, 2nd edition Cambridge University Press, 1992
References to the textbook :
Gauss Jordan elimination: page 27
Gaussian Elimination with backsubstitution: page 33
Trang 17Learning Objectives
Introduction
Gaussian elimination
method
Gaussian elimination
procedure
Programming
exercise
Summary
Subsequent to this module you should
in Fortran