Re: D[...] change in 5.1
- To: mathgroup at smc.vnet.net
- Subject: [mg58706] Re: D[...] change in 5.1
- From: Alexei Akolzin <akolzine at uiuc.edu>
- Date: Fri, 15 Jul 2005 03:02:22 -0400 (EDT)
- Organization: University of Illinois at Urbana-Champaign
- References: <db57qa$4ri$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
I am sorry, here what I meant:
In[1] := n /: D[n[i_], x[j_], NonConstants -> n] := (1/r)*(d[i, j] -
n[i]*n[j]);
In[2] := D[n[k], x[l], NonConstants -> n]
Out[2] = (d[k, l] - n[k] n[l]) / r
In[3] := D[1 + n[k], x[l], NonConstants -> n]
Out[3] = D[n, x[l], NonConstants -> n]
In[4] := $Version
Out[4] = "5.1 for Linux x86 (64 bit) (January 27, 2005)"
From my point of view Out[3] should be exactly equal to Out[2]. It was
in earlier versions, but it is not in 5.1! The difference gives all
kind of problems in more complicated expressions. I try to combat this
with Hold and ReleaseHold, but ran into a more peculiar problem, which
is even more puzzling to me:
In[1] := n /: D[ n[i_], x[j_], NonConstants -> {n, r} ] := ( \[Delta][i,
j] - n[i] n[j]) / r;
In[2] := r /: D[ r, x[i_], NonConstants -> {n,r} ] := n[i];
In[3] := D[ \[Delta][i,j] BesselJ[0 , k r] , x[l], NonConstants ->
{n,r} ]
Out[3] = 0
In[4] := D[ \[Delta][i,j] BesselJ[0 , k r] , x[m], NonConstants ->
{n,r} ]
Out[4] = - k BesselJ[1,k r] n[m] \[Delta][i,j]
In[8] := ?k
Global`k
In[9]:= ? \[Delta]
Global`\[Delta]
Now, Out[3] and Out[4] should be the simmilar. The only difference is
what simbol "m" or "l" is used in respective differentiation by x[m]
or x[l]. But again they are not. The problem disappears if I substitute
"\[Delta]", which I enter from keyboard as Esc d Esc, for example by
"d".
Sincerely,
Alexei.