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.