function [ b_out ] = Trsv_ln_unb_var1( b, L )
[ bT, ...
bB ] = FLA_Part_2x1( b, ...
0, 'FLA_TOP' );
[ LTL, LTR, ...
LBL, LBR ] = FLA_Part_2x2( L, ...
0, 0, 'FLA_TL' );
while ( size( bT, 1 ) < size( b, 1 ) )
[ b0, ...
beta1, ...
b2 ] = FLA_Repart_2x1_to_3x1( bT, ...
bB, ...
1, 'FLA_BOTTOM' );
[ L00, l01, L02, ...
l10t, lambda11, l12t, ...
L20, l21, L22 ] = FLA_Repart_2x2_to_3x3( LTL, LTR, ...
LBL, LBR, ...
1, 1, 'FLA_BR' );
%------------------------------------------------------------%
beta1 = beta1 - l10t * b0;
beta1 = beta1 / lambda11;
%------------------------------------------------------------%
[ bT, ...
bB ] = FLA_Cont_with_3x1_to_2x1( b0, ...
beta1, ...
b2, ...
'FLA_TOP' );
[ LTL, LTR, ...
LBL, LBR ] = FLA_Cont_with_3x3_to_2x2( L00, l01, L02, ...
l10t, lambda11, l12t, ...
L20, l21, L22, ...
'FLA_TL' );
end
b_out = [ bT
bB ];
return
LinearAlgebraWiki: Trsv ln/FLAME@lab/UnbVar1 (last edited 2008-08-06 19:54:35 by MarthaGanser)