Re: Re: bug? f'[x]'

*To*: mathgroup at smc.vnet.net*Subject*: [mg90946] Re: [mg90933] Re: bug? f'[x]'*From*: Andrzej Kozlowski <akoz at mimuw.edu.pl>*Date*: Thu, 31 Jul 2008 02:56:29 -0400 (EDT)*References*: <200807281153.HAA20595@smc.vnet.net> <344EC9C4-D0D2-4141-855E-DBE283AA7586@mimuw.edu.pl> <200807300752.DAA17732@smc.vnet.net>

Well, if I had to speculate about this, it would probably go like this. A long, long time ago, in the very early days of Mathematica, someone was writing code for Derivative and at some point decided to sacrifice a little of mathematical sense for a bit of notational convenience (for himself). He realized that it was quite likely that users would use expressions like f[1], f[2] etc, to denote functions, hence it would be a very bad idea to convert f[1]' to f'[1], etc. However, he thought it very unlikely that f'[1],f''[1], etc... would ever be used for anything but the values of the first, second etc. derivatives of f art 1. Hence, he though, it would do no harm, and could be quite convenient if Mathematica automatically interpreted f'[1]' as f''[1], etc. So he implemented this but being worried that math professors and other "pedants" would rise hell over this violation of mathematical sense he decided not to tell anyone about it (i.e. did not document it). That is of course what I would do if I had to speculate about this, but since I don't have to I won't. Andrzej Kozlowski On 30 Jul 2008, at 09:52, Ben wrote: > Mathematica does distinguish between f'[x] (evaluating the derivative) > and f[x]' (derivative of the evaluation), so it seems unreasonable > that this behaviour should change when f is written in terms of its > antiderivative (i.e., f->g'). > > In other words, what is the justification for Derivative[i] > [ (Derivative[j][g][x]) ][y] ever evaluating to Derivative[i+j][g][x] > [y]? > > Even this behaviour is not consistent. Mathematica reverts to > mathematically correct behaviour again if g was explicitly specified. > For example, consider the function that takes an argument and returns > the operator for multiplication by the cube of that argument > (g=Function[x,Function[y,y*x^3]]). The derivative of its evaluation is > obviously (an operator that returns) a constant (namely the cube of > that argument, or zero for higher derivatives). By contrast, the > evaluation of the derivative is not a constant (it is the partial with > respect to the argument, an operator for multiplication by thrice the > squared argument; zero is not produced until the fourth derivative). > So, {g''[x][y],g'[x]'[y],g[x]''[y]}==={6xy,3x^2,0}. > > Even Derivative[j]//Derivative[i] evaluates further, nonsensically > (garbage input ought only echo), as though a rule constraint had been > overlooked. I wondered if there could be scoping error, as internal > conversions involving #& are documented for Derivative. Also, this is > not the only case of odd behaviour involving the distinction between > numbers and operators: > http://groups.google.com/group/comp.soft-sys.math.mathematica/browse_thread/thread/2b99d45979de6fd9/06396fcccf718c01 > > Ben > > On Jul 29, 3:48 pm, Andrzej Kozlowski <a... at mimuw.edu.pl> wrote: >> Since, however, it is not documented >> (and illogical) it is certianly cannot be regarded as any kind of >> "bug". >

**References**:**bug? f'[x]'***From:*Benjamin.R.Lewis@gmail.com

**Re: bug? f'[x]'***From:*Ben <Benjamin.R.Lewis@gmail.com>