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