Mathematica Stack Exchange is a question and answer site for users of Mathematica. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I want to solve the following function:

DSolve[(A1*Exp[B1*f[x]] + A2*Exp[B2*f[x]])*f'[x] == A1*Exp[B1*x] + A2*Exp[B2*x], f[x], x]

And this is what I get as an answer:

{{f[x] -> InverseFunction[(A1 E^(B1 #1))/B1 + (A2 E^(B2 #1))/B2 &][(A1 E^(B1 x))/B1 + (A2 E^(B2 x))/B2 + C[1]]}}

Mathematica says that some results could be given in the form of the inverse functions. Does anybody know how I can solve this to get some result?

Generally the given equation involves the function composition, and has the following form:

$(g \circ f)f'=g$, where Where $g \circ f=g(f(x))$.

By inspection, $f(x)=x$ is a solution. There are also other solutions. Anybody has idea how to tackle the problem to find more solutions?

share|improve this question

Mathematica's answer is called an implicit solution.

Mathematica graphics

A simpler form the ODE shows the reason.

$$ \left( e^{f\left( x\right) }+e^{bf\left( x\right) }\right) f^{\prime }\left( x\right) =1 $$

The solution $f\left( x\right)$ of the differential equation is given as a solution using inverse function. The reason is that there is no analytical solution for $f\left(x\right)$.

  DSolve[{(Exp[f[x]] + Exp[b f[x]])*f'[x] == 1}, f[x], x]

Mathematica graphics

The solution $f(x)$ above of the ODE is actually simple to see. It is the solution to this equation

\begin{equation} x-e^{f\left( x\right) }-\frac{e^{bf\left( x\right) }}{b}+C=0\tag{1}% \end{equation}

Since taking derivative of Eq. (1) the above w.r.t. $x$ gives back the ODE

\begin{align*} 1-f^{\prime}\left( x\right) e^{f\left( x\right) }-bf^{\prime}\left( x\right) \frac{e^{bf\left( x\right) }}{b} & =0\\ \left( e^{f\left( x\right) }+e^{bf\left( x\right) }\right) f^{\prime }\left( x\right) & =1 \end{align*}

Hence the solution of Eq. (1) for $f\left( x\right)$ is the solution of the differential equation. But the solution of Eq. (1) itself for $f\left( x\right) $ involves inverse functions. Hence Mathematica's answer. I Tried

  SetOptions[Solve, InverseFunctions -> False];

To see if DSolve might be using Solve at the very end to obtain the solution of the implicit equation for $f(x)$ and this setting will make it not use InverseFunction but return the solution as Solve[.....] which I think would have been better. but this did not work.

So the answer is: There is no actual analytical solution for $f(x)$, but an implicit solution in terms of InverseFunction

Some related questions and links




share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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