#Insert code here... from numpy import random from numpy import matrix L = matrix( random.rand( 4,4 ) ) x = matrix( random.rand( 4,1 ) ) xold = matrix( random.rand( 4,1 ) ) # Notice that L is not lower triangular. We will only use the lower triangular part. print( 'L before =' ) print( L ) print( 'x before =' ) print( x ) import numpy as np laff.copy( x, xold ) # save the original vector x Trmv_lt_unb_var1( L, x ) print( 'x after =' ) print( x ) #np.tril makes the matrix lower triangular print( 'x - ( np.transpose( np.tril( L ) ) * xold ) = ' ) print( x - ( np.transpose( np.tril( L ) ) * xold ) ) #Insert code here... from numpy import random from numpy import matrix L = matrix( random.rand( 4,4 ) ) x = matrix( random.rand( 4,1 ) ) xold = matrix( random.rand( 4,1 ) ) # L is not lower triangular. We will only use the lower triangular part. print( 'L before =' ) print( L ) print( 'x before =' ) print( x ) laff.copy( x, xold ) # save the original vector y Trmv_lt_unb_var2( L, x ) print( 'x after =' ) print( x ) #np.tril makes the matrix lower triangular print( 'x - ( np.transpose( np.tril( L ) ) * xold ) = ' ) print( x - ( np.transpose( np.tril( L ) ) * xold ) )