import numpy as np # This imports a package called "numpy" that will make working with matrices # simpler # create two two-dimensional matrices of only one column each. x = np.matrix( '1.;2.;3.' ) print( 'x = ' ) print( x ) y = np.matrix( '-1.;0.;-2.' ) print( 'y = ' ) print( y ) alpha = np.transpose( x ) * y print( 'alpha:' ) print( alpha ) alpha[0,0] alpha = 0. for i in range( 3 ): alpha = x[ i, 0 ] * y[ i, 0 ] + alpha print( 'alpha' ) print( alpha ) print( 'compare alpha to np.transpose(x) * y:' ) alpha_reference = np.transpose(x) * y print( alpha - alpha_reference[0,0] ) def dot( x, y ): m, n = np.shape( x ) alpha = 0.0 for i in range( m ): alpha = x[ i, 0 ] * y[ i, 0 ] + alpha return alpha alpha = 0. alpha = dot( x, y ) print( 'alpha' ) print( alpha ) print( 'compare alpha to np.transpose(x) * y:' ) alpha_reference = np.transpose(x) * y print( alpha - alpha_reference[0,0] ) import laff alpha = 0. alpha = laff.dot( x, y ) print( 'alpha' ) print( alpha ) print( 'compare alpha to np.transpose(x) * y:' ) alpha_reference = np.transpose(x) * y print( alpha - alpha_reference[0,0] ) def dot( x, y ): ### You fill in the rest!