Telechargé par May Dehayni

02 Gausss

publicité
ΑΡΙΘΜΗΤΙΚΕΣ ΜΕΘΟΔΟΙ
ΜΟΝΤΕΛΟΠΟΙΗΣΗΣ
4. Αριθμητική Επίλυση Συστημάτων Γραμμικών
Εξισώσεων
• Gaussian elimination
• Gauss - Jordan
1
Direct solution Methods
• Gaussian Elimination
 a11
 

 ai1

 
an1
 a1i


 aii

 ani
 a1n   x1   b1 
       
 ain   xi    bi 
   
       
 ann   xn  bn 

a11


0


 0
 a1i  a1n   x1   b1 
 
       
~
 a~ii  a~in   xi    bi 
   
        
~
 0  a~nn   xn  bn 
Back substitution
– Matrix A is transformed into an upper triangular matrix (all
elements below diagonal 0)
– Back substitution is used to solve the upper-triangular
system
2
Gauss Elimination
(μέθοδος απαλοιφής Gauss)
1.
2.
3.
4.
Gauss Elimination
Gauss Elimination Pitfalls
Gauss Elimination with Partial Pivoting
Determinant of a Square Matrix
Using Gauss Elimination
3
1. Gaussian Elimination
A method to solve simultaneous linear equations
of the form [A][X]=[C]
Two steps
1. Forward Elimination
2. Back Substitution
4
Forward Elimination
The goal of forward elimination is to transform the
coefficient matrix into an upper triangular matrix
 25 5 1  x1  106.8 
 64 8 1  x   177.2 

  2 

144 12 1  x3  279.2
5
1   x1   106.8 
25
 0  4.8  1.56  x    96.21

  2 

0
0.7   x3   0.735 
 0
5
Forward Elimination
A set of n equations and n unknowns
a11x1  a12 x2  a13 x3  ...  a1n xn  b1
a21x1  a22 x2  a23 x3  ...  a2 n xn  b2
.
.
.
.
.
.
an1x1  an 2 x2  an3 x3  ...  ann xn  bn
(n-1) steps of forward elimination
6
Forward Elimination
Step 1
For Equation 2, divide Equation 1 by a11 and
multiply by a21 .
 a21 
 a (a11x1  a12 x2  a13 x3  ...  a1n xn  b1 )
 11 
a21
a21
a21
a21x1 
a12 x2  ... 
a1n xn 
b1
a11
a11
a11
7
Forward Elimination
Subtract the result from Equation 2.
a21x1  a22 x2  a23 x3  ...  a2 n xn  b2
a21
a21
a21
− a21x1  a a12 x2  ...  a a1n xn  a b1
11
11
11
_________________________________________________


a21 
a21 
a21
 a22 
a12  x2  ...   a2 n 
a1n  xn  b2 
b1
a11 
a11 
a11


or
a x  ...  a x  b
'
22 2
'
2n n
'
2
8
Forward Elimination
Repeat this procedure for the remaining
equations to reduce the set of equations as
a11x1  a12 x2  a13 x3  ...  a1n xn  b1
'
'
a22
x2  a23
x3  ...  a2' n xn  b2'
'
'
a32
x2  a33
x3  ...  a3' n xn  b3'
.
.
.
.
.
.
.
.
.
'
an' 2 x2  an' 3 x3  ...  ann
xn  bn'
End of Step 1
9
Forward Elimination
Step 2
Repeat the same procedure for the 3rd term of
Equation 3.
a11x1  a12 x2  a13 x3  ...  a1n xn  b1
'
'
a22
x2  a23
x3  ...  a2' n xn  b2'
"
a33
x3  ...  a3" n xn  b3"
.
.
.
.
.
.
"
an" 3 x3  ...  ann
xn  bn"
End of Step 2
10
Forward Elimination
At the end of (n-1) Forward Elimination steps, the
system of equations will look like
a11 x1  a12 x2  a13 x3  ...  a1n xn  b1
'
'
a22
x2  a23
x3  ...  a2' n xn  b2'
"
a33
x3  ...  a3"n xn  b3"
.
.
.
.
.
.
n 1 
 n 1
ann
xn  bn
End of Step (n-1)
11
Matrix Form at End of Forward
Elimination
a11 a12
 0 a'
22

0
0




 0
0
a1n   x1   b1 
'
' 




 a 2 n x2
