How about asking your friend to invert the 40 by 40 Hilbert 
matrix in MatLab?  This is how you can do it in J:

   h =: % 1 + +/~ i.40x
   h1=: %. h
   h +/ .* h1  NB. verify that it's the identity matrix



----- Original Message -----
From: [EMAIL PROTECTED]
Date: Thursday, November 8, 2007 10:13
Subject: [Jprogramming] speed of matrix*vector operation.
To: [email protected]

> 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
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to