1
$\begingroup$

I need to convert derivatives of g[x,v] wrt v into derivatives wrt x using this relation:

$$\frac{dg[x,v]}{dv}=\frac{1}{2}\frac{d^{2}g}{dx^{2}}+\frac{1}{2}\left(\frac{dg}{dx}\right)^{2}$$

This code converts the 0-4th derivatives perfectly:

ord = 5; Derivative[q_, 1][g][x, v] = D[(D[g[x, v], {x, 2}] + D[g[x, v], x]^2), {x, q}]/2; dgdv = Table[D[g[x, v], {v, i}], {i, 0, ord - 1}]; 

Notice that I only defined the 1st deriv of g wrt v, but MMa was smart enough to just apply the relation repeated. However, Series[] doesn't figure that out, for example it just leaves the 2nd derivative wrt v in that form:

Series[g[x, v], {v, 0, 2}] 

$g(x,0)+v g^{(0,1)}(x,0)+\frac{1}{2} v^2 g^{(0,2)}(x,0)+O\left(v^3\right)$

I attempted to fix my definition to cover higher derivatives wrt v explicitly, but then I ran into recursion problems, which I tried and failed to fix as follows:

Derivative[q_, Except[0, n_]][g][x, v] = D[(D[g[x, v], {x, 2}] + D[g[x, v], x]^2), {x, q}, {v, n - 1}]/2; 

This also failed:

Derivative[q_, 0][g][x_, v_] := D[g[x, v], {x, q}]; Derivative[q_, r_][g][x_, v_] := If[r > 1, D[D[g[x, v], {x, q}, {v, r - 1}], v], D[(D[g[x, v], {x, 2}] + D[g[x, v], x]^2), {x, q}]/2]; 

I know that's an ugly solution, but I don't know why it didn't work. Help?

$\endgroup$

1 Answer 1

2
$\begingroup$

Try this:

Derivative[m_, Except[0, n_]][g][x_, v_] := 1/2 Derivative[2 + m, n - 1][g][x, v] + 1/2 Sum[Binomial[n - 1, k] Binomial[m, j] * Derivative[m - j + 1, n - 1 - k][g][x, v] * Derivative[j + 1, k][g][x, v], {k, 0, n - 1}, {j, 0, m}] 

Series[g[x, v], {v, 0, 2}] now gives the expected output.

$\endgroup$
4
  • $\begingroup$ Yes, that totally worked. I see what you did there, manually coding out the Binomial expansion for the derivs of $g'^2$. But that seems like something MMa should have been able to do itself. Why didn't my version work? $\endgroup$ Commented Oct 12, 2015 at 22:04
  • $\begingroup$ @JerryGuern I don't quite know; if I better understood the relationship between D and Derivative, I think I would know why your version didn't work. $\endgroup$ Commented Oct 12, 2015 at 22:14
  • $\begingroup$ I've Accepted this Answer because it did work, but I think I'm going to post another question about why 'D' couldn't do the recursion. Thanks for your help! $\endgroup$ Commented Oct 12, 2015 at 22:26
  • $\begingroup$ I posted a follow up: mathematica.stackexchange.com/questions/96853/… $\endgroup$ Commented Oct 12, 2015 at 23:21

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.