On Nov 8, 2007 1:13 PM, <[EMAIL PROTECTED]> wrote: > I told my friend about how nice J was. Am I wrong? > > He said, how fast can you multiply a 1000x1000 matrix times > a 1x1000 vector to get a 1x1000 resultant vector. > > his MatLab code ran in about .6 seconds. > > His code follows.. > > matrix = randn(312,256); > vector = randn(256,1); > > tic > for i = 1:1000 > output = matrix*vector; > end > toc > > I wrote my code which runs in about 2.5 minutes > > here is my code: > > #!/home/efittery/bin/jconsole > > A =: 256 312 $ 1+ i. 312 * 256x > B =: 312 1 $ 1+ i. 312x > > jumbo =: monad define > for. i. y do. > yVector =: A +/ .* B > end. > ) > > jumbo 1000 >
I don't really see why you are using alopp for this operation when rank will give you the behaviour you want a great deal faster A =: 256 312 $ 1+ i. 312 * 256x NB. note that i avoided the reshape of B.. B =: 1+ i. 312 ts '$A +/[EMAIL PROTECTED]"_ 1 _ B' 0.429418 6.82336e6 -- - michael dykman - [EMAIL PROTECTED] - All models are wrong. Some models are useful. ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
