I want to solve an equation $$\log \left(\frac{b}{y}\right)=\left(\frac{x}{y}-a\right)^{\beta}.~~~~~~~~~(1)$$

Solve[Log[b/y] == (x/y - a)^\[Beta], y]

Here $b$, $x$, and $a$ are constants (In principle, we have $x/y\simeq a$). I want to find the solution $y=?$

If $a=0$, the solution is $$y^*=\left(-\frac{\beta x^{\beta}}{W\left(\beta\left(-b^{-\beta}\right) x^{\beta}\right)}\right)^{1/\beta},~~~~~~~~~(2)$$ where $W$ is the ProductLog function in MATHEMATICA.

I try to use $y=y^*+c*x^\gamma$ to find the correction term, but I failed. I guess that the correction term is not like $c*x^\gamma$.

How can I find the correction term? For my problem, $a$ is important and can be ignored.



In principle, this problem is still not solved. For my problem, $x$ has some relation with $a$, which is unknown until now. Thus, $a$ can not tend to $0$. Besides, I assume that $a\to 0$, the result is not very good.

  • $\begingroup$ The introduction about $W$ function. en.wikipedia.org/wiki/Lambert_W_function $\endgroup$
    – Blueka
    Commented Sep 6, 2020 at 12:50
  • 1
    $\begingroup$ Do you have a good reason to suspect that a closed form solution even exists? $\endgroup$ Commented Sep 6, 2020 at 13:12
  • $\begingroup$ I am not sure about this. But I believe that the solution may exist. For example, if $\beta=2$, I have found the solution. Now I just want to find a solution which is better than Eq.~2. $\endgroup$
    – Blueka
    Commented Sep 6, 2020 at 13:16
  • $\begingroup$ @SjoerdSmit At least, the numerical solution exists. $\endgroup$
    – Blueka
    Commented Sep 6, 2020 at 13:31
  • 1
    $\begingroup$ Be careful: you shouldn't use N as a variable name - it's a built-in. $\endgroup$
    – flinty
    Commented Sep 6, 2020 at 13:53

1 Answer 1


You could use AsymptoticSolve. First, the zeroth order solution:

y0 = y /. First @ Solve[Log[b/y]==(x/y-a)^𝛽/.a->0, y]

Solve::ifun: Inverse functions are being used by Solve, so some solutions may not be found; use Reduce for complete solution information.

(-((x^𝛽 𝛽)/ProductLog[-b^-𝛽 x^𝛽 𝛽]))^(1/𝛽)

Then using AsymptoticSolve:

AsymptoticSolve[Log[b/y] == (x/y-a)^𝛽, {y, y0}, a->0]

{{y -> ConditionalExpression[(-((x^𝛽𝛽)/ProductLog[-((x^𝛽𝛽)/b^𝛽)]))^𝛽^(-1) + ((-Log[b/(-((x^𝛽𝛽)/ProductLog[-((x^𝛽𝛽)/b^𝛽)]))^𝛽^(-1)] + (x/(-((x^𝛽𝛽)/ProductLog[-((x^𝛽𝛽)/b^𝛽)]))^𝛽^(-1))^𝛽)* (-((x^𝛽𝛽)/ProductLog[-((x^𝛽𝛽)/b^𝛽)]))^𝛽^(-1))/ (-1 + 𝛽*(x/(-((x^𝛽𝛽)/ProductLog[-((x^𝛽𝛽)/b^𝛽)]))^𝛽^(-1))^𝛽) - (a𝛽(-1 - Log[b/(-((x^𝛽𝛽)/ProductLog[-((x^𝛽𝛽)/b^𝛽)]))^𝛽^(-1)] + 𝛽Log[b/(-((x^𝛽𝛽)/ProductLog[-((x^𝛽𝛽)/b^𝛽)]))^𝛽^(-1)] + (x/(-((x^𝛽𝛽)/ProductLog[-((x^𝛽𝛽)/b^𝛽)]))^𝛽^(-1))^𝛽) (x/(-((x^𝛽𝛽)/ProductLog[-((x^𝛽𝛽)/b^𝛽)]))^𝛽^(-1))^𝛽* (-((x^𝛽𝛽)/ProductLog[-((x^𝛽𝛽)/b^𝛽)]))^(2/𝛽))/ (x*(-1 + 𝛽*(x/(-((x^𝛽𝛽)/ProductLog[-((x^𝛽𝛽)/b^𝛽)]))^𝛽^(-1))^𝛽)^2), -Log[b/(-((x^𝛽𝛽)/ProductLog[-((x^𝛽𝛽)/b^𝛽)]))^𝛽^(-1)] + (x/(-((x^𝛽𝛽)/ProductLog[-((x^𝛽𝛽)/b^𝛽)]))^𝛽^(-1))^𝛽 == 0]}}

  • $\begingroup$ My MMA does not give the answer for your ''AsymptoticSolve[Log[b/y] == (x/y-a)^𝛽, {y, y0}, a->0]'' Can you give me the version of your MMA? Thanks! $\endgroup$
    – Blueka
    Commented Sep 6, 2020 at 16:18
  • 4
    $\begingroup$ @Blueka You can use Entity["WolframLanguageSymbol", "AsymptoticSolve"]["VersionIntroduced"] to find out when a function enters the language. In this case you would find that AsymptoticSolve was introduced in M12. $\endgroup$
    – Carl Woll
    Commented Sep 6, 2020 at 16:25
  • $\begingroup$ Are there other methods to find the solution? This solution works not very good. $\endgroup$
    – Blueka
    Commented Sep 9, 2020 at 13:29
  • $\begingroup$ @Blueka Could you clarify the "not very good" aspects to the solution? $\endgroup$
    – Carl Woll
    Commented Sep 9, 2020 at 21:28
  • $\begingroup$ The convergence is very slow. For example, when I choose the parameters, I plotted Eq.~1, I can find a solution $y_1\simeq 14.18$, while I use your formula, the numerical solution is $y_2=11.91$. The difference is a bit big for me. Here my $a=0.01$ $\endgroup$
    – Blueka
    Commented Sep 10, 2020 at 7:00

Your Answer

By clicking β€œPost Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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