next up previous
Next: Guidelines Up: Algorithms and Software for Symbolic Previous: Introduction

Experimenting with AXIOM

We first show how to solve a system of equations with the AXIOM implementation of TRIADE.

(1) -> V := OVAR [x,y,z]

   (1)  OrderedVariableList [x,y,z]
                                                                 Type: Domain
(2) -> P := NSMP(Integer, V)

   (2)  NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z])
                                                                 Type: Domain

(3) -> T := RegularChain(Integer, [x,y,z])

   (3)  RegularChain(Integer,[x,y,z])
                                                                 Type: Domain

(4) -> lp: List P := [x^2 + y + z -1, x + y^2 +z -1, x + y +z^2 -1]

          2                  2                  2
   (4)  [x  + y + z - 1,x + y  + z - 1,x + y + z  - 1]
Type: List NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z])

(5) -> zeroSetSplit(lp)$T

           2
   (5)  [{z  + 2z - 1,y - z,x - z},{z,y - 1,x},{z,y,x - 1},{z - 1,y,x}]
                                     Type: List RegularChain(Integer,[x,y,z])
(6) -> )set message time on
(7) -> lp: List P := [x^3 + y + z -1, x + y^3 +z -1, x + y +z^3 -1]

          3                  3                  3
   (7)  [x  + y + z - 1,x + y  + z - 1,x + y + z  - 1]
Type: List NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z])
                                                   Time: 0.01 (IN) = 0.01 sec
(8) -> zeroSetSplit(lp,true,true)$T                                
[1 <3,0> -> |3|; {0}]W[2 <4,0>,<2,1> -> |6|; {0}][2 <3,1>,<2,1> -> |5|; {0}]
G[2 <2,1>,<2,1> -> |4|; {0}]WW[3 <2,1>,<2,1>,<1,2> -> |5|; {0}]
Gwwww[5 <3,1>,<3,1>,<3,1>,<2,1>,<1,2> -> |12|; {0}]
GI[5 <2,2>,<3,1>,<3,1>,<2,1>,<1,2> -> |11|; {0}]
GG[5 <1,2>,<3,1>,<3,1>,<2,1>,<1,2> -> |10|; {0}]
[5 <0,3>,<3,1>,<3,1>,<2,1>,<1,2> -> |9|; {0}]
[4 <3,1>,<3,1>,<2,1>,<1,2> -> |9|; {1}]
WW[5 <2,2>,<2,2>,<3,1>,<2,1>,<1,2> -> |10|; {1}]
[5 <1,2>,<2,2>,<3,1>,<2,1>,<1,2> -> |9|; {1}]
W[5 <0,3>,<2,2>,<3,1>,<2,1>,<1,2> -> |8|; {1}]
[4 <2,2>,<3,1>,<2,1>,<1,2> -> |8|; {2}]
[4 <1,2>,<3,1>,<2,1>,<1,2> -> |7|; {2}]
WW[4 <0,3>,<3,1>,<2,1>,<1,2> -> |6|; {2}]
[3 <3,1>,<2,1>,<1,2> -> |6|; {3}]
GIWWW[3 <2,2>,<2,1>,<1,2> -> |5|; {3}]
[3 <1,2>,<2,1>,<1,2> -> |4|; {3}]
WWW[3 <0,3>,<2,1>,<1,2> -> |3|; {3}]
[2 <2,1>,<1,2> -> |3|; {4}]
WWWW[2 <1,2>,<1,2> -> |2|; {4}]
WWWW[2 <0,3>,<1,2> -> |1|; {4}][1 <1,2> -> |1|; {5}]
WWWWW[1 <0,3> -> |0|; {5}]
WwwWwWwWWwwWwWwWwWwWwWwWwwwWwWwwwwWwwwwwwwwww
   *** QCMPACK Statistics ***
      Table     size:  42
      Entries reused:  34
   *** REGSETGCD: Gcd Statistics ***
      Table     size:  6
      Entries reused:  0

   *** REGSETGCD: Inv Set Statistics ***
      Table     size:  2
      Entries reused:  0

   (8)
   [
       7    6    5     4     3     2
     {z  + z  + z  - 2z  - 2z  - 2z  - z - 1,
        2          2     5    4    3    2              2               3
      (z  + z + 1)y  + (z  + z  + z  - z  - z - 1)y + z  + z, x + y + z  - 1}
     ,
      8    7    6     5     4     3     2                3           3
    {z  + z  + z  - 2z  - 2z  - 2z  + 5z  + 5z - 3,2y + z  - 1,2x + z  - 1},
            2
    {z - 1,y  - 1,x + y}, {z,y - 1,x}, {z - 1,y,x}, {z,y,x - 1}]
                                     Type: List RegularChain(Integer,[x,y,z])
                                       Time: 0.09 (EV) + 0.01 (OT) = 0.10 sec

Now we show how to call the AXIOM implementation of lextriangular

V := OVAR [x,y,z]
 

   (1)  OrderedVariableList [x,y,z]
                                                                 Type: Domain
                                                   Time: 0.02 (OT) = 0.02 sec

P := NSMP(Integer, V)
 

   (2)  NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z])
                                                                 Type: Domain
                                                   Time: 0.01 (IN) = 0.01 sec

pack := LexTriangularPackage(Integer,[x,y,z])
 

   (3)  LexTriangularPackage(Integer,[x,y,z])
                                                                 Type: Domain
                                                                  Time: 0 sec

lp: List P := [x^2 + y + z -1, x + y^2 +z -1, x + y +z^2 -1]

          2                  2                  2
   (4)  [x  + y + z - 1,x + y  + z - 1,x + y + z  - 1]
Type: List NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z])
                           Time: 0.07 (IN) + 0.05 (OT) + 0.03 (GC) = 0.15 sec

lg :=  groebner(lp)$pack
 

                  2      2        2       2     4    2  6     4     3    2
   (5)  [x + y + z  - 1,y  - y - z  + z,2z y + z  - z ,z  - 4z  + 4z  - z ]
Type: List NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z])
                           Time: 0.08 (EV) + 0.01 (OT) + 0.01 (GC) = 0.10 sec

lexTriangular(lg,false)$pack
 

   (6)
      2
   [{z  + 2z - 1,(2z - 1)y + 5z - 2,x + y - 2z}, {z,y,x - 1}, {z - 1,y,x},
    {z,y - 1,x}]
                                     Type: List RegularChain(Integer,[x,y,z])
                           Time: 0.08 (EV) + 0.01 (OT) + 0.01 (GC) = 0.10 sec

lexTriangular(lg,true)$pack
 

   (7)
      4     2                2           2        2  2
   [{z  - 4z  + 4z - 1,2y + z  - 1,2x + z  - 1},{z ,y  - y + z,x + y - 1}]
                                     Type: List RegularChain(Integer,[x,y,z])
                                                   Time: 0.02 (EV) = 0.02 sec


next up previous
Next: Guidelines Up: Algorithms and Software for Symbolic Previous: Introduction
Marc Moreno Maza
2005-02-04