Re: Making a large matrix
- To: mathgroup at smc.vnet.net
- Subject: [mg14846] Re: [mg14832] Making a large matrix
- From: Andrew Watson <abwatson at mail.arc.nasa.gov>
- Date: Fri, 20 Nov 1998 02:16:55 -0500
- Sender: owner-wri-mathgroup at wolfram.com
At 10:29 PM -0800 11/17/98, Ersek, Ted R wrote: >Consider the timing experiments below for making a large matrix of >random real numbers. > >In[1]:= >Table[Table[Random[],{1000}],{500}];//Timing Out[1]= >{17.47 Second,Null} > >In[2]:= >Table[Range[Random[],1000],{500}];//Timing Out[2]= >{9.56 Second,Null} > >In[3]:= >MakeMatrix=Compile[{m,n},Table[Range[Random[],n],{m}]]; > (* Make an (m,n) matrix. *) > >In[4]:= >MakeMatrix[500,1000];//Timing >Out[4]= >{5.82 Second,Null} > >The last method is the fastest method I can come up with. Can any of >you find a faster way to make a large matrix with Mathematica? (short >of using MathLink to run an executable program). > >Cheers, >Ted Ersek The last may be the fastest, but they are not random numbers. How about: In[1]:= <<Statistics`ContinuousDistributions` Timing[tst=RandomArray[UniformDistribution[-1,1],{1000,500}];] Out[2]= {9.7 Second,Null} (Mac G3 266 MHz) Regards, Andrew B. Watson MS 262-2 NASA Ames Research Center Moffett Field, CA 94035-1000 (650) 604-5419 (650) 604-0255 fax abwatson at mail.arc.nasa.gov http://vision.arc.nasa.gov/