Re: RE: Re: User problem
- To: mathgroup at smc.vnet.net
- Subject: [mg24079] Re: [mg24023] RE: [mg23997] Re: [mg23971] User problem
- From: john.tanner at baesystems.com
- Date: Fri, 23 Jun 2000 02:26:46 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
The "Magic Number" coincides with the point where Table starts to
produce PackedArrays:
In[1]:= Developer`PackedArrayQ[Table[i, {i, 249}]]
Out[1]:= False
In[2]:= Developer`PackedArrayQ[Table[i, {i, 250}]]
Out[2]:= True
This break point of 250 seems to be for the total number of index
entries in the Table, thus a multi-dimensional Table has a break point
at (e.g.) Table[{i,j}, {i, 5},{j, 50}]. I cannot find a reference to
this in the documentation, but I appreciate there should be such a
break point even if I would like some control over it!
This sometimes has implications for expressions which are tested at a
small number of points and then used with a larger number: it is wise
to check with different Table sizes if you suspect the behaviour would
change. PackedArrays are extremely useful, and their near-seamless
incorporation into Mathematica is a real joy, but they do behave
differently in some circumstances even in "legal" code. It is
interesting, but not surprising given the output is in a different
form, to note this difference in "illegal" code.
hwolf (hwolf at debis.com@SMTP at MSMR02) writes:
>
>Notwithstanding the original code being illegal, 250 appears as a
>magic number. Compare:
>
>In[2]:= Table[i = i + 1, {i, 249}]
>
>In[3]:= Table[i = i + 1, {i, 250}]
>
>-- Hartmut
>
>> -----Original Message-----
>> From: BobHanlon at aol.com [SMTP:BobHanlon at aol.com]
To: mathgroup at smc.vnet.net
>To: mathgroup at smc.vnet.net
>> Sent: Monday, June 19, 2000 7:46 AM
>> To: mathgroup at smc.vnet.net
>> Subject: [mg23997] Re: [mg23971] User problem
>>
>>
>> In a message dated 6/18/2000 3:39:33 AM, joseph468 at yahoo.com
>> writes:
>>
>> >I am trying to contstruct a table of random integers
>> >between 1 and 4. I'd like to vary the number of
>> >elements in the table from time to time. The
>> >contruction that I use in Mathematica is as follows:
>> >
>> >genome = Table[i = Random[Integer, {1, 4}], {i, 249}]
>> >
>> >The problem with this is as follows: the above
>> >generates tables of varying length up to and including
>> >249 elements. However, when I try to generate any
>> >table containing more than 249 elements, I get the
>> >following error message on my screen:
>> >
>> >This program has performed an illegal operation and
>> >will be shut down. If the problem persists please
>> >contact the vendor.
>> >
>> >I have version 4 of Mathematica, and am running it on
>> >a Windows98 platform (Dell NoteBook)
>> >
>>
>> genome = Table[Random[Integer, {1, 4}], {249}];
>>
>>
>> Bob Hanlon