Re: A Table-dimensioning problem
- To: mathgroup at smc.vnet.net
- Subject: [mg74461] Re: A Table-dimensioning problem
- From: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>
- Date: Thu, 22 Mar 2007 01:11:02 -0500 (EST)
- Organization: Uni Leipzig
- References: <etqp5t$1j7$1@smc.vnet.net>
- Reply-to: kuska at informatik.uni-leipzig.de
Hi, this is probably because the Kernel will try to compile larger Table[] commands and you have to stop the compilation in this case. opts = ("CompileOptions" /. Developer`SystemOptions[]) /. \ ("TableCompileLength" -> _) :> ( "TableCompileLength" -> Infinity); Developer`SetSystemOptions["CompileOptions" -> opts]; Regards Jens Ray Koopman wrote: > While attempting to create ragged arrays in connection with a recent > thread, I discovered a discontinuity in the way Table interprets a > random level-2 limit. When the level-1 limit (the number of rows) > is less than 250, the level-2 limit (the number of columns) is re- > evaluated for each row. When the level-1 limit is 250 or greater, > the level-2 limit is evaluated only once. All versions 5.x do this. > I don't know about 4, but 3.0 seems to always re-evaluate the limit. > > In[1]:= rag[rows_,colrange_] := Table[ Random[], > {rows},{Random[Integer,colrange]}] > > In[2]:= Length @ Union[ Length /@ rag[249,{1,99}] ] > > Out[2]= 90 > > In[3]:= Length @ Union[ Length /@ rag[250,{1,99}] ] > > Out[3]= 1 > >