MathGroup Archive 2004

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

Search the Archive

RE: Undiscovered Bug?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg46872] RE: [mg46862] Undiscovered Bug?
  • From: "Wolf, Hartmut" <Hartmut.Wolf at t-systems.com>
  • Date: Fri, 12 Mar 2004 23:39:14 -0500 (EST)
  • Sender: owner-wri-mathgroup at wolfram.com

>-----Original Message-----
>From: Harold.Noffke at wpafb.af.mil [mailto:Harold.Noffke at wpafb.af.mil]
To: mathgroup at smc.vnet.net
>Sent: Friday, March 12, 2004 8:03 AM
>To: mathgroup at smc.vnet.net
>Subject: [mg46872] [mg46862] Undiscovered Bug?
>
>
>MathGroup:
>
>In Mathematica 5.0.1 with Windows 2000, I mistakenly used the [[{}]]
>operator on x/y.  I was expecting an error, but I kept getting unusual
>results as shown in In/Out's 2 to 5 below.
>
>Have I stumbled on a bug, or is there a way to make sense out of this?
>
>
>In[1]:= TreeForm[x/y]
>
>Out[1]//TreeForm= Times[x, |           ]
>                           Power[y, -1]
>
>In[2]:= (x/y)[[{2,2}]]
>
>
>Out[2]=  -2
>        y
>
>In[3]:= (x/y)[[{1,2,1}]]
>
>         2
>        x
>Out[3]= --
>        y
>
>In[4]:= (x/y)[[{2, 2, 2, 2}]]
>
>         -4
>Out[4]= y
>
>In[5]:= (x/y)[[{2, 1, 1, 0, 2, 2, 0}]]
>
>             2  2
>        Times  x
>Out[5]= ---------
>            3
>           y
>		   
>		   
>Regards,
>Harold
>


Well, Harold,

it's **never** a bug!  (Of course, sometimes it's a bug, but when it is,
you'll know!)


To understand your results we have to look first at the FullForm of the
expression:

In[1]:= FullForm[x/y]
Out[1]//FullForm=
Times[x, Power[y, -1]]

Now Help says:

  expr[[i]] or Part[expr, i] gives the ith part of expr.

Such...

In[2]:= (x/y)[[2]]
Out[2]= 1/y

In[3]:= % // FullForm
Out[3]//FullForm= Power[y, -1]

...should be clear as daylight.


For the next case again consult Help:

  When expr is a list, expr[[{i1, i2, ...}]] gives
  a list of parts. In general the head of expr is 
  applied to the list of parts

Such...

In[4]:= (List @@ (x/y))[[{2, 2}]]
Out[4]= {1/y, 1/y}

In[5]:= Times @@ %
Out[5]= 1/y^2

...should be the same as 

In[6]:= (x/y)[[{2, 2}]]
Out[6]= 1/y^2

The explanations for your other cases go along the same lines, if you only
know that

In[7]:= (x/y)[[0]]
Out[7]= Times


--
Hartmut


  • Prev by Date: Re: Undiscovered Bug?
  • Next by Date: Re: Integrate vs NIntegrate
  • Previous by thread: Re: Undiscovered Bug?
  • Next by thread: Re: Undiscovered Bug?