b2
  

 a"3n   x3    b3" 
  


      
(n1 )
  xn  bn(n-1 ) 
0 ann
a13 
a
'
23
"
33
a

0
12
Back Substitution
Solve each equation starting from the last equation
5
1   x1   106.8 
25
 0  4.8  1.56  x    96.21

  2 

0
0.7   x3   0.735 
 0
Example of a system of 3 equations
13
Back Substitution Starting Eqns
a11 x1  a12 x2  a13 x3  ...  a1n xn  b1
'
'
a22
x2  a23
x3  ...  a2' n xn  b2'
"
a33
x3  ...  an" xn  b3"
.
.
.
 n 1
.
.
.
n 1 
ann xn  bn
14
Back Substitution
Start with the last equation because it has only one unknown
( n 1)
n
( n 1)
nn
b
xn 
a
15
Back Substitution
( n 1)
n
( n 1)
nn
b
xn 
a
xi 
bii 1  ai,ii11 xi 1  ai,ii12 xi  2  ...  ai,in1 xn
i 1
aii
i 1
xi 
bi
  aiji 1 x j
for i  n  1,...,1
n
j i 1
i 1
ii
a
for i  n  1,...,1
16
Computational Complexity
• Forward Elimination
For i = 1 to n-1 {
For j = i+1 to n {
// for each equation
// for each target equation below the current
A ji
n 1
n2
M ji 
, A ji  0
(n  i ) 
divisions

A
2
1
For k = i+1 to nii { // for each elementi beyond
pivot column
}
}
}
A jk  A jk  M ji Aik
3
O(n )
n 1
2 3
(n  i )  n

3
i 1
2
multiply-add’s
17
Computational Complexity
• Backward Substitution
For i = n-1 to 1 {
// for each equation
For j = n to i+1 { // for each known variable
sum = sum – Aij * xj
}
}
n 1
n2
(n  i ) 
multiply-add’s

2
i 1
2
O(n )
18
Example 1
The upward velocity of a rocket is given at three
different times
Table 1 Velocity vs. time data.
Time, t s 
5
8
12
Velocity, v m/s 
106.8
177.2
279.2
The velocity data is approximated by a polynomial as:
vt   a1t 2  a 2 t  a3 ,
Find the velocity at t=6 seconds .
5  t  12.
Example 1 Cont.
Assume
vt   a1t 2  a2t  a3 , 5  t  12.
Results in a matrix template of the form:
t12
 2
t 2
t32

t1
t2
t3
1

1
1

 a1   v1 
 a   v 
 2  2

 a3 
 
 v3 

Using data from Table 1, the matrix becomes:
 25 5 1  a1  106.8 
 64 8 1 a   177.2 

  2 

144 12 1 a3  279.2
20
Example 1 Cont.
 25 5 1  a1  106.8 
 25 5 1  106.8 
 64
8 1 a2   177.2    64
8 1  177.2 

   



144 12 1  a3  279.2
144 12 1  279.2
1. Forward Elimination
2. Back Substitution
21
Forward Elimination
22
Number of Steps of Forward Elimination
Number of steps of forward elimination is
(n1)(31)2
23
Forward Elimination: Step 1
 25 5 1  106.8 
 64 8 1  177.2 


144 12 1  279.2
25
Divide Equation 1 by 25 and
64
 2.56 .
multiply it by 64,
25
5 1  106.8 2.56  64 12.8 2.56  273.408
.
Subtract the result from
Equation 2
Substitute new equation for
Equation 2
64
 64
0
177.2
8
1 
12.8
2.56 
273.408
 4.8  1.56 
 96.208
5
1
 106.8 
 25
 0  4.8  1.56   96.208


144 12
1
 279.2 
24
Forward Elimination: Step 1 (cont.)
5
1
 106.8 
 25
Divide Equation 1 by 25 and
 0  4.8  1.56   96.208
144


144 12
1
 279.2  multiply it by 144, 25  5.76 .
25
5 1  106.8 5.76  144 28.8 5.76  615.168
12
1 
Subtract the result from 144
 144
28.8 5.76 
Equation 3
0  16.8  4.76 
.
279.2
615.168
 335.968
5
1

106.8 
25
Substitute new equation for 

0

4
.
8

1
.
56


96
.
208
Equation 3


 0  16.8  4.76   335.968
