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

Reply via email to