[Jprogramming] speed of matrix*vector operation.
Roger Hui
rhui000 at shaw.ca
Fri Nov 9 04:22:45 HKT 2007
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: j.language at antelecom.net
Date: Thursday, November 8, 2007 10:13
Subject: [Jprogramming] speed of matrix*vector operation.
To: programming at jsoftware.com
> 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
More information about the Programming
mailing list