Professional Documents
Culture Documents
CSC 431 LECTURE NOTE (Guassian - Method)
CSC 431 LECTURE NOTE (Guassian - Method)
Dr. O. J. Oyelade
1 2/10/2014
Solving linear systems
Consider the system of ݊ linear equations and ݊
unknowns, given by:
ܽ ݔ
ܽ11 ݔ1 + ܽ
ܽ12 ݔ
ݔ2 + · · · + ܽ
ܽ1݊
݊ ܾ = ݊ݔ
ܾ1 ,
ܽ21 ݔ1 + ܽ22 ݔ2 + · · · + ܽ2݊ ܾ = ݊ݔ2 ,
.
.
.
ܽ݊1 ݔ1 + ܽ݊2 ݔ2 + · · · + ܽ݊݊ = ݊ݔbn .
2 2/10/2014
We can write this system as the matrix
equation
Ax = b, with:
3 2/10/2014
Gaussian Elimination
The standard numerical algorithm to solve a system of
linear equations is called Gaussian Elimination. We can
illustrate this algorithm by example.
ݔ+ 2ݔ2
−3ݔ1 ݔ− ݔ3
= ݔ−1,
ݔ− 6ݔ2
6ݔ1 ݔ+ 7ݔ3
= ݔ−7,
3ݔ1 − 4ݔ2 + 4ݔ3 = −6.
4 2/10/2014
To perform Gaussian elimination, we form an
Augmented Matrix by combining the matrix A with
the column vector b:
6 2/10/2014
We then go to the second row. We multiply this row by −1
and add it to the third row:
7 2/10/2014
These equations can be solved by backward substitution,
starting from the last equation and working backwards. We
have
−2ݔݔ3 = 2 → ݔ3 = −1
−2ݔݔ2 = −9 − 5ݔݔ3 = −4 → ݔ2 = 2,
−3ݔݔ1 = −1 − 2ݔݔ2 + ݔ3 = −6 → ݔ1 = 2.
Therefore, we have:
8 2/10/2014
Extension of method of elimination to large sets of
equations by developing a systematic scheme
or algorithm to eliminate unknowns
and to back substitute.
• As in the case of the solution of two equations, the
technique for n equations consists of two phases:
– Forward elimination of unknowns
– Back substitution
9 2/10/2014
10 2/10/2014
Forward Elimination
A set of n equations and n unknowns
a11 x1 + a12 x2 + a13 x3 + ... + a1n xn = b1
a21 x1 + a22 x2 + a23 x3 + ... + a2 n xn = b2
. .
. .
. .
an1 x1 + an 2 x2 + an 3 x3 + ... + ann xn = bn
a21
a ( a11 x1 + a12 x2 + a13 x3 + ... + a1n xn = b1 )
11
a21 a21 a21
a21 x1 + a12 x2 + ... + a1n xn = b1
a11 a11 a11
Forward Elimination
Subtract the result from Equation 2.
a21 x1 + a22 x2 + a23 x3 + ... + a2 n xn = b2
a21 a21 a21
− a21 x1 + a12 x2 + ... + a1n xn = b1
a11 a11 a11
_________________________________________________
or a x + ... + a x = b
'
22 2
'
2n n
'
2
Forward Elimination
Repeat this procedure for the remaining equations to
reduce the set of equations as
a11 x1 + a12 x2 + a13 x3 + ... + a1n xn = b1
'
a22 x2 + a23
'
x3 + ... + a2' n xn = b2'
'
a32 x2 + a33
'
x3 + ... + a3' n xn = b3'
. . .
. . .
. . .
End of Step 1
Forward Elimination
Step 2
Repeat the same procedure for the 3rd term of Equation 3.
( n −1) (n −1 )
ann xn = bn
( n −1) (n −1 )
ann xn = bn
Back Substitution
Start with the last equation because it has only one unknown
( n −1)
b
xn = n
( n −1)
a nn
Back Substitution
( n −1)
b
xn = n
( n −1)
a nn
v (t ) = a 1 t 2 + a 2 t + a 3 , 5 ≤ t ≤ 12.
t 12 t1 1 a1 v1
2 a = v
t2 t2 1 2 2
t 32 t3 1 a 3 v 3
25 5 1 a 1 106 .8 25 5 1 ⋮ 106 .8
64 8 1 a = 177 .2 ⇒ 64 8 1 ⋮ 177 .2
2
144 12 1 a 3 279 .2 144 12 1 ⋮ 279 .2
1. Forward Elimination
2. Back Substitution
Forward Elimination
Number of Steps of Forward Elimination
. [64 8 1 ⋮ 177.2]
− [64 273.408]
Subtract the result from Equation 2
12.8 2.56 ⋮
[0 − 4.8 − 1.56 ⋮ − 96.208]
25 5 1 ⋮ 106.8
Substitute new equation for Equation 2 0 − 4.8 − 1.56 ⋮ − 96.208
144 12 1 ⋮ 279.2
Forward Elimination: Step 1 (cont.)
25 5 1 ⋮ 106.8 Divide Equation 1 by 25 and
0 − 4.8 − 1.56 ⋮ − 96.208
multiply it by 144, . 144
144 12 1 ⋮ 279.2 = 5.76
25
Solving for a3
0.7 a3 = 0.76
0.76
a3 =
0.7
a3 = 1.08571
Back Substitution (cont.)
25 5 1 a1 106.8
0 − 4.8 − 1.56 a = − 96.208
2
0 0 0.7 a3 0.76
Solving for a2
− 4.8a2 − 1.56a3 = −96.208
− 96.208 + 1.56a3
a2 =
− 4.8
− 96.208 + 1.56 ×1.08571
a2 =
− 4.8
a2 = 19.6905
Back Substitution (cont.)
25 5 1 a1 106.8
0 − 4.8 − 1.56 a = − 96.2
2
0 0 0.7 a3 0.76
Solving for a1
25a1 + 5a2 + a3 = 106.8
106.8 − 5a2 − a3
a1 =
25
106.8 − 5 ×19.6905 − 1.08571
=
25
= 0.290472
Naïve Gaussian Elimination Solution
25 5 1 a1 106 .8
64 8 1 a = 177 .2
2
144 12 1 a 3 279 .2
a1 0.290472
a = 19.6905
2
a3 1.08571
Example 1 Cont.
Solution a1 0.290472
a = 19.6905
The solution vector is
2
a3 1.08571
The polynomial that passes through the three data points is then:
v (t ) = a1t 2 + a2t + a3
= 0.290472 t 2 + 19.6905t + 1.08571, 5 ≤ t ≤ 12
= 129.686 m/s.
Naïve Gauss Elimination
Pitfalls
Pitfall#1. Division by zero
10 x2 − 7 x3 = 3
6 x1 + 2 x2 + 3x3 = 11
5 x1 − x2 + 5 x3 = 9
0 10 − 7 x1 3
6 2 3 x2 = 11
5 − 1 5 x3 9
Is division by zero an issue here?
12 x1 + 10 x2 − 7 x3 = 15
6 x1 + 5 x2 + 3x3 = 14
5 x1 − x2 + 5 x3 = 9
12 10 − 7 x1 15
6 5 3 x2 = 14
5 − 1 5 x3 9
Is division by zero an issue here? YES
12 x1 + 10 x2 − 7 x3 = 15
6 x1 + 5 x2 + 3x3 = 14
24 x1 − x2 + 5 x3 = 28
x1 1
x = 1
2
x3 1
Pitfall#2. Large Round-off Errors
20 15 10 x1 45
− 3 − 2.249 7 x = 1.751
2
5 1 3 x3 9
Solve it on a computer using 6 significant digits with chopping
x1 0.9625
x = 1.05
2
x3 0.999995
Pitfall#2. Large Round-off Errors
20 15 10 x1 45
− 3 − 2.249 7 x = 1.751
2
5 1 3 x3 9
At the beginning of the kth step of forward elimination, find the maximum of
6 14 5.1 3.7 6 x1 5
0 − 17 12 11 43 x 3
2
0 4 12 1 11 x3 = 8
0 9 23 6 8 x4 9
0 − 7 6 1 2 x5 − 6
Switched Rows
Gaussian Elimination
with Partial Pivoting
A method to solve simultaneous linear equations
of the form [A][X]=[C]
Two steps
1. Forward Elimination
2. Back Substitution
Forward Elimination
Same as naïve Gauss elimination method except that we switch
rows before each of the (n-1) steps of forward elimination.
Example: Matrix Form at Beginning of 2nd
Step of Forward Elimination
⋮ ⋮ ⋮ ⋯ ⋮ ⋮ ⋮
0 a'n 2 ' '
an 3 an 4 ann xn bn
'
'
Matrix Form at End of Forward
Elimination
⋮ ⋮ ⋮ ⋯ ⋮ ⋮ ⋮
0 0 ann xn bn
(n −1 ) (n-1 )
0 0
Back Substitution Starting Eqns
a11 x1 + a12 x 2 + a13 x3 + ... + a1n x n = b1
'
a22 x2 + a23
'
x3 + ... + a2' n xn = b2'
"
a33 x3 + ... + an" xn = b3"
. .
. .
. .
( n −1) (n −1 )
ann xn = bn
Back Substitution
( n −1)
b
xn = n
( n −1)
a nn
n
(i −1) (i −1)
bi − ∑ aij x j
j =i +1
xi = (i −1) for i = n − 1,...,1
a ii
Example 2
Solve the following set of equations by
Gaussian elimination with partial pivoting
25 5 1 a 1 106 .8
64 8 1 a = 177 .2
2
144 12 1 a 3 279 .2
Example 2 Cont.
25 5 1 a 1 106 .8 25 5 1 ⋮ 106 . 8
64 1 a = 177 .2 ⇒
8 2 64 8 1 ⋮ 177 . 2
144 12 1 a 3 279 .2 144 12 1 ⋮ 279 . 2
1. Forward Elimination
2. Back Substitution
Forward Elimination
Number of Steps of Forward Elimination
.
[0 2.667 0.5556 ⋮ 53.10]
− [0 53.33]
Subtract the result from Equation 3
2.667 0.7556 ⋮
[0 0 − 0.2 ⋮ − 0.23]
144 12 1 ⋮ 279.2
Substitute new equation for Equation 3 0 2.917 0.8264 ⋮ 58.33
0 0 − 0.2 ⋮ − 0.23
Back Substitution
Back Substitution
144 12 1 ⋮ 279.2 144 12 1 a1 279.2
0 2.917 0.8264 ⋮ 58.33 ⇒ 0 2.917 0.8264 a = 58.33
2
0 0 − 0.2 ⋮ − 0.23 0 0 − 0.2 a3 − 0.23
Solving for a3
− 0.2a3 = −0.23
− 0.23
a3 =
− 0.2
= 1.15
Back Substitution (cont.)
144 12 1 a1 279.2
0 2.917 0.8264 a = 58.33
2
0 0 − 0.2 a3 − 0.23
Solving for a2
2.917a2 + 0.8264a3 = 58.33
58.33 − 0.8264a3
a2 =
2.917
58.33 − 0.8264 ×1.15
=
2.917
= 19.67
Back Substitution (cont.)
144 12 1 a1 279.2
0 2.917 0.8264 a = 58.33
2
0 0 − 0.2 a3 − 0.23
Solving for a1
144a1 + 12a2 + a3 = 279.2
279.2 − 12a2 − a3
a1 =
144
279.2 − 12 ×19.67 − 1.15
=
144
= 0.2917
Gaussian Elimination with Partial Pivoting
Solution
25 5 1 a 1 106 .8
64 8 1 a = 177 .2
2
144 12 1 a 3 279 .2
a1 0.2917
a = 19.67
2
a 3 1.15
Partial Pivoting: Example
Consider the system of equations
10 x1 − 7 x2 = 7
− 3 x1 + 2.099 x2 + 6 x3 = 3.901
5 x1 − x2 + 5 x3 = 6
In matrix form
10 − 7 0 x1 7
− 3 2.099 6 x 3.901
2 =
5 − 1 5 x3 6
10 − 7 0 x1 7
0 2.5 5 x = 2.5
2
0 0 6.002 x3 6.002
Partial Pivoting: Example
Back Substitution
Solving the equations through back substitution
10 − 7 0 x1 7 6.002
x3 = =1
0 2.5 5 x = 2.5 6.002
2
0 0 6.002 x3 6.002 2.5 − 5 x3
x2 = = −1
2.5
7 + 7 x 2 − 0 x3
x1 = =0
10
Partial Pivoting: Example
Compare the calculated and exact solution
The fact that they are equal is coincidence, but it
does illustrate the advantage of Partial Pivoting
x1 0 x1 0
[X ] calculated = x2 = − 1 [X ] exact = x 2 = − 1
x3 1 x3 1
81 2/10/2014
82 2/10/2014
Determinant of a Square Matrix
Using Naïve Gauss Elimination
Example
Theorem of Determinants
If a multiple of one row of [A]nxn is added or subtracted to
another row of [A]nxn to result in [B]nxn then det(A)=det(B)
Theorem of Determinants
The determinant of an upper triangular matrix [A]nxn is given by
[A ]n × n → [U ] n × n
det ( A ) = det (U )
Example
25 5 1
64 8 1
144 12 1
Forward Elimination
Forward Elimination: Step 1
25 5 1 Divide Equation 1 by 25 and
64 8 1
multiply it by 64, . 64
= 2.56
144 12 1 25
[25 5 1]× 2.56 = [64 12.8 2.56]
. [64 8 1]
Subtract the result from Equation 2
− [64 12.8 2.56]
[0 − 4.8 − 1.56]
25 5 1 25 5 1
64 8 1 → 0 − 4.8 − 1.56
144 12 1 0 0 0.7
.
det (A ) = u11 × u 22 × u 33
= 25 × (− 4 . 8 )× 0 . 7
= − 84 . 00
Summary
-Forward Elimination
-Back Substitution
-Pitfalls
-Improvements
-Partial Pivoting
-Determinant of a Matrix