On Tue, Nov 21, 2023 at 08:33:50AM +0800, Qian Yun wrote:
> 
> 
> On 11/20/23 10:08, Waldek Hebisch wrote:
> > 
> > There is question in which cases your apprach works.  Examples
> > in mapleok.input which work have minimal polynomial for residues
> > which is variation of x^4 + a^4 where a is a rational constant
> > or x^4 + 2*x^2 + 2 or x^4 + x^2/64 + 1/8192.  x^4 + a^4 factors
> > in extention by square root of 2:
> 
> In theory this approach should work with higher degree of polynomial.
> After all as you said, it is about finding a algebraic extension to
> factor the polynomial into simpler ones.

Yes.  However, explict formulas for root are possible only in
special cases.  And even when possible are likely to use
complex expressions for real roots.  AFAICS biquadratic case,
that is degree 4 polynomial containing only even powers
should work.  I am not sure if out solver is smart enough,
but symmetric degree 4 polynomial should work.  Basically
polynomials which one can solve repeatedly solving quadratic
equations.  Once solution involves general formula for degree 3
or degree 4 polynomial we will get complex expressions.

> Let's see if I can find out such an example.
> 
> > 
> > Groebner produces sensible thing:
> > 
> > (50) -> groebner([PP::POLY(INT), QQ::POLY(INT), 8*u^3 - 6*u + 1])
> > 
> >             2    2         3
> >     (50)  [v  + u  - 1, 8 u  - 6 u + 1]
> > 
> > and solution of this could be passed to Rioboo.  But TransSolvePackage
> > can not usefully handle it.
> > 
> 
> How can this go further?  Return rootSum in Rioboo?

Possibly.  Or do what we do now, that is use symbolic roots.
For degree 3 after you add symbolic root polynomial splits
into linear term and quadratic (or into linear terms).

rootSum is the future, but as long as limit can not handle
rootSum we have to use symbolic roots.

AFAICS we should first set up equations, then use Groebner,
then factor resulting univariate polynomial.  Unfortunately,
beside needed roots this polynomial contains extra roots
and IMO main issue is to get rid of extra roots.  In case above
this was moderately easy: only one factor had real roots.
As long as polynomial has constant coefficients and we are
able to resolve branch problems for coefficient you can
use semi-numeric methods to check which factors have real
roots.

There are theoretical questions, in examples I looked at
there was always a single factor giving good real roots.
Situation would be much worse if some factor gave say one
good root and a bunch of bad (complex) roots.

For "generic" degree 4 polynomial, that is

p := x^4 + a*x^3 + b*x^2 + c*x + d

I got the following univarite equation for real parts of
roots:

                            2               3                     2      2
      6   3 a  5   2 b + 3 a   4   4 a b + a   3   - 4 d + a c + b  + 2 a b  2
     u  + --- u  + ---------- u  + ---------- u  + ------------------------ u
           2            4               8                     16
   + 
                2       2        2     2
     - 4 a d + a c + a b      - a d - c  + a b c
     -------------------- u + ------------------
              32                      64

This polynomial is irreducible.   Writing p in factored form:

p := (x - a)*(x - b)*(x - c)*(x - d)

We get

          - d - c      - d - b      - d - a      - c - b      - c - a
     (u + -------)(u + -------)(u + -------)(u + -------)(u + -------)
             2            2            2            2            2
  *
          - b - a
     (u + -------)
             2

Generic polynomial of degree 4 has Galois group S(4).  So at purely
algebraic level it is impossible to say which roots are paired.
In nice case the above will have factor of degree 2 with
real roots.

-- 
                              Waldek Hebisch

-- 
You received this message because you are subscribed to the Google Groups 
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/fricas-devel/ZVwNbCwpMVpTPRw1%40fricas.org.

Reply via email to