cubics and quartics




sen1 at math.msu.edu wrote:

> For me, (aside from teaching tools), the main reason to find symbolic 
> solutions
> of algebraic equations would be to be able to compute those solutions
> to arbitrary precision at some point.

This may be more easily done using numerical calculation, converging to 
a solution using something like Newton's method, using ever-higher 
precision. In the case that the symbolic solution turns out to be very 
simple,  (say, 1/2), then the expression is easier :)

>   For instance, to check
> conjectures, other algorithms, etc.  It certainly seems to me
> (although this is not my research area) that there should be
> interesting mathematical problems for which such high precision (or
> symbolic)  solutions of particular high degree algebraic equations 
> could yield
> proofs or counterexamples. 

There's related work done under the heading "experimental mathematics" 
that you might find interesting.  See, for example work by David Bailey 
and Jon Borwein.  ....
http://crd.lbl.gov/~dhbailey/expmath/

It turns out that there are programs that will look at an approximate 
number like
0.471404520791031682933896241403232692856557

and say, oh, do you mean sqrt(2)/3 ?

so sometimes numerical computation can be a route to an exact answer.

>
>
> If I just wanted numerical roots, I'd use matlab, octave,
> scilab,  perhaps implement my own routine, etc. 

These are all limited precision.  See the packages MPFR for stand-alone 
arbitrary precision numerics,  or just use bfloat() in maxima.

>
>
> From your comments, it seems that there is a general feeling in the
> Symbolic Community that there are many better methods for solving the
> "arbitrary precision" problem than using solutions by radicals.
>
> OK, point taken.
>
> Is it your opinion that implementations of elliptic
> functions for this purpose would do better?  Or, is the arbitrary
> precision problem is simply intractable for CAS? 

No, quite the contrary.  The problem for basic arithmetic and some 
elementary functions is not only tractable, but mostly solved,, in the 
sense that people tend to argue about asymptotic speedups rather than is 
it feasible.  For some functions there are still some questions about 
how to do arbitrary precision;  Mathematica claims to have solved this, 
though the claims may not be true.

>
>
> BTW, you mention "commercial macsyma." Is it still available?  If so, 
> is it
> worth buying? 

So far as I know, you can buy a CD from David Schmidt, to run on 
Windows. No support. Last price I saw was $300+ or so. I can't say if it 
is worth buying or not..

>
>
> Here is what led to this whole discussion for me:
>
> There is a bug in the calculation of simple eigenvectors in
> maxima for 3x3 integer matrices (as noted by Klee).
>
> Barton Willis described a workaround for that particular
> problem.  His method probably works for 4x4 matrices as well.
>
> Perhaps one should implement his method in the maxima source code, and
> default to numerical methods in higher dimensional matrices. 


If you start with an integer matrix, you can find real eigenvalues to 
any precision whatsoever by computing the roots (using realroots) of the 
characteristic polynomial. Perhaps complex ones too, by some transformation.
More useful might be refining the floating-point roots by newton's 
method, at least after separating repeated roots.
RJF