25
Forward Elimination: Step 2
5
1

106.8 
25
 0  4.8  1.56   96.208 


 0  16.8  4.76   335.968
0
Divide Equation 2 by −4.8
and multiply it by −16.8,
 16.8
 3.5 .
 4. 8
 4.8 1.56   96.208 3.5  0 16.8  5.46   336.728
Subtract the result from
Equation 3
Substitute new equation for
Equation 3
0
 0
0
 16.8  4.76 
335.968
0.7 
0.76
 16.8  5.46   336.728
0
5
1
 106.8 
25
 0  4.8  1.56   96.208


 0
0
0.7 
0.76 
26
Back Substitution
27
Back Substitution
5
1
 106.8  25
5
1   a1   106.8 
25
 0  4.8  1.56   96.2   0  4.8  1.56 a    96.208

 
  2 

 0
0
0.7  0.7   0
0
0.7   a3   0.76 
Solving for a3
0.7 a3  0.76
0.76
a3 
0 .7
a3  1.08571
28
Back Substitution (cont.)
5
1   a1   106.8 
25
 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
29
Back Substitution (cont.)
5
1   a1   106.8 
25
 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
30
Gaussian Elimination Solution
 25 5 1  a1  106.8 
 64
8 1 a2   177.2 

   

144 12 1  a3  279.2
 a1  0.290472
a    19.6905 
 2 

 a3   1.08571 
31
Example 1 Cont.
 a1  0.290472
a    19.6905 
 2 

 a3   1.08571 
Solution
The solution vector is
The polynomial that passes through the three data points is then:
vt   a1t 2  a2t  a3
 0.290472t 2  19.6905t  1.08571, 5  t  12
v6  0.2904726  19.69056  1.08571
2
 129.686 m/s .
32
2. Gauss Elimination
Pitfalls
33
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 
34
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 
35
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
12 10  7  x1  15
6 5
3   x2   14 

   
24  1 5   x3  28
12 10  7  x1   15 
0
0
6.5  x2   6.5

   
12  21 19   x3   2
Division by zero is a possibility at any step of
forward elimination
36
Pitfall#2. Large Round-off Errors
15
10  x1   45 
 20
 3  2.249 7   x   1.751

  2 

1
3   x3   9 
 5
Exact Solution
 x1  1
 x   1
 2  
 x3  1
37
Pitfall#2. Large Round-off Errors
15
10  x1   45 
 20
 3  2.249 7   x   1.751

  2 

1
3   x3   9 
 5
Solve it on a computer using
6 significant digits with chopping
 x1   0.9625 
 x    1.05 
 2 

 x3  0.999995
38
Pitfall#2. Large Round-off Errors
15
10  x1   45 
 20
 3  2.249 7   x   1.751

  2 

1
3   x3   9 
 5
Solve it on a computer using
5 significant digits with chopping
 x1   0.625 
 x    1.5 
 2 

 x3  0.99995
Is there a way to reduce the round off error?
39
Avoiding Pitfalls
Increase the number of significant digits
• Decreases round-off error
• Does not avoid division by zero
40
Avoiding Pitfalls
Gaussian Elimination with Partial Pivoting
• Avoids division by zero
• Reduces round off error
41
3. Gauss Elimination with Partial
Pivoting
42
Avoiding Pitfalls
Gaussian Elimination with Partial Pivoting
• Avoids division by zero
• Reduces round off error
43
What is Different About Partial
Pivoting?
At the beginning of the kth step of forward elimination,
find the maximum of
akk , ak 1,k ,................, ank
If the maximum of the values is a pk
in the p
th
row, k  p  n, then switch rows p and k.
44
Matrix Form at Beginning of 2nd Step of
Forward Elimination
a11 a12
 0 a'
22

'
 0 a32




 0 a'n 2
a13

'
23
'
33



an' 3
an' 4
a
a

a1n   x1   b1 
' 
' 


a 2 n x2
b2
   
a3' n   x3    b3' 
   
      
'
  xn  bn' 
ann
45
Example (2nd step of FE)
6 14 5.1 3.7 6   x1   5 
0  7 6
1
2   x2    6

   
4
12 1 11  x3    8 
0

   
9
23 6
8   x4   9 
0
0  17 12 11 43  x5   3 
Which two rows would you switch?
46
Example (2nd step of FE)
6 14 5.1 3.7 6   x1   5 
0  17 12 11 43  x   3 

 2   
