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
>
>