>
>
> Again, thanks for your time.
>
> -sen
>
>
> On Wed, 23 Aug 2006, Richard Fateman wrote:
>
>> I think that if you use google to look back at the sci.math.symbolic
>> newsgroup you will find a lot of discussion of quintics and special
>> solutions; some of the discussion was probably ill-mannered and 
>> dismissive.
>> I'll try to summarize the dismissive part :)
>>
>> Basically, finding huge mostly haphazardly structured formulas are of 
>> very
>> limited interested. Maybe as test cases for typesetting programs, or for
>> people who don't believe in Galois theory and think they can solve 
>> higher
>> degree polynomials in radicals if they work hard enough.
>>
>> Writing algorithms for special cases (like certain kinds of quintics) 
>> to be
>> solved by radicals is spending effort on a set of measure zero in the 
>> space
>> of polynomials. There are ways of finding solutions using elliptic
>> functions, anyway  (what, after all, is so special about radicals?
>> Also, working with "rootof(...)" expressions probably gets you much 
>> further
>> in subsequent algorithmic processing since CAS do such a bad job of
>> simplifying the inherently multi-valued radicals anyway. If you 
>> wanted to
>> make a contribution, see how rootof() can be produced by solve and 
>> integrate
>> in other CAS, including commercial Macsyma, and see if that can be 
>> done for
>> Maxima, and perhaps handled better. I suspect that simplification of
>> functions of rootof() could be missing from Maple, Macsyma, 
>> Mathematica, but
>> I haven't checked (e.g. sum of all roots --> simpler).
>>
>> It looks like derive uses sin(asin(...))  instead of nesting radicals,
>> anyway.
>>
>>
>>> -----Original Message-----
>>> From: maxima-bounces at math.utexas.edu
>>> [mailto:maxima-bounces at math.utexas.edu] On Behalf Of sen1 at math.msu.edu
>>> Sent: Wednesday, August 23, 2006 7:51 AM
>>> To: Richard Fateman
>>> Cc: maxima at math.utexas.edu
>>> Subject: Re: [Maxima] cubics and quartics
>>>
>>> Thanks for the comments.
>>>
>>> Many of you may know about these things already, but in case
>>> that isn't so, I thought I'd add to the comments on this list FYI.
>>>
>>> Searching in Google on "solving quintics and galois groups"
>>> produces some interesting links.  It is the subject of fairly
>>> recent research.
>>>
>>> Given a quintic rational polynomial $p(x)$, D.S. Dummit
>>> produced a sextic polynomial $f(x)$ which has a rational root
>>> if and only if $p(x)$ can be solved by radicals.  The
>>> polynomial $f(x)$ is complicated, but not so bad for CAS. For
>>> $x^5 + a*x +b$ it is pretty simple.
>>>
>>> Subsequent work and references can be found in the paper
>>> "Solving Solvable Quintics in Radicals" by Piezas who also
>>> has a type of "cookbook" method for pasting into CAS.
>>>
>>> There are references to Mathematica and sites at wolfram.com,
>>> so these methods may be already implemented in Mathematica. I
>>> don't know.
>>>
>>> In any event, it may be a worthwhile exercise for students of
>>> lisp, CAS, and Algebra to implement these methods in maxima.
>>>
>>> -sen
>>>
>>>
>>>>
>>>>> -----Original Message-----
>>>>> From: maxima-bounces at math.utexas.edu
>>>>> [mailto:maxima-bounces at math.utexas.edu] On Behalf Of
>>>>> sen1 at math.msu.edu
>>>>> Sent: Tuesday, August 22, 2006 6:59 PM
>>>>> To: maxima at math.utexas.edu
>>>>> Subject: cubics and quartics
>>>>>
>>>>> Hello,
>>>>>   I was curious if the Cardan formulas are used in the
>>>>
>>> computation of
>>>
>>>>>   roots of cubic and quartic polynomials.
>>>>
>>>>
>>>> Yes. Look in the source for psolve.lisp, solvecubic and
>>>
>>> solvequartic,
>>>
>>>> called by solve1a in file solve.lisp
>>>>
>>>>>    I could not find them.
>>>>>
>>>>> Implementation of these seems straightforward for an experienced
>>>>> lisp programmer (which I, unfortunately,  am not).
>>>>
>>>>
>>>> The math is tricky, so getting the algorithm right is
>>>
>>> trick. The lisp
>>>
>>>> is easy.
>>>>
>>>>> Are there problems in implementing the Cardan formulas (potential
>>>>> disadvantages, etc)?
>>>>
>>>>
>>>> Yes, you want to try to keep the real roots real without
>>>
>>> any complex
>>>
>>>> numbers if possible. Since all CAS screw up the simplification of
>>>> radicals and nested radicals when they pretend they have a single
>>>> value in all cases, these formulas can be screwed up too.
>>>>
>>>>>
>>>>> In general, one would like to find symbolic solutions of rational
>>>>> polynomials when possible (i.e., computing Galois groups when
>>>>> feasable). Of course, here, I am thinking of solutions by
>>>>
>>> extracting
>>>
>>>>> roots (radicals).
>>>>
>>>>
>>>> There is usually little merit to finding exact expressions
>>>
>>> for roots
>>>
>>>> when those expressions are huge messes. What are you going
>>>
>>> to do with them?
>>>
>>>> Evaluate them numerically? Why not do that in the first
>>>
>>> place?  Paste
>>>
>>>> them on your wall?
>>>>
>>>>>
>>>>> Anyone know if this is done in other computer algebra programs?
>>>>
>>>>
>>>> All of them, probably.
>>>>
>>>>>
>>>>> It would be nice to allow users to choose to implement symbolic or
>>>>> numerical methods for eigenvalues.  Is this possible now, say by
>>>>> setting some variable true or false?
>>>>
>>>>
>>>> Exact eigenvalues tend to be impossible to find except for
>>>
>>> very simple
>>>
>>>> examples. It might even be plausible to have only numeric routines,
>>>> and just point out that the symbolic ones are the roots of the
>>>> characteristic polynomial, a one-line maxima program.  This
>>>> transformation is a bad idea for numerics, however, since it is
>>>> probably harder to find the roots than the eigenvalues.
>>>>
>>>>
>>>>> RJF
>>>>
>>>>
>>>> _______________________________________________
>>>> Maxima mailing list
>>>> Maxima at math.utexas.edu
>>>> http://www.math.utexas.edu/mailman/listinfo/maxima
>>>>
>>>
>>> -- 
>>>
>>> --------------------------------------------------------------
>>> -------------
>>>   | Sheldon E. Newhouse            |    e-mail:
>>> sen1 at math.msu.edu           |
>>>   | Mathematics Department         |
>>>        |
>>>   | Michigan State University      | telephone: 517-355-9684
>>>               |
>>>   | E. Lansing, MI 48824-1027 USA  |       FAX: 517-432-1562
>>>               |
>>>
>>> --------------------------------------------------------------
>>> -------------
>>> _______________________________________________
>>> Maxima mailing list
>>> Maxima at math.utexas.edu
>>> http://www.math.utexas.edu/mailman/listinfo/maxima
>>>
>>
>>
>