Homework 6
Section 7.1: 1b, 2, 8
Section 7.2: 1a-c, 6, 9
Section 9.1: 3a, 4d
Section 7.3: 1a, 11, 13
Contents
Computer Assignment 6
Due Thursday, Nov 10 at 11:59pm
Use the following pseudo-code to implement the LU factorization with partial pivoting.
INPUT: An n x n matrix A
OUTPUT: An n x n permutation matrix P, an n x n lower-triangular matrix L and an n x x upper-triangular matrix U such that PA = LU
STEP 1: Set P = I, L = I
STEP 2: For j = 1,2,.. n-1 do STEPS
STEP 3: Set MAX to be the maximum of abs(A(i,j)) for i =
j,j+1,..,n
STEP 4: If MAX = 0 then
DISPLAY('Method failed: matrix is rank deficient')
OUTPUT(A);
STOP.
STEP 5: Let p be the smallest number such that MAX = abs(A(p,j));
STEP 6: Do Rj <--> Rp on A;
STEP 7: Do Cj <--> Cp on L;
STEP 8: Do Rj <--> Rp on L;
STEP 9: Do Rj <--> Rp on P;
STEP 10: For i = j+1,j+2,...,n do STEPS 11-12
STEP 11: Set L(i,j) = A(i,j)/A(j,j)
STEP 12: Do Ri - L(i,j) Rj --> Ri on A
STEP 13: OUTPUT([P,L,U]); STOP.Demonstrate that your code works by consdering
norm(P*A-L*U)
Explain why this shows that the factorization worked.
Construct a singular matrix and show that the error message is returned.
Solution
function [P,L,A] = LU(A) n = length(A); P = eye(n); L = eye(n); % Your code here end