We are asked to find $dy/dx$ when $x^y=y^x$. Our hand calculations use logarithmic differentiation. $$\begin{align*} x^y&=y^x\\ \ln x^y&=\ln y^x\\ y\ln x&=x\ln y\\ \end{align*}$$ Then we differentiate implicitly both sides with respect to $x$. $$\begin{align} y\frac{1}{x}+\frac{dy}{dx}\ln x&=x\frac{1}{y}\frac{dy}{dx}+\ln y\\ \frac{y}{x}+\frac{dy}{dx}\ln x&=\frac{x}{y}\frac{dy}{dx}+\ln y \end{align}$$ And then we solve for $dy/dx$. $$\begin{align*} \left(\ln x-\frac{x}{y}\right)\frac{dy}{dx}&=\ln y-\frac{y}{x}\\ \frac{dy}{dx}&=\frac{\ln y-\dfrac{y}{x}}{\ln x-\dfrac{x}{y}}\\ \frac{dy}{dx}&=\frac{y^2-xy\ln y}{x^2-xy\ln x} \end{align*}$$ Now, consider the use of Dt.

Dt[x^y == y^x, x]

The result is:

x^y (y/x + Dt[y, x] Log[x]) == y^x ((x Dt[y, x])/y + Log[y])

Now, note the extra $x^y$ at the beginning of the left-hand side and the extra $y^x$ on the right-hand side. That doesn't compare with our work. To check, we did:

Solve[Dt[x^y == y^x, x], Dt[y, x]]

Which produced:

{{Dt[y, x] -> (y (x^y y - x y^x Log[y]))/(x (x y^x - x^y y Log[x]))}}

Now we tried to compare with our hand-calculated answer.

(y (x^y y - x y^x Log[y]))/(x (x y^x - x^y y Log[x])) == (
  x y Log[y] - y^2)/(x y Log[x] - x^2) // FullSimplify

Here's a photo of this last work to make it easier to read:

enter image description here

But we did not get True. I'm worried about this situation and cannot figure out how to explain this to my students. Any help? Am I missing something?

Update: I so appreciate the help I get on Mathematica Stack Exchange. Here is an example I can now give when teaching logarithmic differentiation. The problem is: $$y=\frac{x^{3/4}\sqrt{1+x^2}}{(2+3x)^5}$$ Students' first step is to take the logarithm of both sides: $$\ln y=\frac{3}{4}\ln x+\frac12 \ln(1+x^2)-5\ln(2+3x)$$ Then differentiate both sides with respect to $x$ to get: $$\frac{dy/dx}{y}=\frac{3}{4x}+\frac{x}{1+x^2}-\frac{15}{2+3x}$$ Now, because of the help I've received, we can do this, which I show to the students in individual steps so that they can understand what is going on.

expandLog = {Log[x_ y_] :> Log[x] + Log[y], Log[x_^n_] :> n Log[x]};


enter image description here

Thanks for all the wonderful help everyone.

FullSimplify[(y (x^y y - x y^x Log[y]))/(x (x y^x - x^y y Log[x])) == 
             (x y Log[y] - y^2)/(x y Log[x] - x^2), 

             x^y == y^x]

will return True.

If you want Mathematica to give you the same answer as the hand-calculated one, you can

Solve[Dt[x^y == y^x, x], Dt[y, x]] /. Rule @@ (x^y == y^x) // Simplify


Solve[Dt[Log /@ (x^y == y^x), x], Dt[y, x]]
  • 1
    $\begingroup$ Aha! Great answer! That's right, $x^y=y^x$. Thanks for pointing that out. In addition, thanks for the extra ideas. Going to practice those and share them with my students. Thanks. $\endgroup$ – David Mar 26 '16 at 6:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.