difficulty with solve



In apology to David Chappaz,
   I didn't realize what you were trying to tell me when you replied 
with the advice to try
      solve(a*y3 + b*y2 + c*y + d, y);

In thanks to Raymond Toy and Richard Fateman,
  I, in fact, tried

   a : coeff(expand(det1),y,3);
   b : coeff(expand(det1),y,2);
   c : coeff(expand(det1),y,1);
   d : coeff(expand(det1),y,0);

and discovered there were solutions to my expressions, but as Mr. 
Fateman observed, they were several pages long. Even the expression that 
was returning the error message solved this way.

I'm still learning how to work with Maxima and I'm not yet familiar with 
all of the ways I might take advantage of the various functions that are 
listed in the documentation.

In answer to Mr. Fateman's question about what I might be doing with the 
results, I've been playing around with finding implicit equations for 
parametric curves. I see I have a lot more to learn before I find 
something usable. I'll keep plugging away at it and maybe I'll turn up 
something I can put into code. It's more interesting to try working 
these kinds of problems out for myself than to just try finding 
something someone else has put into code.

Thank you all for taking the time to explore my dilemma,

Paul Bowyer

Raymond Toy wrote:
>>>>>> "Paul" == Paul Bowyer <pbowyer at olynet.com> writes:
>>>>>>             
>
>     Paul> Hi David:
>     Paul> I understand the complexity, but I do actually need the symbolic 
>     Paul> solutions, if there are any. So, I'm looking for a response from someone 
>     Paul> who is a Maxima expert that can tell me if there is a problem in solve, 
>     Paul> especially when it just goes off and never returns, or returns with an 
>     Paul> error message. For other expressions I've tried solve returns an empty 
>     Paul> solution rather than an error message and does not seem to compute forever.
>
> It's unfortunate that solve is so slow in this case.  But David
> Chappaz has given the necessary hints, I think, to get what you want.
>
> roots:solve(a*y^3+b*y^2+c*y+d,y);
>
> will give you the 3 roots you want in terms of a, b, c, and d.
>
> All you need to do is get a, b, c, and d from your original problem.
> You can do
>
> a : coeff(expand(det1),y,3);
> b : coeff(expand(det1),y,2);
> c : coeff(expand(det1),y,1);
> d : coeff(expand(det1),y,0);
>
> And then substitute these values into the messy result obtained from
> solve.
>
> But maybe just leaving the roots in terms of a, b, c, d is best.  You
> can easily substitute the desired coefficients in later.
>
> Ray
>
>