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?