Re: Algorithm Analysis Course: Should I use Mathematica for projects?
- To: mathgroup at smc.vnet.net
- Subject: [mg127302] Re: Algorithm Analysis Course: Should I use Mathematica for projects?
- From: Andrzej Kozlowski <akozlowski at gmail.com>
- Date: Sun, 15 Jul 2012 04:26:27 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- Delivered-to: mathgroup-newout@smc.vnet.net
- Delivered-to: mathgroup-newsend@smc.vnet.net
- References: <jtkuhh$2a$1@smc.vnet.net> <20120712085845.B341E6859@smc.vnet.net> <jtoglu$qk8$1@smc.vnet.net> <50006641.8080505@cs.berkeley.edu> <4C9B8992-4120-4D27-A049-93F3632F2182@gmail.com> <20120714052828.774436867@smc.vnet.net> <FB3DBDDB-A4F4-42A9-8B6D-A880E2980CDF@mimuw.edu.pl> <5001B612.9030903@eecs.berkeley.edu> <660F39E7-95EF-4C28-9C9E-1253EB80AE1A@gmail.com> <5001DA47.6080502@eecs.berkeley.edu>
On 14 Jul 2012, at 22:44, Richard Fateman wrote:
>> B = Table[i, {i, 0, 1000}];
>> B[[5]] = j; Timing[Do[B[[50]]++, {i, 0, 100000}]]
>>
>> This sort of thing can certainly change the length of a list. A simple example:
>>
>> Clear[B]
>>
>> j /: {a___, j, b__} := {a, 1, 1, b}
>>
>> B = Table[i, {i, 0, 5}];
>> Length[B]
>> 6
>>
>> B[[5]] = j;
>> Length[B]
>> 7
>>
>> It would seem to me that this alone should force re-evaluation of the list.
> The activity which is being timed is B[[50]] or B[[50]]++
> neither of which changes the length of the list/ size of the array.
Yes, but this can also trigger a change in the length if the list contains a symbol with and UpValue. For example:
j /: {a___, j, 3, b__} := {a, 1, 1, 2, b}
B = Table[i, {i, 0, 5}];
B[[2]] = j;
B[[2]] = j;
Do[B[[3]]++, {3}]
B
{0,1,1,2,3,4,5}
The length of the list has changed. As long as the list contains a symbol that might have an UpValue any change of any index can change the length of the list. I still think that makes re-evaluation necessary.
Andrzej
- References:
- Re: Algorithm Analysis Course: Should I use Mathematica for projects?
- From: Richard Fateman <fateman@cs.berkeley.edu>
- Re: Algorithm Analysis Course: Should I use Mathematica for projects?
- From: Richard Fateman <fateman@eecs.berkeley.edu>
- Re: Algorithm Analysis Course: Should I use Mathematica for projects?