# [Maxima] max time limit for solve

Stavros Macrakis macrakis at alum.mit.edu
Wed Jan 27 12:49:28 CST 2010

```This equation is cubic in y, so there is a straightforward (but messy)
solution using the cubic formula.  On my machine (2Ghz Pentium), calculating
the result takes about 8 seconds.

However, ***formatting*** the result for printing takes a rather long time.
This can be made somewhat shorter by using display2d:false, but you get an
enormous (and presumably useless) expression.

However, it turns out that this expression factors moderately nicely:

sol : x + 1/(3*x^3*(y+x)^3)+x^(1+a)/(1+a) = %c;
roots: solve(sol,y)\$
display2d:false\$
scanmap(factor,roots);

<results are messy, but only a few dozen lines total>

As for "it knows that the implicit form is somehow more appropriate to
return", my guess is that it simply is not using the cubic or quartic
formulas in certain cases.  I wonder if it does use the cubic formula if the
result happens to be short...?

-s

On Wed, Jan 27, 2010 at 1:21 PM, nijso beishuizen <nijso at hotmail.com> wrote:

>  Hi,
>
> The equation I try to solve is the final step in the solution of a
> nonlinear ode. The solution in the paper
> (of Cheb-Terrab and Kolokolnikov, it's on ArXiv) is given in implicit form
> as:
>
> sol : x + 1/(3*x^3*(y+x)^3)+x^(1+a)/(1+a) = %c;
>
> In the algorithm I manage to get the left hand side of sol [well, actually
> I get factor(ratsimp(sol))]. I do not know beforehand that the solution
> should remain in implicit form, although you can rewrite the solution as
> y(x)=(..) . I then do
>
> solve(sol,y);
>
> After a couple of minutes it starts returning an answer and it takes 10
> minutes to output the answer.
> Yesterday I tried it with emacs+maxima and I never got any answer returned,
> this is with xmaxima.
>
> Actually, maple finds the 3 compact explicit solutions of the above
> equation, and when you solve the original ode, it knows that the implicit
> form is somehow more appropriate to return (it returns sol instead of the
> result of solve(sol,y)).
> Instead of killing solve after x minutes, is there a way to improve the
> result of solve, or a way of determining beforehand that going for an
> explicit solution of sol might be a bad idea?
>
> Regards,
> Nijso
>
>
>
>
>
> ------------------------------
> Express yourself instantly with MSN Messenger! MSN Messenger<http://clk.atdmt.com/AVE/go/onm00200471ave/direct/01/>
>
> _______________________________________________
> Maxima mailing list
> Maxima at math.utexas.edu
> http://www.math.utexas.edu/mailman/listinfo/maxima
>
>
-------------- next part --------------
An HTML attachment was scrubbed...