import flame import laff as laff def Scale_a_matrix_unb_var1(beta, A): AL, AR = flame.part_1x2(A, \ 0, 'LEFT') while AL.shape[1] < A.shape[1]: A0, a1, A2 = flame.repart_1x2_to_1x3(AL, AR, \ 1, 'RIGHT') #------------------------------------------------------------# laff.scal( beta, a1 ) #------------------------------------------------------------# AL, AR = flame.cont_with_1x3_to_1x2(A0, a1, A2, \ 'LEFT') flame.merge_1x2(AL, AR, A) from numpy import random from numpy import matrix beta = matrix( '2.' ) A = matrix( random.rand( 5,4 ) ) print( 'beta = ' ) print( beta ) print( 'A before =' ) print( A ) Scale_a_matrix_unb_var1( beta, A ) print( 'A after =' ) print( A ) import flame import laff as laff def Scale_a_matrix_unb_var2(beta, A): AT, \ AB = flame.part_2x1(A, \ 0, 'TOP') while AT.shape[0] < A.shape[0]: A0, \ a1t, \ A2 = flame.repart_2x1_to_3x1(AT, \ AB, \ 1, 'BOTTOM') #------------------------------------------------------------# laff.scal( beta, a1t ) #------------------------------------------------------------# AT, \ AB = flame.cont_with_3x1_to_2x1(A0, \ a1t, \ A2, \ 'TOP') flame.merge_2x1(AT, \ AB, A) from numpy import random from numpy import matrix beta = matrix( '2' ); A = matrix( random.rand( 5,4 ) ) print( 'A before =' ) print( A ) Scale_a_matrix_unb_var2( beta, A ) print( 'A after =' ) print( A )