4
12 1 11  x3    8 
0

   
9
23 6
8   x4   9 
0
0  7 6
1
2   x5    6
Switched Rows
47
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
48
Forward Elimination
Same as Gauss elimination method except that we switch
rows before each of the (n-1) steps of forward
elimination.
49
Example: Matrix Form at Beginning of
2nd Step of Forward Elimination
a11 a12
 0 a'
22

'
 0 a32




 0 a'n 2
a13

a'23

'
33



a
a
'
n3
a
'
n4
a1n   x1   b1 
a'2 n   x2  b2' 
   
'
'
a3n   x3    b3 
   
      
'
'




ann   xn  bn 
50
Matrix Form at End of Forward
Elimination
a11 a12
 0 a'
22

0
0




 0
0
a1n   x1   b1 
 a'2 n   x2   b2' 
  

"
"
 a3n   x3    b3 
  


      
(n1 )
(n-1 )




0 ann   xn  bn 
a13 
a'23
"
33
a

0
51
Back Substitution Starting Eqns
a11 x1  a12 x2  a13 x3  ...  a1n xn  b1
'
'
a22
x2  a23
x3  ...  a2' n xn  b2'
"
a33
x3  ...  an" xn  b3"
.
.
.
 n 1
.
.
.
n 1 
ann xn  bn
52
Back Substitution
( n 1)
n
( n 1)
nn
b
xn 
a
i 1
xi 
bi
n
i 1
  aij x j
j i 1
i 1
ii
a
for i  n  1,...,1
53
Example 2
Solve the following set of equations by
Gaussian elimination with partial
pivoting
5 1  a1  106.8 
 25
 64





8 1 a 2  177.2

   

144 12 1  a3  279.2
54
Example 2 Cont.
 25 5 1  a1  106.8 
 25 5 1  106.8 
 64 8 1 a   177.2   

64
8
1

177
.
2
2

   



144 12 1  a3  279.2
144 12 1  279.2
1. Forward Elimination
2. Back Substitution
55
Forward Elimination
56
Number of Steps of Forward Elimination
Number of steps of forward elimination is (n
1)=(31)=2
57
Forward Elimination: Step 1
• Examine absolute values of first column, first row
and below.
25 , 64 , 144
• Largest absolute value is 144 and exists in row 3.
• Switch row 1 and row 3.
 25 5 1  106.8 
144 12 1  279.2
 64 8 1  177.2    64 8 1  177.2 




144 12 1  279.2
 25 5 1  106.8 
58
Forward Elimination: Step 1 (cont.)
144 12 1  279.2
 64 8 1  177.2 


 25 5 1  106.8 
144
Divide Equation 1 by 144 and
64
 0.4444 .
multiply it by 64,
144
12 1  279.2 0.4444  63.99 5.333 0.4444  124.1
.
Subtract the result from
Equation 2
64
 63.99
0
8
1  177.2
5.333 0.4444 
124.1
2.667 0.5556  53.10
1
 279.2
Substitute new equation for 144 12
 0 2.667 0.5556  53.10
Equation 2


 25
5
1
 106.8 
59
Forward Elimination: Step 1 (cont.)
12
1
 279.2 Divide Equation 1 by 144 and
144
 0 2.667 0.5556  53.10
25

 multiply it by 25,
 0.1736.
144
 25
5
1
 106.8 
144
12 1  279.2 0.1736  25.00 2.083 0.1736  48.47
.
Subtract the result from
Equation 3
Substitute new equation for
Equation 3
25
 25
0
5
1  106.8
2.917
0.8264  58.33
2.083 0.1736  48.47
12
1
 279.2
144
 0 2.667 0.5556  53.10


 0 2.917 0.8264  58.3360
Forward Elimination: Step 2
• Examine absolute values of second column, second row
and below.
2.667 , 2.917
• Largest absolute value is 2.917 and exists in row 3.
• Switch row 2 and row 3.
1
 279.2
1
 279.2
144 12
144 12
 0 2.667 0.5556  53.10   0 2.917 0.8264  58.33




 0 2.917 0.8264  58.33
 0 2.667 0.5556  53.10
61
Forward Elimination: Step 2 (cont.)
12
1
 279.2
144
 0 2.917 0.8264  58.33


 0 2.667 0.5556  53.10
