Re: More /.{I->-1} craziness
- To: mathgroup at smc.vnet.net
- Subject: [mg106035] Re: More /.{I->-1} craziness
- From: "Alexander Elkins" <alexander_elkins at hotmail.com>
- Date: Thu, 31 Dec 2009 03:13:38 -0500 (EST)
- References: <hhf5s3$h4o$1@smc.vnet.net>
You'll get the same behavior for similar reasons if you try the following: In[1]:= -1/2 /. 1/2 -> -1/2 Out[1]= -(1/2) The reason is that what you see is not what is acted upon, for example: In[2]:= FullForm[{1/-2,I,-I,1+I,1-I,1/-2+I/-3}] Out[2]//FullForm= List[Rational[-1,2],Complex[0,1],Complex[0,-1],Complex[1,1],Complex[1,-1],Co mplex[Rational[-1,2],Rational[-1,3]]] In other words -I is seen as Complex[0,-1] not -Complex[0,1], Complex[0,1] does not match anything, so no replacement is performed leaving the input unchanged. One way to change -I to -(-I) is as follows: In[3]:= -I/.Complex[r_,i_]:>Complex[r,-i] Out[3]= I That also works in this more general case: In[4]:= 1/-2+I/-3/.Complex[r_,i_]:>Complex[r,-i] Out[4]= -(1/2)+I/3 Hope this helps... "AES" <siegman at stanford.edu> wrote in message news:hhf5s3$h4o$1 at smc.vnet.net... > The more I play with these I->-I substitution rules, the more seemingly > wildly inconsistent results emerge. For example: > > In[1]:= -I/.I->-I > > Out[1]= -I > > In[3]:= -E/.E->-E > > Out[3]= << The Esc e e Esc symbol >> > > In[4]:= -Pi/.Pi->-Pi > > Out[4]= \[Pi] > > In[5]:= -Infinity/.Infinity->-Infinity > > Out[5]= -\[Infinity] > > (In/Out[2] is removed because it was an irrelevant cell.) >