Example 3.  Use  PA = LU  factorization with pivoting to solve the linear system  AX = B,  where

    [Graphics:Images/LUfactorMod_gr_48.gif]  and  [Graphics:Images/LUfactorMod_gr_49.gif].  
Solution 3.

Remark.  The  LU  factorization part does not depend on  B.  To emphasize this, we only enter the matrix  A  at this time.

 

[Graphics:../Images/LUfactorMod_gr_50.gif]

Execute the  LUfactor  subroutine.  Note that the dimension of the system must be used, in this case n = 3.

[Graphics:../Images/LUfactorMod_gr_51.gif]

Now print out the matrices  L,  U,  L.U,  L.U and  P.A.  (Remember we stored a copy of  A  in A0).

[Graphics:../Images/LUfactorMod_gr_52.gif]
[Graphics:../Images/LUfactorMod_gr_53.gif] [Graphics:../Images/LUfactorMod_gr_54.gif] [Graphics:../Images/LUfactorMod_gr_55.gif] [Graphics:../Images/LUfactorMod_gr_56.gif] [Graphics:../Images/LUfactorMod_gr_57.gif] [Graphics:../Images/LUfactorMod_gr_58.gif] [Graphics:../Images/LUfactorMod_gr_59.gif] [Graphics:../Images/LUfactorMod_gr_60.gif]

Now enter the matrix  B.  

[Graphics:../Images/LUfactorMod_gr_61.gif]

Solve the system  AX = B for  X.

[Graphics:../Images/LUfactorMod_gr_62.gif]
[Graphics:../Images/LUfactorMod_gr_63.gif] [Graphics:../Images/LUfactorMod_gr_64.gif] [Graphics:../Images/LUfactorMod_gr_65.gif] [Graphics:../Images/LUfactorMod_gr_66.gif]

We are done.

Aside.  For curiosity, we can check to see the "in between" steps that were made in the solution.  First, we solved  [Graphics:../Images/LUfactorMod_gr_67.gif]  for  [Graphics:../Images/LUfactorMod_gr_68.gif]  using forward substitution.  This is just for fun

[Graphics:../Images/LUfactorMod_gr_69.gif]
[Graphics:../Images/LUfactorMod_gr_70.gif] [Graphics:../Images/LUfactorMod_gr_71.gif] [Graphics:../Images/LUfactorMod_gr_72.gif] [Graphics:../Images/LUfactorMod_gr_73.gif] [Graphics:../Images/LUfactorMod_gr_74.gif]

Second, we solved [Graphics:../Images/LUfactorMod_gr_75.gif]  for  [Graphics:../Images/LUfactorMod_gr_76.gif]  using back substitution.

[Graphics:../Images/LUfactorMod_gr_77.gif]
[Graphics:../Images/LUfactorMod_gr_78.gif] [Graphics:../Images/LUfactorMod_gr_79.gif] [Graphics:../Images/LUfactorMod_gr_80.gif] [Graphics:../Images/LUfactorMod_gr_81.gif]

Finally, we can verify that the residual is  zero, i. e. use matrix multiplication to see if    AX - B  =  0.

[Graphics:../Images/LUfactorMod_gr_82.gif]
[Graphics:../Images/LUfactorMod_gr_83.gif] [Graphics:../Images/LUfactorMod_gr_84.gif] [Graphics:../Images/LUfactorMod_gr_85.gif]

Aside.  Suppose a new linear system  AX = B  is to be solved, where  A  is the same we used above, but  B  is a new vector.
Then we enter  B  and only invoke the  SolveLU  subroutine.

[Graphics:../Images/LUfactorMod_gr_86.gif]

Solve the new system  AX = B for  X.

[Graphics:../Images/LUfactorMod_gr_87.gif]
[Graphics:../Images/LUfactorMod_gr_88.gif] [Graphics:../Images/LUfactorMod_gr_89.gif] [Graphics:../Images/LUfactorMod_gr_90.gif] [Graphics:../Images/LUfactorMod_gr_91.gif]

 

 

 

 

 

 

 

 

 

 

 

 

(c) John H. Mathews 2003