% Copyright 2003 The University of Texas at Austin % % For licensing information see % http://www.cs.utexas.edu/users/flame/license.html % % Programmed by: Name of author % Email of author function [ A_out ] = Chol_unb_var3( A ) [ ATL, ATR, ... ABL, ABR ] = FLA_Part_2x2( A, ... 0, 0, 'FLA_TL' ); while ( size( ATL, 1 ) < size( A, 1 ) ) [ A00, a01, A02, ... a10t, alpha11, a12t, ... A20, a21, A22 ] = FLA_Repart_2x2_to_3x3( ATL, ATR, ... ABL, ABR, ... 1, 1, 'FLA_BR' ); %------------------------------------------------------------% alpha11 = sqrt( alpha11 ); a21 = a21 / alpha11; A22 = A22 - tril( a21 * a21' ); %------------------------------------------------------------% [ ATL, ATR, ... ABL, ABR ] = FLA_Cont_with_3x3_to_2x2( A00, a01, A02, ... a10t, alpha11, a12t, ... A20, a21, A22, ... 'FLA_TL' ); end A_out = [ ATL, ATR ABL, ABR ]; return