MathGroup Archive 2012

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: List manipulation?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg128323] Re: List manipulation?
  • From: awnl <awnl at gmx-topmail.de>
  • Date: Sat, 6 Oct 2012 01:54:12 -0400 (EDT)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • Delivered-to: l-mathgroup@wolfram.com
  • Delivered-to: mathgroup-newout@smc.vnet.net
  • Delivered-to: mathgroup-newsend@smc.vnet.net
  • References: <20121004034155.8617868D2@smc.vnet.net> <k4lvjt$d41$1@smc.vnet.net>

Hi,

 >
 > I got a problem with List manipulation. I have the following list item:
 >
 >    a = -Subscript[50, 5]
 >
 > and I would like to change the value of 50 to 360-50 and also change the
 > sign to +. First I tried to change the sign and then the value and I got
 > an outcome I didn't understand. Doing the other way round I get the
 > outcome I expected. Does anybody know what the difference is?
 >
 > Here is the Example file:
 > http://dl.dropbox.com/u/4920002/Example.nb
 >
 >
 >
 > a = -Subscript[50, 5]
 > a[[2, 1]] = 360 - a[[2, 1]]
 > a[[1]] = -1*a[[1]]
 > a
 >
 >
 > b = -Subscript[50, 5]
 > b[[1]] = -1*b[[1]]
 > b[[1]] = 360 - b[[1]]
 > b

what happens is that you change the OwnValue of b in place from

Times[-1,Subscript[50,5]]

to:

Times[1,Subscript[50,5]]

and finally to:

Times[310,Subscript[50,5]]

which you can check from looking at:

OwnValues[b] // FullForm

after every step. The subtlety is that in the second step the b[[1]] on 
the right hand side is evaluated. As usual the b itself is evaluated 
first, which will get rid of Times, and only after that Part ([[]]) 
actually is applied, which you can see from e.g.:

b = -Subscript[50, 5]
b[[1]] = -1*b[[1]]
Trace[b[[1]]]

hth,

albert



  • Prev by Date: Problem importing java class
  • Next by Date: Re: ordering a group of symbolic operators
  • Previous by thread: List manipulation?
  • Next by thread: problem with DSolve and spheroidal harmonics