0
Divide Equation 2 by 2.917 and
multiply it by 2.667,
2.667
 0.9143.
2.917
2.917 0.8264  58.33 0.9143  0 2.667 0.7556  53.33
Subtract the result from
Equation 3
0
 0
0
Substitute new equation for
Equation 3
12
1
 279.2 
144
 0 2.917 0.8264  58.33 


 0
0
 0.2   0.23
.
2.667 0.5556 
2.667 0.7556 
0
53.10
53.33
 0.2   0.23
62
Back Substitution
63
Back Substitution
1
 279.2 
1 
144 12
144 12
 0 2.917 0.8264  58.33    0 2.917 0.8264




 0
 0
0
 0.2   0.23
0
 0.2 
 a1   279.2 
a    58.33 
 2 

 a3   0.23
Solving for a3
 0.2a3  0.23
 0.23
a3 
 0.2
 1.15
64
Back Substitution (cont.)
1 
144 12
 0 2.917 0.8264


0
 0.2 
 0
 a1   279.2 
a    58.33 
 2 

 a3   0.23
Solving for a2
2.917 a2  0.8264a3  58.33
58.33  0.8264a3
a2 
2.917
58.33  0.8264  1.15

2.917
 19.67
65
Back Substitution (cont.)
1 
144 12
 0 2.917 0.8264


0
 0.2 
 0
 a1   279.2 
a    58.33 
 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
66
Gaussian Elimination with Partial
Pivoting Solution
 25 5 1  a1  106.8 
 64 8 1 a   177.2 

  2 

144 12 1  a3  279.2
 a1  0.2917 
a    19.67 
 2 

 a3   1.15 
67
Partial Pivoting: Example
Consider the system of equations
10 x1  7 x2  7
 3x1  2.099 x2  6 x3  3.901
5 x1  x2  5 x3  6
In matrix form
 7 0  x1 
 7 
 10
3.901
 3 2.099 6  x 


  2 = 
 6 
 5
 1 5  x 3 
Solve using Gaussian Elimination with Partial Pivoting using five
significant digits with chopping
68
Partial Pivoting: Example
Forward Elimination: Step 1
Examining the values of the first column
|10|, |-3|, and |5| or 10, 3, and 5
The largest absolute value is 10, which means, to
follow the rules of Partial Pivoting, we switch
row1 with row1.
Performing Forward Elimination
 7 0  x1   7 
 10
 3 2.099 6  x   3.901

 2  

 5
 1 5  x3   6 

7
0  x1   7 
10
 0  0.001 6  x   6.001

 2  

 0
2.5
5  x3   2.5 
69
Partial Pivoting: Example
Forward Elimination: Step 2
Examining the values of the first column
|-0.001| and |2.5| or 0.0001 and 2.5
The largest absolute value is 2.5, so row 2 is
switched with row 3
Performing the row swap
7
0  x1   7 
10
 0  0.001 6  x   6.001

 2  

 0
2.5
5  x3   2.5 

7
0  x1   7 
10
0
  x    2.5 
2
.
5
5

 2  

 0  0.001 6  x3  6.001
70
Partial Pivoting: Example
Forward Elimination: Step 2
Performing the Forward Elimination results in:
0   x1   7 
10  7
 0 2.5
  x    2.5 
5

 2  

 0 0 6.002  x3  6.002
71
Partial Pivoting: Example
Back Substitution
Solving the equations through back substitution
0   x1   7 
10  7
 0 2.5
  x    2.5 
5

 2  

 0 0 6.002  x3  6.002
6.002
x3 
1
6.002
2.5  5 x3
x2 
 1
2.5
7  7 x 2  0 x3
x1 
0
10
72
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 
X  calculated   x2    1
 x3   1 
X  exact
 x1   0 
  x 2    1
 x3   1 
73
4. Determinant of a Square Matrix
Using Gauss Elimination
Example
74
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)
75
Theorem of Determinants
The determinant of an upper triangular matrix
[A]nxn is given by
det A   a11  a22  ...  aii  ...  ann
n
  a ii
i 1
76
Forward Elimination of a
Square Matrix
Using forward elimination to transform [A]nxn to
an upper triangular matrix, [U]nxn.
Ann  U  nn
det  A  det U 
77
Example
Using Gaussian elimination find the
determinant of the following square matrix.
5 1
 25
 64

8
1


