Question
Here you will work with LU factorization of an mn matrix A. Theory: Any mxn matrix A can be reduced to an echelon form by
Here you will work with LU factorization of an mn matrix A. Theory: Any mxn matrix A can be reduced to an echelon form by using only row replacement and row interchanging operations. Row interchanging is almost always necessary for a computer realization because it reduces the round off errors in calculations - this strategy in computer calculation is called partial pivoting, which refers to selecting for a pivot the largest by absolute value entry in a column. The MATLAB command [L, U] = lu(A) returns a permuted lower-triangular matrix L and an upper-triangular matrix U, such that, A=L*U. The matrix U is an echelon form of a square matrix A or resembles an echelon form for a general matrix A; the rows of matrix L can be rearranged (permuted) to a lower-triangular matrix with 1s on the main diagonal. Practical Applications of the LU Factorization for Square Matrices: Part I: When A is invertible, MATLAB uses LU factorization of A=L*U, to find the inverse matrix by, first, inverting L and U and, then, computing A-1=L-1*U-1.
**Create a function in MATLAB that will begin with the commands: function [L,U,invA] = eluinv(A) [~,n]=size(A); [L,U] = lu(A); **Verify that A is equal to L*U. If it is the case, display the message: disp('Yes, I have got LU factorization') Note: You will need to use the function closetozeroroundoff for this check and for all other checks that follow. **Verify that U is an echelon form of A. If it is the case, output a message: disp('U is an echelon form of A') If it is not the case, the output message should be something like: disp('Something is wrong') **Next, check whether A is invertible or not. I suggest using the rank command.
If A is not invertible, output: sprintf('A is not invertible') invA=[]; and terminate the program. **If A is invertible, calculate the inverses of the matrices L and U, invL and invU respectively, by applying the row-reduction algorithm to [L eye(n)] and [U eye(n)]. Due to the structure of the matrices L and U, these computations will not take too many arithmetic operations. **Calculate the matrix invA using the matrices invL and invU. (See the theory above). **Run the MATLAB command inv(A) and compare the matrices invA and inv(A) (Of course, you should use the function closetozeroroundoff of their difference.) If invA and inv(A) match, display the message: disp('Yes, LU factorization works for calculating the inverses') Otherwise, the message should be: disp('LU factorization does not work for me?!') **Type the function eluinv in your diary file. **Run the function [L,U,invA] = eluinv(A) on the following matrices: (a) A=[1 1 4;0 -4 0;-5 -1 -8] (b) A=magic(4) (c) A=[2 1 -3 1;0 5 -3 5;-4 3 3 3;-2 5 1 3] (d) A=magic(3)
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started