1function [L,U] = lu_rightr (A)
2%LU_RIGHTR recursive right-looking LU.
3% Example:
4%   [L,U] = lu_rightr (A)
5% See also: cs_demo
6
7% Copyright 2006-2012, Timothy A. Davis, http://www.suitesparse.com
8
9n = size (A,1) ;
10if (n == 1)
11    L = 1 ;
12    U = A ;
13else
14    u11 = A (1,1) ;                                                      % (6.4)
15    u12 = A (1,2:n) ;                                                    % (6.5)
16    l21 = A (2:n,1) / u11 ;                                              % (6.6)
17    [L22,U22] = lu_rightr (A (2:n,2:n) - l21*u12) ;                      % (6.7)
18    L = [ 1 zeros(1,n-1) ; l21 L22 ] ;
19    U = [ u11 u12 ; zeros(n-1,1) U22 ] ;
20end
21