144 12 1
78
Forward Elimination
79
Forward Elimination: Step 1
 25 5 1
 64 8 1


144 12 1
25
Divide Equation 1 by 25 and
64
 2.56 .
multiply it by 64,
25
5 1 2.56  64 12.8 2.56
.
Subtract the result from
Equation 2
Substitute new equation for
Equation 2
64
 64
0
8
12.8
1
2.56
 4.8  1.56
5
1 
 25
 0  4.8  1.56


144 12
1 
80
Forward Elimination: Step 1 (cont.)
5
1 
 25
 0  4.8  1.56 Divide Equation 1 by 25 and

 multiply it by 144, 144  5.76 .
144 12
1 
25
25 5 1 5.76  144 28.8 5.76
.
Subtract the result from
Equation 3
Substitute new equation for
Equation 3
144 12
 144 28.8
0  16.8
1
5.76
 4.76
5
1 
25
 0  4.8  1.56 


 0  16.8  4.76
81
Forward Elimination: Step 2
5
1 
25
 0  4.8  1.56 


 0  16.8  4.76
0
Divide Equation 2 by −4.8
and multiply it by −16.8,
 16.8
 3.5 .
 4. 8
 4.8  1.56  3.5  0  16.8  5.46
.
Subtract the result from
Equation 3
Substitute new equation for
Equation 3
0
 0
0
 16.8  4.76
 16.8  5.46
0
0 .7 
5
1 
25
 0  4.8  1.56


 0
0
0.7 
82
Finding the Determinant
After forward elimination
5
1 
 25 5 1
25
 64 8 1   0  4.8  1.56




0
0.7 
144 12 1
 0
.
det A   u11  u22  u33
 25   4.8 0.7
 84.00
83
5. Gaussian Elimination For
Tridiagonial System
84
Tridiagonal Systems
I
* Introduction of Tridiagonal System?



Special Linear System Arising in Application
A general tridiagonal matrix is a matrix whose nonzero
elements are found only on the diagonal, subdiagonal, and
superdiagonal of the matrix.
if |i – j | > 1 ,
85
Tridiagonal Systems

II
In Storage






Only the diagonal, subdiagonal, and superdiagonal elements of
the general tridiagonal matrix are stored.
This is called tridiagonal storage mode.
The elements of a general tridiagonal matrix, A, of order n
are stored in three one-dimensional arrays, C, D, and E, each
of length n.
array C contains the subdiagonal elements, stored as follows:
C = (*, a21, a32, a43, ..., an,n-1)
array D contains the main diagonal elements, stored as
follows: D = (a11, a22, a33, ..., ann)
array E contains the superdiagonal elements, stored as
follows: E = (a12, a23, a34, ..., an-1,n, *)
where "*" means you do not store an element in that position
in the array
86
Tridiagonal Systems
III
* Example of Tridiagonal Matrix…
2x1 –x2
= 1,
-x1 +2x2 –x3
= 0,
-x2 +2x3 –x4 = 0,
-x3 +2x4 = 1.
 2 1 0 0
 1 2  1 0

 0 1 2 1

 0 0 1 2
| 1
| 0
| 0

| 1
87
Gaussian Elimination
for Tridiagonal Systems
2x1 – x2
 1,
- x1  2x2 – x3
 0,
x1 –
- x2  2x3 – x4  0,
- x3  2x4  1.
x4  1;
1
3
 (–
)(1)  1;
4
4
1
2
x2 
 (–
)(1)  1;
3
3
1
1
x1 
 (–
)(1)  1.
2
2
x3 
1
1
x2
 ,
2
2
3
1
x2 – x3
 ,
2
2
- x2  2x3 – x4  0,
- x3  2x4  1.
x1 –
1
x2
2
x2 –
1
,
2
1
 ,
3
1
 ,
4
 1.

2
x3
3
 x3 –
3
x4
4
x4
88
Solving a Tridiagonal Systems
Using the Thomas Method
d 1 x1  a1 x 2
I
 r1,
b 2 x1  d 2 x 2  a 2 x3
....
 r 2,
 bn  1 xn  2  dn  1 xn  1  an  1 xn  rn  1,
 bnxn  1  dnxn
 rn.
