|
[Date Index]
[Thread Index]
[Author Index]
Re: How to use "Apply" to do differentiation ?
- To: mathgroup at smc.vnet.net
- Subject: [mg114456] Re: How to use "Apply" to do differentiation ?
- From: Achilleas Lazarides <achilleas.lazarides at gmx.com>
- Date: Sun, 5 Dec 2010 21:49:10 -0500 (EST)
Trace does show you what happened: Apply replaces the head of its second argument by the first. In this case, it replaces Power in Power[x,5] by
D[#, x] &
(the second step in the trace). So if instead of D[#,x]& you had eg Print[#1,#2]&, it would have printed
x5
because that is what Print[x,5] does.
The point is that it does not give you a message to the effect that your anonymous function has too many arguments in the second step in the trace; it just silently drops the second argument. This is what anonymous functions in Mathematica seem to do: silently drop extra arguments (I have no idea if this is good, bad, neutral, accidental etc).
So basically you are evaluating
(D[#1, x] & )[x, 5]
which drops the second argument and differentiates x.
On Dec4, 2010, at 1:16 PM, Mayasky wrote:
>
> Something simple yet unbelievable occurred when I use:
>
> Apply[D[#, x] &, x^5]
>
> The output is invariably 1 whether I use x^5 or x^100.
> Also I suggest you to try "Trace" command to see
> the weirdness -- the output is messy if pasted as
> text here.
>
> Finally I have to take a detour and use:
> Nest[D[#, x] &, x^5, 1]
>
> I have been using Mathematica for several years and
> never found that. I myself is wordless, but can anyone
> explain that?
Prev by Date:
Re: a simple plotting question
Next by Date:
Re: Create Paclet type documentation
Previous by thread:
Re: How to use "Apply" to do differentiation ?
Next by thread:
Re: How to use "Apply" to do differentiation ?
|