# How to solve a non-linear equation

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.

Thanks!

======================================================

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.

• The introduction about $W$ function. en.wikipedia.org/wiki/Lambert_W_function Sep 6 '20 at 12:50
• Do you have a good reason to suspect that a closed form solution even exists? Sep 6 '20 at 13:12
• 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. Sep 6 '20 at 13:16
• @SjoerdSmit At least, the numerical solution exists. Sep 6 '20 at 13:31
• Be careful: you shouldn't use N as a variable name - it's a built-in. Sep 6 '20 at 13:53

## 1 Answer

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]}}

• 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! Sep 6 '20 at 16:18
• @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. Sep 6 '20 at 16:25
• Are there other methods to find the solution? This solution works not very good. Sep 9 '20 at 13:29
• @Blueka Could you clarify the "not very good" aspects to the solution? Sep 9 '20 at 21:28
• 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$ Sep 10 '20 at 7:00