Relations between two reciprocal partial derivatives? Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern) Announcing the arrival of Valued Associate #679: Cesar Manara Unicorn Meta Zoo #1: Why another podcast?How to get the partial derivative of the inverse functions?Gâteaux (directional) derivatives and higher order differentials of a functionalComputing an inexact derivative with some terms preserved in exact formStrange failure of Series and DerivativeHow obtain the n-th derivative of a function with an implicit variable?Symbolic linear algebra gradients/matrix calculusDerivative of the inverse of a certain variableHigher-order partial derivatives w.r.t. variable raised to some powerWhat is the best way to define Wirtinger derivativesPartial derivative: Understanding outputSolving a differo-integral equation
Do I really need recursive chmod to restrict access to a folder?
Dating a Former Employee
Is this homebrew Lady of Pain warlock patron balanced?
Generate an RGB colour grid
Is there such thing as an Availability Group failover trigger?
Is grep documentation wrong?
Can a party unilaterally change candidates in preparation for a General election?
old style "caution" boxes
How do I find out the mythology and history of my Fortress?
Is it ethical to give a final exam after the professor has quit before teaching the remaining chapters of the course?
Do jazz musicians improvise on the parent scale in addition to the chord-scales?
Would "destroying" Wurmcoil Engine prevent its tokens from being created?
How to tell that you are a giant?
Fantasy story; one type of magic grows in power with use, but the more powerful they are, they more they are drawn to travel to their source
How to answer "Have you ever been terminated?"
How do pianists reach extremely loud dynamics?
Extracting terms with certain heads in a function
If my PI received research grants from a company to be able to pay my postdoc salary, did I have a potential conflict interest too?
What is the meaning of the new sigil in Game of Thrones Season 8 intro?
Why are the trig functions versine, haversine, exsecant, etc, rarely used in modern mathematics?
Is there any way for the UK Prime Minister to make a motion directly dependent on Government confidence?
When the Haste spell ends on a creature, do attackers have advantage against that creature?
2001: A Space Odyssey's use of the song "Daisy Bell" (Bicycle Built for Two); life imitates art or vice-versa?
How come Sam didn't become Lord of Horn Hill?
Relations between two reciprocal partial derivatives?
Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)
Announcing the arrival of Valued Associate #679: Cesar Manara
Unicorn Meta Zoo #1: Why another podcast?How to get the partial derivative of the inverse functions?Gâteaux (directional) derivatives and higher order differentials of a functionalComputing an inexact derivative with some terms preserved in exact formStrange failure of Series and DerivativeHow obtain the n-th derivative of a function with an implicit variable?Symbolic linear algebra gradients/matrix calculusDerivative of the inverse of a certain variableHigher-order partial derivatives w.r.t. variable raised to some powerWhat is the best way to define Wirtinger derivativesPartial derivative: Understanding outputSolving a differo-integral equation
$begingroup$
My question is similar to How to get the partial derivative of the inverse functions?
But they are different.
If we have a function $z=z(x,y)$, we can calculate the partial derivative $left.fracpartial^2zpartial x^2right|_y$. We can solve the original equation to obtain $x=x(z,y)$, and now we can also calculate the derivative $left.fracpartial^2xpartial z^2right|_y$.
I can directly calculate the relation between the two derivatives by hand. The result is
$$left.fracpartial^2zpartial x^2right|_y=-left(left.fracpartial xpartial zright|_yright)^-3cdotleft.fracpartial^2xpartial z^2right|_y.$$
What about higher-order derivatives? I think this is not a difficult job in MMA, but I cannot catch the point.
equation-solving calculus-and-analysis
$endgroup$
add a comment |
$begingroup$
My question is similar to How to get the partial derivative of the inverse functions?
But they are different.
If we have a function $z=z(x,y)$, we can calculate the partial derivative $left.fracpartial^2zpartial x^2right|_y$. We can solve the original equation to obtain $x=x(z,y)$, and now we can also calculate the derivative $left.fracpartial^2xpartial z^2right|_y$.
I can directly calculate the relation between the two derivatives by hand. The result is
$$left.fracpartial^2zpartial x^2right|_y=-left(left.fracpartial xpartial zright|_yright)^-3cdotleft.fracpartial^2xpartial z^2right|_y.$$
What about higher-order derivatives? I think this is not a difficult job in MMA, but I cannot catch the point.
equation-solving calculus-and-analysis
$endgroup$
add a comment |
$begingroup$
My question is similar to How to get the partial derivative of the inverse functions?
But they are different.
If we have a function $z=z(x,y)$, we can calculate the partial derivative $left.fracpartial^2zpartial x^2right|_y$. We can solve the original equation to obtain $x=x(z,y)$, and now we can also calculate the derivative $left.fracpartial^2xpartial z^2right|_y$.
I can directly calculate the relation between the two derivatives by hand. The result is
$$left.fracpartial^2zpartial x^2right|_y=-left(left.fracpartial xpartial zright|_yright)^-3cdotleft.fracpartial^2xpartial z^2right|_y.$$
What about higher-order derivatives? I think this is not a difficult job in MMA, but I cannot catch the point.
equation-solving calculus-and-analysis
$endgroup$
My question is similar to How to get the partial derivative of the inverse functions?
But they are different.
If we have a function $z=z(x,y)$, we can calculate the partial derivative $left.fracpartial^2zpartial x^2right|_y$. We can solve the original equation to obtain $x=x(z,y)$, and now we can also calculate the derivative $left.fracpartial^2xpartial z^2right|_y$.
I can directly calculate the relation between the two derivatives by hand. The result is
$$left.fracpartial^2zpartial x^2right|_y=-left(left.fracpartial xpartial zright|_yright)^-3cdotleft.fracpartial^2xpartial z^2right|_y.$$
What about higher-order derivatives? I think this is not a difficult job in MMA, but I cannot catch the point.
equation-solving calculus-and-analysis
equation-solving calculus-and-analysis
edited Apr 13 at 17:01
Carl Woll
74.5k3100194
74.5k3100194
asked Apr 13 at 15:08
Mark_PhysMark_Phys
1357
1357
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
$begingroup$
Here's another approach where I give Derivative
a definition so that rules are not needed (it happens automatically). I'll use Michael's starting point:
eqn = x == f[z[x, y], y]
x == f[z[x, y], y]
and differentiate with respect to x
:
deqn = D[eqn, x];
deqn //InputForm
1 == Derivative[1, 0][f][z[x, y], y]*Derivative[1, 0][z][x, y]
Solving for Derivative[1, 0][z][x, y]
(which is $left. fracpartial zpartial x right|_y$ in your notation):
Derivative[1, 0][z][x, y] == 1 / Derivative[1, 0][f][z[x, y], y]
Let's turn this into a definition for Derivative
:
Derivative[1, 0][z][x_, y_] = 1 / Derivative[1, 0][f][z[x, y], y];
Derivative[n_Integer?Positive, 0][z][x_, y_] := D[Derivative[1, 0][z][x, y], x, n-1]
Your first result can be obtained with:
Derivative[2, 0][z][x, y] //TeXForm
$-fracf^(2,0)(z(x,y),y)f^(1,0)(z(x,y),y)^3$
or:
D[z[x, y], x, 2] //TeXForm
$-fracf^(2,0)(z(x,y),y)f^(1,0)(z(x,y),y)^3$
Here's a table showing agreement with Michael's results:
Grid[
Table[
Derivative[n, 0][Inactive@z][x, y], Derivative[n, 0][z][x, y],
n, 4
],
Dividers -> All
] //TeXForm
$beginarrayc
hline
z^(1,0)(x,y) & frac1f^(1,0)(z(x,y),y) \
hline
z^(2,0)(x,y) & -fracf^(2,0)(z(x,y),y)f^(1,0)(z(x,y),y)^3 \
hline
z^(3,0)(x,y) & frac3
f^(2,0)(z(x,y),y)^2f^(1,0)(z(x,y),y)^5-fracf^(3,0)(z(x,y),y)f^(1,0)(z(x,y),y
)^4 \
hline
z^(4,0)(x,y) & -frac15 f^(2,0)(z(x,y),y)^3f^(1,0)(z(x,y),y)^7+frac10
f^(3,0)(z(x,y),y)
f^(2,0)(z(x,y),y)f^(1,0)(z(x,y),y)^6-fracf^(4,0)(z(x,y),y)f^(1,0)(z(x,y),y)^
5 \
hline
endarray$
$endgroup$
$begingroup$
Thank you! your method is suitable for me.
$endgroup$
– Mark_Phys
Apr 14 at 12:37
add a comment |
$begingroup$
This iterative method will give substitution rules up to the order equal to the maxorder
. It's not a good idea to use x
for both a variable and a function name, so I called it f
. (For instance, if you want to replace the variable x
by a number, Mathematica is also very likely to replace the x
in the function x[z, y]
by the number, which makes no sense. However the code below produces the right formula, if you use x[z[x, y], y]
instead of f[z[x, y], y]
.)
iter[eq_, dz_, derivrules_] := #, #2, Join[derivrules, First@Solve[##]] &[
D[eq, x] /. derivrules, D[dz, x]];
maxorder = 4;
drules = Last@Nest[iter, x == f[z[x, y], y], z[x, y], , maxorder];
Column[drules, Dividers -> All]
D[z[x, y], x, 3] /. drules
$endgroup$
$begingroup$
Thanks, @Michael E2! Your method works well. Because I am not an expert in MMA, I think Woll's method is more understandable. I will choose Woll's answer as the solution.
$endgroup$
– Mark_Phys
Apr 14 at 12:35
$begingroup$
@Mark_Phys You're welcome. Carl's method is more elegant (I think), especially since it automatically figures out the derivative whatever the order. I might not use it myself as it is, because it effectively hard codes the derivatives ofz
in terms off
for the kernel session. (On a given day, I might have several projects, something I'm developing, say, plus testing my code and other little things for courses I teach and so forth. The lurking definitions ofDerivative
might cause problems unexpectedly.) It can be fixed, but the simpler approach will probably work fine for you
$endgroup$
– Michael E2
Apr 14 at 14:09
add a comment |
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "387"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathematica.stackexchange.com%2fquestions%2f195120%2frelations-between-two-reciprocal-partial-derivatives%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
$begingroup$
Here's another approach where I give Derivative
a definition so that rules are not needed (it happens automatically). I'll use Michael's starting point:
eqn = x == f[z[x, y], y]
x == f[z[x, y], y]
and differentiate with respect to x
:
deqn = D[eqn, x];
deqn //InputForm
1 == Derivative[1, 0][f][z[x, y], y]*Derivative[1, 0][z][x, y]
Solving for Derivative[1, 0][z][x, y]
(which is $left. fracpartial zpartial x right|_y$ in your notation):
Derivative[1, 0][z][x, y] == 1 / Derivative[1, 0][f][z[x, y], y]
Let's turn this into a definition for Derivative
:
Derivative[1, 0][z][x_, y_] = 1 / Derivative[1, 0][f][z[x, y], y];
Derivative[n_Integer?Positive, 0][z][x_, y_] := D[Derivative[1, 0][z][x, y], x, n-1]
Your first result can be obtained with:
Derivative[2, 0][z][x, y] //TeXForm
$-fracf^(2,0)(z(x,y),y)f^(1,0)(z(x,y),y)^3$
or:
D[z[x, y], x, 2] //TeXForm
$-fracf^(2,0)(z(x,y),y)f^(1,0)(z(x,y),y)^3$
Here's a table showing agreement with Michael's results:
Grid[
Table[
Derivative[n, 0][Inactive@z][x, y], Derivative[n, 0][z][x, y],
n, 4
],
Dividers -> All
] //TeXForm
$beginarrayc
hline
z^(1,0)(x,y) & frac1f^(1,0)(z(x,y),y) \
hline
z^(2,0)(x,y) & -fracf^(2,0)(z(x,y),y)f^(1,0)(z(x,y),y)^3 \
hline
z^(3,0)(x,y) & frac3
f^(2,0)(z(x,y),y)^2f^(1,0)(z(x,y),y)^5-fracf^(3,0)(z(x,y),y)f^(1,0)(z(x,y),y
)^4 \
hline
z^(4,0)(x,y) & -frac15 f^(2,0)(z(x,y),y)^3f^(1,0)(z(x,y),y)^7+frac10
f^(3,0)(z(x,y),y)
f^(2,0)(z(x,y),y)f^(1,0)(z(x,y),y)^6-fracf^(4,0)(z(x,y),y)f^(1,0)(z(x,y),y)^
5 \
hline
endarray$
$endgroup$
$begingroup$
Thank you! your method is suitable for me.
$endgroup$
– Mark_Phys
Apr 14 at 12:37
add a comment |
$begingroup$
Here's another approach where I give Derivative
a definition so that rules are not needed (it happens automatically). I'll use Michael's starting point:
eqn = x == f[z[x, y], y]
x == f[z[x, y], y]
and differentiate with respect to x
:
deqn = D[eqn, x];
deqn //InputForm
1 == Derivative[1, 0][f][z[x, y], y]*Derivative[1, 0][z][x, y]
Solving for Derivative[1, 0][z][x, y]
(which is $left. fracpartial zpartial x right|_y$ in your notation):
Derivative[1, 0][z][x, y] == 1 / Derivative[1, 0][f][z[x, y], y]
Let's turn this into a definition for Derivative
:
Derivative[1, 0][z][x_, y_] = 1 / Derivative[1, 0][f][z[x, y], y];
Derivative[n_Integer?Positive, 0][z][x_, y_] := D[Derivative[1, 0][z][x, y], x, n-1]
Your first result can be obtained with:
Derivative[2, 0][z][x, y] //TeXForm
$-fracf^(2,0)(z(x,y),y)f^(1,0)(z(x,y),y)^3$
or:
D[z[x, y], x, 2] //TeXForm
$-fracf^(2,0)(z(x,y),y)f^(1,0)(z(x,y),y)^3$
Here's a table showing agreement with Michael's results:
Grid[
Table[
Derivative[n, 0][Inactive@z][x, y], Derivative[n, 0][z][x, y],
n, 4
],
Dividers -> All
] //TeXForm
$beginarrayc
hline
z^(1,0)(x,y) & frac1f^(1,0)(z(x,y),y) \
hline
z^(2,0)(x,y) & -fracf^(2,0)(z(x,y),y)f^(1,0)(z(x,y),y)^3 \
hline
z^(3,0)(x,y) & frac3
f^(2,0)(z(x,y),y)^2f^(1,0)(z(x,y),y)^5-fracf^(3,0)(z(x,y),y)f^(1,0)(z(x,y),y
)^4 \
hline
z^(4,0)(x,y) & -frac15 f^(2,0)(z(x,y),y)^3f^(1,0)(z(x,y),y)^7+frac10
f^(3,0)(z(x,y),y)
f^(2,0)(z(x,y),y)f^(1,0)(z(x,y),y)^6-fracf^(4,0)(z(x,y),y)f^(1,0)(z(x,y),y)^
5 \
hline
endarray$
$endgroup$
$begingroup$
Thank you! your method is suitable for me.
$endgroup$
– Mark_Phys
Apr 14 at 12:37
add a comment |
$begingroup$
Here's another approach where I give Derivative
a definition so that rules are not needed (it happens automatically). I'll use Michael's starting point:
eqn = x == f[z[x, y], y]
x == f[z[x, y], y]
and differentiate with respect to x
:
deqn = D[eqn, x];
deqn //InputForm
1 == Derivative[1, 0][f][z[x, y], y]*Derivative[1, 0][z][x, y]
Solving for Derivative[1, 0][z][x, y]
(which is $left. fracpartial zpartial x right|_y$ in your notation):
Derivative[1, 0][z][x, y] == 1 / Derivative[1, 0][f][z[x, y], y]
Let's turn this into a definition for Derivative
:
Derivative[1, 0][z][x_, y_] = 1 / Derivative[1, 0][f][z[x, y], y];
Derivative[n_Integer?Positive, 0][z][x_, y_] := D[Derivative[1, 0][z][x, y], x, n-1]
Your first result can be obtained with:
Derivative[2, 0][z][x, y] //TeXForm
$-fracf^(2,0)(z(x,y),y)f^(1,0)(z(x,y),y)^3$
or:
D[z[x, y], x, 2] //TeXForm
$-fracf^(2,0)(z(x,y),y)f^(1,0)(z(x,y),y)^3$
Here's a table showing agreement with Michael's results:
Grid[
Table[
Derivative[n, 0][Inactive@z][x, y], Derivative[n, 0][z][x, y],
n, 4
],
Dividers -> All
] //TeXForm
$beginarrayc
hline
z^(1,0)(x,y) & frac1f^(1,0)(z(x,y),y) \
hline
z^(2,0)(x,y) & -fracf^(2,0)(z(x,y),y)f^(1,0)(z(x,y),y)^3 \
hline
z^(3,0)(x,y) & frac3
f^(2,0)(z(x,y),y)^2f^(1,0)(z(x,y),y)^5-fracf^(3,0)(z(x,y),y)f^(1,0)(z(x,y),y
)^4 \
hline
z^(4,0)(x,y) & -frac15 f^(2,0)(z(x,y),y)^3f^(1,0)(z(x,y),y)^7+frac10
f^(3,0)(z(x,y),y)
f^(2,0)(z(x,y),y)f^(1,0)(z(x,y),y)^6-fracf^(4,0)(z(x,y),y)f^(1,0)(z(x,y),y)^
5 \
hline
endarray$
$endgroup$
Here's another approach where I give Derivative
a definition so that rules are not needed (it happens automatically). I'll use Michael's starting point:
eqn = x == f[z[x, y], y]
x == f[z[x, y], y]
and differentiate with respect to x
:
deqn = D[eqn, x];
deqn //InputForm
1 == Derivative[1, 0][f][z[x, y], y]*Derivative[1, 0][z][x, y]
Solving for Derivative[1, 0][z][x, y]
(which is $left. fracpartial zpartial x right|_y$ in your notation):
Derivative[1, 0][z][x, y] == 1 / Derivative[1, 0][f][z[x, y], y]
Let's turn this into a definition for Derivative
:
Derivative[1, 0][z][x_, y_] = 1 / Derivative[1, 0][f][z[x, y], y];
Derivative[n_Integer?Positive, 0][z][x_, y_] := D[Derivative[1, 0][z][x, y], x, n-1]
Your first result can be obtained with:
Derivative[2, 0][z][x, y] //TeXForm
$-fracf^(2,0)(z(x,y),y)f^(1,0)(z(x,y),y)^3$
or:
D[z[x, y], x, 2] //TeXForm
$-fracf^(2,0)(z(x,y),y)f^(1,0)(z(x,y),y)^3$
Here's a table showing agreement with Michael's results:
Grid[
Table[
Derivative[n, 0][Inactive@z][x, y], Derivative[n, 0][z][x, y],
n, 4
],
Dividers -> All
] //TeXForm
$beginarrayc
hline
z^(1,0)(x,y) & frac1f^(1,0)(z(x,y),y) \
hline
z^(2,0)(x,y) & -fracf^(2,0)(z(x,y),y)f^(1,0)(z(x,y),y)^3 \
hline
z^(3,0)(x,y) & frac3
f^(2,0)(z(x,y),y)^2f^(1,0)(z(x,y),y)^5-fracf^(3,0)(z(x,y),y)f^(1,0)(z(x,y),y
)^4 \
hline
z^(4,0)(x,y) & -frac15 f^(2,0)(z(x,y),y)^3f^(1,0)(z(x,y),y)^7+frac10
f^(3,0)(z(x,y),y)
f^(2,0)(z(x,y),y)f^(1,0)(z(x,y),y)^6-fracf^(4,0)(z(x,y),y)f^(1,0)(z(x,y),y)^
5 \
hline
endarray$
edited Apr 13 at 17:04
answered Apr 13 at 16:41
Carl WollCarl Woll
74.5k3100194
74.5k3100194
$begingroup$
Thank you! your method is suitable for me.
$endgroup$
– Mark_Phys
Apr 14 at 12:37
add a comment |
$begingroup$
Thank you! your method is suitable for me.
$endgroup$
– Mark_Phys
Apr 14 at 12:37
$begingroup$
Thank you! your method is suitable for me.
$endgroup$
– Mark_Phys
Apr 14 at 12:37
$begingroup$
Thank you! your method is suitable for me.
$endgroup$
– Mark_Phys
Apr 14 at 12:37
add a comment |
$begingroup$
This iterative method will give substitution rules up to the order equal to the maxorder
. It's not a good idea to use x
for both a variable and a function name, so I called it f
. (For instance, if you want to replace the variable x
by a number, Mathematica is also very likely to replace the x
in the function x[z, y]
by the number, which makes no sense. However the code below produces the right formula, if you use x[z[x, y], y]
instead of f[z[x, y], y]
.)
iter[eq_, dz_, derivrules_] := #, #2, Join[derivrules, First@Solve[##]] &[
D[eq, x] /. derivrules, D[dz, x]];
maxorder = 4;
drules = Last@Nest[iter, x == f[z[x, y], y], z[x, y], , maxorder];
Column[drules, Dividers -> All]
D[z[x, y], x, 3] /. drules
$endgroup$
$begingroup$
Thanks, @Michael E2! Your method works well. Because I am not an expert in MMA, I think Woll's method is more understandable. I will choose Woll's answer as the solution.
$endgroup$
– Mark_Phys
Apr 14 at 12:35
$begingroup$
@Mark_Phys You're welcome. Carl's method is more elegant (I think), especially since it automatically figures out the derivative whatever the order. I might not use it myself as it is, because it effectively hard codes the derivatives ofz
in terms off
for the kernel session. (On a given day, I might have several projects, something I'm developing, say, plus testing my code and other little things for courses I teach and so forth. The lurking definitions ofDerivative
might cause problems unexpectedly.) It can be fixed, but the simpler approach will probably work fine for you
$endgroup$
– Michael E2
Apr 14 at 14:09
add a comment |
$begingroup$
This iterative method will give substitution rules up to the order equal to the maxorder
. It's not a good idea to use x
for both a variable and a function name, so I called it f
. (For instance, if you want to replace the variable x
by a number, Mathematica is also very likely to replace the x
in the function x[z, y]
by the number, which makes no sense. However the code below produces the right formula, if you use x[z[x, y], y]
instead of f[z[x, y], y]
.)
iter[eq_, dz_, derivrules_] := #, #2, Join[derivrules, First@Solve[##]] &[
D[eq, x] /. derivrules, D[dz, x]];
maxorder = 4;
drules = Last@Nest[iter, x == f[z[x, y], y], z[x, y], , maxorder];
Column[drules, Dividers -> All]
D[z[x, y], x, 3] /. drules
$endgroup$
$begingroup$
Thanks, @Michael E2! Your method works well. Because I am not an expert in MMA, I think Woll's method is more understandable. I will choose Woll's answer as the solution.
$endgroup$
– Mark_Phys
Apr 14 at 12:35
$begingroup$
@Mark_Phys You're welcome. Carl's method is more elegant (I think), especially since it automatically figures out the derivative whatever the order. I might not use it myself as it is, because it effectively hard codes the derivatives ofz
in terms off
for the kernel session. (On a given day, I might have several projects, something I'm developing, say, plus testing my code and other little things for courses I teach and so forth. The lurking definitions ofDerivative
might cause problems unexpectedly.) It can be fixed, but the simpler approach will probably work fine for you
$endgroup$
– Michael E2
Apr 14 at 14:09
add a comment |
$begingroup$
This iterative method will give substitution rules up to the order equal to the maxorder
. It's not a good idea to use x
for both a variable and a function name, so I called it f
. (For instance, if you want to replace the variable x
by a number, Mathematica is also very likely to replace the x
in the function x[z, y]
by the number, which makes no sense. However the code below produces the right formula, if you use x[z[x, y], y]
instead of f[z[x, y], y]
.)
iter[eq_, dz_, derivrules_] := #, #2, Join[derivrules, First@Solve[##]] &[
D[eq, x] /. derivrules, D[dz, x]];
maxorder = 4;
drules = Last@Nest[iter, x == f[z[x, y], y], z[x, y], , maxorder];
Column[drules, Dividers -> All]
D[z[x, y], x, 3] /. drules
$endgroup$
This iterative method will give substitution rules up to the order equal to the maxorder
. It's not a good idea to use x
for both a variable and a function name, so I called it f
. (For instance, if you want to replace the variable x
by a number, Mathematica is also very likely to replace the x
in the function x[z, y]
by the number, which makes no sense. However the code below produces the right formula, if you use x[z[x, y], y]
instead of f[z[x, y], y]
.)
iter[eq_, dz_, derivrules_] := #, #2, Join[derivrules, First@Solve[##]] &[
D[eq, x] /. derivrules, D[dz, x]];
maxorder = 4;
drules = Last@Nest[iter, x == f[z[x, y], y], z[x, y], , maxorder];
Column[drules, Dividers -> All]
D[z[x, y], x, 3] /. drules
answered Apr 13 at 15:42
Michael E2Michael E2
151k12203482
151k12203482
$begingroup$
Thanks, @Michael E2! Your method works well. Because I am not an expert in MMA, I think Woll's method is more understandable. I will choose Woll's answer as the solution.
$endgroup$
– Mark_Phys
Apr 14 at 12:35
$begingroup$
@Mark_Phys You're welcome. Carl's method is more elegant (I think), especially since it automatically figures out the derivative whatever the order. I might not use it myself as it is, because it effectively hard codes the derivatives ofz
in terms off
for the kernel session. (On a given day, I might have several projects, something I'm developing, say, plus testing my code and other little things for courses I teach and so forth. The lurking definitions ofDerivative
might cause problems unexpectedly.) It can be fixed, but the simpler approach will probably work fine for you
$endgroup$
– Michael E2
Apr 14 at 14:09
add a comment |
$begingroup$
Thanks, @Michael E2! Your method works well. Because I am not an expert in MMA, I think Woll's method is more understandable. I will choose Woll's answer as the solution.
$endgroup$
– Mark_Phys
Apr 14 at 12:35
$begingroup$
@Mark_Phys You're welcome. Carl's method is more elegant (I think), especially since it automatically figures out the derivative whatever the order. I might not use it myself as it is, because it effectively hard codes the derivatives ofz
in terms off
for the kernel session. (On a given day, I might have several projects, something I'm developing, say, plus testing my code and other little things for courses I teach and so forth. The lurking definitions ofDerivative
might cause problems unexpectedly.) It can be fixed, but the simpler approach will probably work fine for you
$endgroup$
– Michael E2
Apr 14 at 14:09
$begingroup$
Thanks, @Michael E2! Your method works well. Because I am not an expert in MMA, I think Woll's method is more understandable. I will choose Woll's answer as the solution.
$endgroup$
– Mark_Phys
Apr 14 at 12:35
$begingroup$
Thanks, @Michael E2! Your method works well. Because I am not an expert in MMA, I think Woll's method is more understandable. I will choose Woll's answer as the solution.
$endgroup$
– Mark_Phys
Apr 14 at 12:35
$begingroup$
@Mark_Phys You're welcome. Carl's method is more elegant (I think), especially since it automatically figures out the derivative whatever the order. I might not use it myself as it is, because it effectively hard codes the derivatives of
z
in terms of f
for the kernel session. (On a given day, I might have several projects, something I'm developing, say, plus testing my code and other little things for courses I teach and so forth. The lurking definitions of Derivative
might cause problems unexpectedly.) It can be fixed, but the simpler approach will probably work fine for you$endgroup$
– Michael E2
Apr 14 at 14:09
$begingroup$
@Mark_Phys You're welcome. Carl's method is more elegant (I think), especially since it automatically figures out the derivative whatever the order. I might not use it myself as it is, because it effectively hard codes the derivatives of
z
in terms of f
for the kernel session. (On a given day, I might have several projects, something I'm developing, say, plus testing my code and other little things for courses I teach and so forth. The lurking definitions of Derivative
might cause problems unexpectedly.) It can be fixed, but the simpler approach will probably work fine for you$endgroup$
– Michael E2
Apr 14 at 14:09
add a comment |
Thanks for contributing an answer to Mathematica Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
Use MathJax to format equations. MathJax reference.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathematica.stackexchange.com%2fquestions%2f195120%2frelations-between-two-reciprocal-partial-derivatives%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown