Sat May 30 16:24:10 PDT 1992
REDUCE 3.4.1, 15-Jul-92 ...

1: 1: 
2: 2: 
(ARNUM)

3: 3: 
Time: 68 ms

4: 4: % Test of algebraic number package.

defpoly sqrt2**2-2;



1/(sqrt2+1);


SQRT2 - 1


(x**2+2*sqrt2*x+2)/(x+sqrt2);


X + SQRT2


on gcd;



(x**3+(sqrt2-2)*x**2-(2*sqrt2+3)*x-3*sqrt2)/(x**2-2);


  2
 X  - 2*X - 3
--------------
  X - SQRT2


off gcd;



sqrt(x**2-2*sqrt2*x*y+2*y**2);


X - SQRT2*Y


off arnum;

  %to start a new algebraic extension.


defpoly cbrt5**3-5;



on rationalize;



1/(x-cbrt5);


  2                  2
 X  + CBRT5*X + CBRT5
-----------------------
         3
        X  - 5


off rationalize;



off arnum;

  %to start a new algebraic extension.


%The following examples are taken from P.S. Wang Math. Comp. 30,
%    134,(1976),p.324.

on factor;



defpoly i**2+1=0;



w0 := x**2+1;


W0 := (X + I)*(X - I)


w1 := x**4-1;


W1 := (X + I)*(X - I)*(X + 1)*(X - 1)


w2 := x**4+(i+2)*x**3+(2*i+5)*x**2+(2*i+6)*x+6;


        2
W2 := (X  + I*X + 3)*(X + (I + 1))*(X - (I - 1))


w3 := (2*i+3)*x**4+(3*i-2)*x**3-2*(i+1)*x**2+i*x-1;


                  2              2     2        3
W3 := (2*I + 3)*(X  + I*X - 1)*(X  - (----*I - ----))
                                       13       13


off arnum;




defpoly a**2-5;



w4 := x**2+x-1;


             1       1           1       1
W4 := (X + (---*A + ---))*(X - (---*A - ---))
             2       2           2       2


off arnum;




defpoly a**2+a+2;



w5 := x**4+3*x**2+4;


W5 := (X + (A + 1))*(X + A)*(X - (A + 1))*(X - A)


off arnum;




defpoly a**3+2=0;



w6:=64*x**6-4;


           2    1         1   2    2    1         1   2        1
W6 := 64*(X  + ---*A*X + ---*A )*(X  - ---*A*X + ---*A )*(X + ---*A)
                2         4             2         4            2

             1
      *(X - ---*A)
             2


off arnum;




defpoly a**4+a**3+a**2+a+1=0;



w7:=16*x**4+8*x**3+4*x**2+2*x+1;


                1   3    1   2    1       1          1   3
W7 := 16*(X + (---*A  + ---*A  + ---*A + ---))*(X - ---*A )
                2        2        2       2          2

             1   2        1
      *(X - ---*A )*(X - ---*A)
             2            2


off arnum, factor;




defpoly sqrt5**2-5,cbrt3**3-3;


*** Defining polynomial for primitive element:

  6        4       3        2
A1  - 15*A1  - 6*A1  + 75*A1  - 90*A1 - 116



cbrt3**3;


3


sqrt5**2;


5


cbrt3;


     120     5     27     4    2000    3    1170    2    6676
 - (------*A1  + ------*A1  - ------*A1  - ------*A1  + ------*A1
     8243         8243         8243         8243         8243

        6825
     - ------)
        8243


sqrt5;


 120     5     27     4    2000    3    1170    2    14919
------*A1  + ------*A1  - ------*A1  - ------*A1  + -------*A1
 8243         8243         8243         8243         8243

    6825
 - ------
    8243


sqrt(x**2+2*(sqrt5-cbrt3)*x+5-2*sqrt5*cbrt3+cbrt3**2);


      240     5     54     4    4000    3    2340    2    21595
X + (------*A1  + ------*A1  - ------*A1  - ------*A1  + -------*A1
      8243         8243         8243         8243         8243

         13650
      - -------)
         8243


on rationalize;



1/(x+sqrt5-cbrt3);


  5     240     5     54     4    4000    3    2340    2    21595
(X  - (------*A1  + ------*A1  - ------*A1  - ------*A1  + -------*A1
        8243         8243         8243         8243         8243

           13650    4     108     5    800     4    1800    3
        - -------)*X  - (------*A1  - ------*A1  - ------*A1
           8243           8243         8243         8243

        15433    2    15900        14465    3      3           2
     + -------*A1  + -------*A1 + -------)*X  - (A1  - 15*A1)*X  - (
        8243          8243         8243

     900     5    3919    4    15000    3    8775    2    148986
    ------*A1  - ------*A1  - -------*A1  - ------*A1  + --------*A1
     8243         8243         8243          8243          8243

        154225         1919    5    1050    4    18245    3
     - --------)*X - (------*A1  + ------*A1  - -------*A1
         8243          8243         8243         8243

        12528    2    236725        73080      6       4      3
     - -------*A1  + --------*A1 - -------))/(X  - 15*X  - 6*X
        8243           8243         8243

          2
    + 75*X  - 90*X - 116)


off arnum, rationalize;




split!_field(x**3+2);


*** Splitting field is generated by:

  6
A3  + 108


  1     4    1
{----*A3  + ---*A3,
  36         2

     1     4
  - ----*A3 ,
     18

  1     4    1
 ----*A3  - ---*A3}
  36         2


for each j in ws product (x-j);


 3
X  + 2


split!_field(x**3+4*x**2+x-1);


*** Splitting field is generated by:

  3       2
A4  + 4*A4  + A4 - 1


      2                  2
{A4,A4  + 3*A4 - 2, - (A4  + 4*A4 + 2)}


for each j in ws product (x-j);


 3      2
X  + 4*X  + X - 1


split!_field(x**3-3*x+7);


*** Splitting field is generated by:

  6        4        2
A6  - 18*A6  + 81*A6  + 1215


   1     4    5     2    1        2
{-----*A6  - ----*A6  + ---*A6 + ---,
  126         42         2        7

      1     4    5     2    4
  - (----*A6  - ----*A6  + ---),
      63         21         7

   1     4    5     2    1        2
 -----*A6  - ----*A6  - ---*A6 + ---}
  126         42         2        7


for each j in ws product (x-j);


 3
X  - 3*X + 7


split!_field(x**3+4*x**2+x-1);


*** Splitting field is generated by:

  3       2
A7  + 4*A7  + A7 - 1


      2                  2
{A7,A7  + 3*A7 - 2, - (A7  + 4*A7 + 2)}


for each j in ws product (x-j);


 3      2
X  + 4*X  + X - 1


split!_field(x**3-x**2-x-1);


*** Splitting field is generated by:

  6       5       4        3        2
A9  - 6*A9  + 7*A9  + 12*A9  - 17*A9  - 6*A9 + 53


      3     4    3     3    1     2    5         17
{ - (----*A9  - ----*A9  - ----*A9  - ----*A9 + ----),
      76         19         38         38        76

  3     4    6     3    1     2    14        17
 ----*A9  - ----*A9  - ----*A9  + ----*A9 + ----,
  38         19         19         19        38

      3     4    3     3    1     2    33        59
  - (----*A9  - ----*A9  - ----*A9  + ----*A9 - ----)}
      76         19         38         38        76


for each j in ws product (x-j);


 3    2
X  - X  - X - 1


% A longer example.

off arnum;



defpoly a**6+3*a**5+6*a**4+a**3-3*a**2+12*a+16;



factorize(x**3-3);


       1    5    1    4    1   3    7    2    11       4
{X - (----*A  + ----*A  + ---*A  - ----*A  + ----*A + ---),
       12        12        6        12        12       3

       1   5    1   4    2   3    1   2    2       7
 X + (---*A  + ---*A  + ---*A  - ---*A  + ---*A + ---),
       6        3        3        6        3       3

       1    5    1   4    1   3    5    2    1
 X - (----*A  + ---*A  + ---*A  + ----*A  - ---*A + 1)}
       12        4        2        12        4


end;

5: 5: 
Time: 17170 ms  plus GC time: 595 ms
6: 6: 
Quitting
Sat May 30 16:24:29 PDT 1992
