I have been trying to solve a cubic equation $$y=zy^3 + z$$ in $y$ – that is, my desired result is a function $y(z)$ satisfying the equation. Now, there are three solutions of this equation and the Implicit Function Theorem implies that one of them should be analytic at $z = 0$. I have been trying to find this analytic solution.

The task seems to be pretty simple, however the methods I have used successfully to deal with simpler (e.g., quadratic) equations do not seem to work. First of all, I have tried to use

Solve[y == z*y^3 + z, y]

which returned me three solutions. However, by applying

f[z_] := (* each particular solution might go here *) 
Series[f[z], {z,0,10}]

I obtained series expansions, which seem to indicate that none of these three functions is analytic at $z=0$ – all three expansions were Puiseux expansions, not Taylor expansions. Looks strange.

Now, as a second attempt, I have tried to use Reduce instead of Solve. More specifically,

Reduce[y == z*y^3 + z, y]

As a result, I obtained

(z == 0 && y == 0) || (z != 0 && (y == Root[z - #1 + z #1^3 &, 1] ||
  y == Root[z - #1 + z #1^3 &, 2] || y == Root[z - #1 + z #1^3 &, 3]))

Now, by trying

Series[Root[z - #1 + z #1^3 &, 1], {z,0,10}]

I have found out that this root indeed is an analytic solution (it has a Taylor expansion at $z = 0$).

And now the weirdest thing of all: I have not been satisfied with the "indirect" solution as a root of a cubic equation, so I have tried

Reduce[y == z*y^3 + z, y, Cubics -> True]

And then, suddenly, series expansions of all three solutions again appear to be Puiseux series, not Taylor series.

Can somebody tell me what I am doing wrong (e.g., when using Solve and Reduce, or when trying to obtain series for the solutions)? Or is there some other preferable method of finding analytic solutions? Thank you in advance.


2 Answers 2


It comes with which roots correspond to which branches of a cubic root in the exact expression. For instance, consider the simpler

$$y^3 = z$$

Then my three solutions are $y=\sqrt[3]{z}$, $y=(-1)^{2/3}\sqrt[3]{z}$, and $y=(-1)^{-2/3}\sqrt[3]{z}$. Mathematica defines that $\sqrt[3]{-1} = \frac{1}{2} + \frac{\sqrt{3}}{2}i$. So if I track the first solution, as a curve in 3D of $(\Re(y),\Im(y),z)$ as I vary $z$ in $[-1,1]$, I'll see a strange behavior at 0, where I switch from $y$ being purely real, to $y$ heading off in an imaginary direction. You could argue that the "right" root to be taking would be the $\sqrt[3]{-1} = -1$ branch, and indeed if we switched from the first solution to the second at $z=0$ it will be analytic and all well. Similarly, the second solution at $z>0$ corresponds to the third at $z<0$, and correspondingly for the third and first.

The important element is that, due to the choice of branch, the solutions "switch roles" at a certain point.

In your specific equation, the roots also switch, so what "was" the first solution is now a different one. The precise behavior is a lot more complicated because of a different kind of singular behavior in the equations there leading to a discontinuity (not just nondifferentiability).

Calling Reduce with Cubics just called Solve indirectly. But Root specifies root by an ordering on the actual numerical value, not closed form structure, so it continued to select the same one.

To see what the behavior of the different solutions looks like, you can try running the below:

sols = Solve[y == z*y^3 + z, y];
{s1, s2, s3} = %[[All, 1, 2]];
Plot[{Re[s1], Re[s2], Re[s3]}, {z, -3, 3}, PlotStyle -> {Red, Green, Blue}]
Plot[{Im[s1], Im[s2], Im[s3]}, {z, -3, 3}, PlotStyle -> {Red, Green, Blue}]

See that the red solution on the left changes color to become blue; the blue and green solutions on the left both hit a pole to become green and red, in some order (up to choice of $\sqrt{-1} = \pm i$). The solution you wanted is Red on the left and Blue on the right


The new in M12 function AsymptoticSolve can be used to find the series:

AsymptoticSolve[y == z y^3 + z, {y, 0}, {z, 0, 10}]

{{y -> z + z^4 + 3 z^7 + 12 z^10}}


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.