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>