1. B1 and An are zero.
2. This algorithm takes advantage of the zero elements that are
already present in the coefficient matrix and avoids unnecessary arithmetic
operations.
Thus, we need to store only the new vectors a and r.
89
Solving a Tridiagonal Systems
Using the Thomas Method
II
 Step 1 : For the first equation
a1
r1
a1  , r1 
d1
d1
 Step 2 : For each of the equation
ai
ri  biri  1
ai 
, ri 
di  biai  1
di  biai  1
 Step 3 : For the last equation
rn  bnrn  1
rn 
dn  bnan  1
xn  rn,
 Step 4 : by back substitution
xi  ri  aixi  1,
i  n  1, n  2, n  3,....,2,1.
90
Solving a Tridiagonal Systems
Using the Thomas Method
2 x1  x 2
III
 1,
 x1  2 x 2  x 3
 0,
 x 2  2 x3  x 4
 0,
 x3  2 x 4
 1.
d  (2,2,2,2);
a  (1,1,1,0);
b  (0,1,1,1);
r  (1,0,0,1).
91
Solving a Tridiagonal Systems
Using the Thomas Method
a1 
IV
a1
1
r1 1
  , r1 
 .
d1
2
d1 2
a2 
a2
1
2

 ,
d 2  b 2 a1
2  ( 1)( 1 / 2)
3
r2 
r 2  b 2 r1
0  ( 1)(1 / 2)
1

 .
d 2  b 2 a1
2  ( 1)( 1 / 2)
3
x 4  r 4  1,
x 3  r 3  a 3 x 4  1 / 4  ( 3 / 4)  1,
x 2  r 2  a 2 x 3  1 / 3  ( 2 / 3)(1)  1,
x1  r 1  a1 x 2  1 / 2  ( 1 / 2)(1)  1.
92
Discussion of Thomas method
* The required multiplications and divisions for Thomas method.
For the first equation, 2divisions are needed.
For each of the next n-2 equations, 2multiplications and 2 divisions are
needed.
For the last equation, 2 multiplications and 1 division are required.
The total for elimination is 5+4(n-2).
For the back substitution, n-1 multiplications are needed.
* The Thomas algorithm requires that d1  0 and di - biai - 1  0
for each i.
93
Using the Thomas Method for a System that Would
Require Pivoting for Gaussian Elimination
I
2 x1  x 2
 1,
 x1  2 x 2  x3
 0,
2
 x 2  x3  x 4
3
 x3  2 x 4  x5
4
 ,
3
 0,
 x 4  2 x5  x 6  0,
 x 5  2 x 6  1.
x1 
1
x2
2
1
,
2
1
 ,
3
 1,

 x2 
2
x3
3
 x4
 x3  2 x 4

x5
 0,
 x 4  2 x 5  x 6  0,
 x 5  2 x 6  1.
94
Using the Thomas Method for a System that Would
Require Pivoting for Gaussian Elimination
II
x1 
1
x2
2
1
,
2
1

,
3
 1( solve),

 x2 
2
x3
3
 x4
 x3  2 x 4

x5
 2 x5  x 6
 0( skip for now),
 1(u sin gx 4  1),
 x 5  2 x 6  1.
95
Using the Thomas Method for a System that Would
Require Pivoting for Gaussian Elimination
III
x 6  1,
x1 
1
x2
2
 x2 
1
 ,
2
1
 ,
3
 1,
2
x3
3
 x4
 x3  2 x 4

x5
 0,
1
1
x5  x6  ,
2
2
x 6  1.
1 1
 x 6  1,
2 2
x 4  1,
x5 
x 3  2 x 4  x 5  1,
1 2
 x 3  1,
3 3
1 1
x1   x 2  1.
2 2
x2 
96
6. Gauss – Jordan Elimination
97
Gauss-Jordan
• Variation of Gauss elimination
• Primary motive for introducing this method is that
it provides a simple and convenient method for
computing the matrix inverse.
• When an unknown is eliminated, it is eliminated
from all other equations, rather than just the
subsequent one.
• All rows are normalized by dividing them by their
pivot elements
• Elimination step results in an identity matrix
Introduction
• For inverting a matrix, Gauss-Jordan elimination is about as
efficient as any other method. For solving sets of linear
equations, Gauss-Jordan elimination produces both the solution
of the equations for one or more right-hand side vectors b, and
also the matrix inverse A−1.
• However, its principal weaknesses are
– (i) that it requires all the right-hand sides to be stored and
manipulated at the same time, and
– (ii) that when the inverse matrix is not desired, Gauss-Jordan is
three times slower than the best alternative technique for solving a
single linear set
• The method’s principal strength is that it is as stable as any other
direct method, perhaps even a bit more stable when full pivoting
is used
99
Graphical depiction of Gauss-Jordan
a11 a12
'
a
a
22
 21
a31 a32
a13 | c1 
'
a23
| c2' 

''
''
a33 | c3 
1 0 0 | c1n  

 n 
0
1
0
|
c
2 

0 0 1 | c3 n  
Graphical depiction of Gauss-Jordan
a11 a12
'
a
a
22
 21
a31 a32
a13 | c1 
'
a23
| c2' 

''
''
a33 | c3 
1 0 0 | c1n  

 n 
0
1
0
|
c
2 

0 0 1 | c3 n  
1 0 0 | c1n  

n 
0
1
0
|
c
2 

0 0 1 | c3 n  
 c1n 
x1
x2
 c2 n 
x3  c3 n 
Gauss-Jordan Elimination
Let us consider the set of linearly independent equations.
 2 x  4 y  5z  36

  3x  5 y  7 z  7
5 x  3 y  8 z  31

Augmented matrix for the set is:
36 
 2 4 5
 3 5

7
7


3  8  31
 5
102
Gauss-Jordan Elimination
Step 1: Eliminate x from the 2nd and 3rd equation.
36 
 2 4 5
 3 5
7
7 


3  8  31
 5
5
36 
2  4
0  1 14.5
61 


0 13  20.5  121
 2 x  4 y  5z  36

  3x  5 y  7 z  7
5x  3 y  8z  31

 2 x  4 y  5z  36

  y  14.5z  61
13 y  20.5z  121

103
Gauss-Jordan Elimination
Step 2: Eliminate y from the 3rd equation.
13R’2+R’3
R’’3
36 
2  4 5
0  1 14.5 61 


0 0 168 672
2 x  4 y  5 z  36

  y  14.5 z  61
 168 z  672

Step 3:
1  2 2.5 18 
0 1  14.5  61
-R’2
R’’2


1
4 
(1/168)R’’3 R’’’3 0 0
0.5R’1
R’1
 x  2 y  2.5z  18

 y  14.5z  61

z4

104
Gauss-Jordan Elimination
Step 4: Eliminate z from the 2nd equation
1  2 2.5 18 
0 1  14.5  61


1
4 
0 0
 x  2 y  2.5z  18

 y  14.5z  61

z4

( Row 3)  (14.5)  ( Row 2)
1  2 2.5 18 
0 1

0

3


0 0
1
4 
 x  2 y  2.5 z  18

y  3


z4

105
Gauss-Jordan Elimination
Step 5-1: Eliminate y from the 1st equation
1  2 2.5 18 
0 1 0  3


0 0 1 4 
 x  2 y  2.5 z  18

y  3


z4

( Row 2)  (2)  ( Row 1)  New Row 1
1 0 2.5 12 
0 1 0  3


0 0 1
4 
 x  2.5 z  12

 y  3

z4

106
Gauss-Jordan Elimination
Step 5-2: Eliminate z from the 1st equation
1 0 2.5 12 
0 1 0  3


0 0 1 4 
 x  2.5 z  12

 y  3

z4

( Row 3)  (2.5)  ( Row 1)  New Row 1
1 0 0 2 
0 1 0  3


0 0 1 4 
 x2

 y  3
 z4

107
Example
Given the following, determine {x} for the two
different loads {c}
Ax  c
 2 1 1 


1
A   2 6
3
  3 1  4
cT  1
T
c  4
2 3
 7 1
108
Solution
Ax  c
 2 1 1 


1
A   2 6
3
  3 1  4
c  1
T
c  4
T
2 3
 7 1
{c}T = {1 2 3}
x1 = (2)(1) + (-1)(2) + (1)(3) = 3
x2 = (-2)(1) + (6)(2) + (3)(3) = 19
x3 = (-3)(1) + (1)(2) + (-4)(3) = -13
{c} T= {4 -7 1)
x1 = (2)(4) + (-1)(-7) + (1)(1)=16
x2 = (-2)(4) + (6)(-7) + (3)(1) = -47
x3 = (-3)(4) + (1)(-7) + (-4)(1) = -23
109
Téléchargement