結果の検証

今回の QE ツールにおける入出力(に対応した論理式)の等価性の検証は,いつもお世話になっている qepmax(https://github.com/YasuakiHonda/qepmax)を介して QEPCAD B で行なっています.具体的には,次のように出力のリストを論理結合に変換する関数 F2G(内部で QEPCAD B を繰り返し呼んでいます)で処理したのち,QEPCAD B の出力と等価であるかをチェックしています.

(%i1) (qvpeds ([all],[c,b,a,x],0,h1,r11,0 ),G1:qe( bfpcad(ext( '(  x^4+a*x^2+b*x+c>=0  ) )))  )$
Evaluation took 6.6300 seconds (6.7100 elapsed) using 828.758 MB.

(%i2) G1:F2G(G1);
Evaluation took 17.2500 seconds (20.6700 elapsed) using 2096.781 MB.
(%o2) (((a >= 0) %and (c > 0)) %or ((a >= 0) %and (4096*c^3+27*b^4 = 0))
                               %or ((c > 0)
                                %and ((-64*a*c^2)+36*b^2*c+16*a^3*c-3*a^2*b^2
                                 >= 0)))
  %and (c >= 0)
  %and (256*c^3-128*a^2*c^2+144*a*b^2*c+16*a^4*c-27*b^4-4*a^3*b^2 >= 0)

(%i3) qex([],G1 %eq qex([[A,x]],x^4+a*x^2+b*x+c>=0));
Evaluation took 3.2500 seconds (3.6800 elapsed) using 438.299 MB.
(%o3) true

ただし,well-oriented という条件を満たさない入力の場合,QEPCAD B のデフォルトの projection では正当性が保証されないので,Hong's projection operator を併用するコマンドを挟むよう qepmax の qe コマンドの定義(https://github.com/YasuakiHonda/qepmax/blob/master/qepmax.mac)の 214 行目を

    if length(varlist)>1 then
     ( printf(ost, "[ ~a ].~%proj-operator (m", writeLogicalExp(formula,varlist)),
       if length(varlist)>2 then printf(ost, ",m"),
       for i:1 thru length(varlist)-3 do printf(ost, ",h"),
       printf(ost, ")~%finish~%")
     )
    else printf(ost, "[ ~a ].~%finish~%", writeLogicalExp(formula,varlist)),

のように改変し qex(以前公開した同名の関数とは別物)として使わせて頂いています.

実行例(4)

(%i1) (qvpeds ([],[a,b,c,d],0,h1,r11,0 ),
       qe( bfpcad(ext( '(  a^3+b^2-1=0 and b^3+c^2-1=0 and c^3+d^2-1=0 and d^3+a^2-1=0  ) )))  );
Evaluation took 14.3200 seconds (16.7700 elapsed) using 2101.559 MB.
(%o1) [[a = root(a,1),b = root(b^2+a^3-1,2),
        c = root(c^9-3*c^6+3*c^3+a^4-2*a^2,1),d = root(d^3+a^2-1,1)],
       [a = root(a^3+a^2-1,1),
        b = root(b^27-9*b^24+36*b^21-81*b^18+108*b^15-81*b^12
                     +a^4*(6*b^9-18*b^6+18*b^3-2)+33*b^9
                     +a^2*((-12*b^9)+36*b^6-36*b^3+12)-18*b^6+18*b^3+a^8-4*a^6
                     -7,1),c = root(c^9-3*c^6+3*c^3+a^4-2*a^2,1),
        d = root(d^2+c^3-1,2)],
       [a = root(a-1,1),b = root(b^2+a^3-1,1),c = root(c^2+b^3-1,2),
        d = root(d^3+a^2-1,1)]]

(%i2) (qvpeds ([],[a,b,c,d],1,h1,r11,0 ),
       qe( bfpcad(ext( '(  a^3+b^2-1=0 and b^3+c^2-1=0 and c^3+d^2-1=0 and d^3+a^2-1=0  ) )))  );

[fpprec,fpprintprec,%ez,ratepsilon]: [16,30,1.0b-3,1.0b-16] 
equal(b^2+a^3-1,0) and equal(c^2+b^3-1,0) and equal(d^2+c^3-1,0)
                   and equal(d^3+a^2-1,0)
  
["and",equal(d^3+a^2-1,0),equal(d^2+c^3-1,0),equal(c^2+b^3-1,0),
 equal(b^2+a^3-1,0)]
  
[[a-1,a,a+1,a^2-2,a^3+a^2-1,a^4-2*a^2-7,a^9-3*a^6+3*a^3-4,
  a^25+2*a^24+3*a^23-5*a^22-13*a^21-21*a^20+7*a^19+35*a^18+63*a^17-26*a^16
      -115*a^15-204*a^14+31*a^13+266*a^12+501*a^11+115*a^10-271*a^9-657*a^8
      -290*a^7+77*a^6+444*a^5+253*a^4+62*a^3-135*a^2-98*a-49,
  a^27-9*a^24+36*a^21-81*a^18+108*a^15-81*a^12+9*a^9+54*a^6-54*a^3+33],
 [b-1,b,a^3+b^2-1,b^2+b+1,b^6-3*b^3+3,b^9-3*b^6+3*b^3-4,
  a^8-4*a^6+(6*b^9-18*b^6+18*b^3-2)*a^4+((-12*b^9)+36*b^6-36*b^3+12)*a^2+b^27
     -9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7],
 [c-1,c^2+b^3-1,c^2+c+1,c^9-3*c^6+3*c^3+a^4-2*a^2],[d^2+c^3-1,d^3+a^2-1]]
  
1 multi-roots: 0.0b0 0.0b0 
 [a^8-4*a^6+(6*b^9-18*b^6+18*b^3-2)*a^4+((-12*b^9)+36*b^6-36*b^3+12)*a^2+b^27
     -9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7,
  b^27-9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+75*b^9-144*b^6+144*b^3] 
dist: 0.0b0 
2 multi-roots: 0.0b0 0.0b0 
 [a^8-4*a^6+(6*b^9-18*b^6+18*b^3-2)*a^4+((-12*b^9)+36*b^6-36*b^3+12)*a^2+b^27
     -9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7,
  b^27-9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+75*b^9-144*b^6+144*b^3] 
dist: 0.0b0 
common-roots: 0.0b0 0.0b0 
dist: 0.0b0 
1 multi-roots: (-8.660804423214204b-1*%i)-5.000441678406675b-1 
 (-8.659596311546991b-1*%i)-5.000255856711448b-1 
 [a^8-4*a^6+(6*b^9-18*b^6+18*b^3-2)*a^4+((-12*b^9)+36*b^6-36*b^3+12)*a^2+b^27
     -9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7,
  b^27-9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7] 
dist: 1.222318903917476b-4 
2 multi-roots: (-8.659596311546991b-1*%i)-5.000255856711448b-1 
 (-8.660361378779625b-1*%i)-4.999302464884673b-1 
 [a^8-4*a^6+(6*b^9-18*b^6+18*b^3-2)*a^4+((-12*b^9)+36*b^6-36*b^3+12)*a^2+b^27
     -9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7,
  b^27-9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7] 
dist: 1.222409033757573b-4 
3 multi-roots: 8.660599669975173b-1*%i-5.000356595414205b-1 
 8.659772383882947b-1*%i-5.000121050417724b-1 
 [a^8-4*a^6+(6*b^9-18*b^6+18*b^3-2)*a^4+((-12*b^9)+36*b^6-36*b^3+12)*a^2+b^27
     -9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7,
  b^27-9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7] 
dist: 8.601649398563011b-5 
4 multi-roots: 8.659772383882947b-1*%i-5.000121050417724b-1 
 8.660390059677586b-1*%i-4.999522354169911b-1 
 [a^8-4*a^6+(6*b^9-18*b^6+18*b^3-2)*a^4+((-12*b^9)+36*b^6-36*b^3+12)*a^2+b^27
     -9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7,
  b^27-9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7] 
dist: 8.602096165627294b-5 
5 multi-roots: 2.231315975623363b-5*%i+9.999456693238325b-1 
 1.000007845795338b0-5.8207805235442b-5*%i 
 [a^8-4*a^6+(6*b^9-18*b^6+18*b^3-2)*a^4+((-12*b^9)+36*b^6-36*b^3+12)*a^2+b^27
     -9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7,
  b^27-9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7] 
dist: 1.017326860553025b-4 
6 multi-roots: 1.000007845795338b0-5.8207805235442b-5*%i 
 3.589464596707269b-5*%i+1.000046484881349b0 
 [a^8-4*a^6+(6*b^9-18*b^6+18*b^3-2)*a^4+((-12*b^9)+36*b^6-36*b^3+12)*a^2+b^27
     -9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7,
  b^27-9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7] 
dist: 1.017263500284118b-4 
1 multi-roots: (-9.199710801626131b-1*%i)-7.71947399037216b-1 
 (-9.199710804360586b-1*%i)-7.719473929391142b-1 
 [a^8-4*a^6+(6*b^9-18*b^6+18*b^3-2)*a^4+((-12*b^9)+36*b^6-36*b^3+12)*a^2+b^27
     -9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7,
  b^27-9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+27*b^9] 
dist: 6.104229478123359b-9 
2 multi-roots: (-9.199710804360586b-1*%i)-7.719473929391142b-1 
 (-9.199710825477433b-1*%i)-7.719473924291037b-1 
 [a^8-4*a^6+(6*b^9-18*b^6+18*b^3-2)*a^4+((-12*b^9)+36*b^6-36*b^3+12)*a^2+b^27
     -9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7,
  b^27-9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+27*b^9] 
dist: 2.172400328519447b-9 
3 multi-roots: 9.199708723835111b-1*%i-7.719494718698244b-1 
 9.19972984231248b-1*%i-7.71946537008062b-1 
 [a^8-4*a^6+(6*b^9-18*b^6+18*b^3-2)*a^4+((-12*b^9)+36*b^6-36*b^3+12)*a^2+b^27
     -9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7,
  b^27-9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+27*b^9] 
dist: 3.615703863455374b-6 
4 multi-roots: 9.19972984231248b-1*%i-7.71946537008062b-1 
 9.199693865316476b-1*%i-7.719461755275532b-1 
 [a^8-4*a^6+(6*b^9-18*b^6+18*b^3-2)*a^4+((-12*b^9)+36*b^6-36*b^3+12)*a^2+b^27
     -9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7,
  b^27-9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+27*b^9] 
dist: 3.61581395716781b-6 
5 multi-roots: (-1.128504487190754b0*%i)-4.107493297893198b-1 
 (-1.128519218977068b0*%i)-4.107484344965202b-1 
 [a^8-4*a^6+(6*b^9-18*b^6+18*b^3-2)*a^4+((-12*b^9)+36*b^6-36*b^3+12)*a^2+b^27
     -9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7,
  b^27-9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+27*b^9] 
dist: 1.475896599372942b-5 
6 multi-roots: (-1.128519218977068b0*%i)-4.107484344965202b-1 
 (-1.128511078256128b0*%i)-4.107361243173334b-1 
 [a^8-4*a^6+(6*b^9-18*b^6+18*b^3-2)*a^4+((-12*b^9)+36*b^6-36*b^3+12)*a^2+b^27
     -9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7,
  b^27-9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+27*b^9] 
dist: 1.475845008925132b-5 
7 multi-roots: 1.128511588695093b0*%i-4.107446393024692b-1 
 1.128511596096971b0*%i-4.107446267335344b-1 
 [a^8-4*a^6+(6*b^9-18*b^6+18*b^3-2)*a^4+((-12*b^9)+36*b^6-36*b^3+12)*a^2+b^27
     -9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7,
  b^27-9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+27*b^9] 
dist: 1.458649779375334b-8 
8 multi-roots: 1.128511596096971b0*%i-4.107446267335344b-1 
 1.128511599631896b0*%i-4.107446225671621b-1 
 [a^8-4*a^6+(6*b^9-18*b^6+18*b^3-2)*a^4+((-12*b^9)+36*b^6-36*b^3+12)*a^2+b^27
     -9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7,
  b^27-9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+27*b^9] 
dist: 5.463913988241733b-9 
9 multi-roots: 0.0b0 0.0b0 
 [a^8-4*a^6+(6*b^9-18*b^6+18*b^3-2)*a^4+((-12*b^9)+36*b^6-36*b^3+12)*a^2+b^27
     -9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7,
  b^27-9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+27*b^9] 
dist: 0.0b0 
10 multi-roots: 0.0b0 0.0b0 
  [a^8-4*a^6+(6*b^9-18*b^6+18*b^3-2)*a^4+((-12*b^9)+36*b^6-36*b^3+12)*a^2+b^27
      -9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7,
   b^27-9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+27*b^9] 
dist: 0.0b0 
11 multi-roots: 0.0b0 0.0b0 
  [a^8-4*a^6+(6*b^9-18*b^6+18*b^3-2)*a^4+((-12*b^9)+36*b^6-36*b^3+12)*a^2+b^27
      -9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7,
   b^27-9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+27*b^9] 
dist: 0.0b0 
12 multi-roots: 0.0b0 0.0b0 
  [a^8-4*a^6+(6*b^9-18*b^6+18*b^3-2)*a^4+((-12*b^9)+36*b^6-36*b^3+12)*a^2+b^27
      -9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7,
   b^27-9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+27*b^9] 
dist: 0.0b0 
13 multi-roots: 0.0b0 0.0b0 
  [a^8-4*a^6+(6*b^9-18*b^6+18*b^3-2)*a^4+((-12*b^9)+36*b^6-36*b^3+12)*a^2+b^27
      -9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7,
   b^27-9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+27*b^9] 
dist: 0.0b0 
14 multi-roots: 0.0b0 0.0b0 
  [a^8-4*a^6+(6*b^9-18*b^6+18*b^3-2)*a^4+((-12*b^9)+36*b^6-36*b^3+12)*a^2+b^27
      -9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7,
   b^27-9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+27*b^9] 
dist: 0.0b0 
15 multi-roots: 0.0b0 0.0b0 
  [a^8-4*a^6+(6*b^9-18*b^6+18*b^3-2)*a^4+((-12*b^9)+36*b^6-36*b^3+12)*a^2+b^27
      -9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7,
   b^27-9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+27*b^9] 
dist: 0.0b0 
16 multi-roots: 0.0b0 0.0b0 
  [a^8-4*a^6+(6*b^9-18*b^6+18*b^3-2)*a^4+((-12*b^9)+36*b^6-36*b^3+12)*a^2+b^27
      -9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7,
   b^27-9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+27*b^9] 
dist: 0.0b0 
17 multi-roots: 1.182691836749522b0-2.085404757701443b-1*%i 
  1.182692087088606b0-2.085407026268325b-1*%i 
  [a^8-4*a^6+(6*b^9-18*b^6+18*b^3-2)*a^4+((-12*b^9)+36*b^6-36*b^3+12)*a^2+b^27
      -9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7,
   b^27-9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+27*b^9] 
dist: 3.378366674990088b-7 
18 multi-roots: 1.182692087088606b0-2.085407026268325b-1*%i 
  1.182692149170476b0-2.085403628805644b-1*%i 
  [a^8-4*a^6+(6*b^9-18*b^6+18*b^3-2)*a^4+((-12*b^9)+36*b^6-36*b^3+12)*a^2+b^27
      -9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7,
   b^27-9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+27*b^9] 
dist: 3.453718073079048b-7 
19 multi-roots: 2.085405167216828b-1*%i+1.182692020651834b0 
  2.085404528573458b-1*%i+1.182692021812494b0 
  [a^8-4*a^6+(6*b^9-18*b^6+18*b^3-2)*a^4+((-12*b^9)+36*b^6-36*b^3+12)*a^2+b^27
      -9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7,
   b^27-9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+27*b^9] 
dist: 6.387488296457688b-8 
20 multi-roots: 2.085404528573458b-1*%i+1.182692021812494b0 
  2.085405716985108b-1*%i+1.18269203054428b0 
  [a^8-4*a^6+(6*b^9-18*b^6+18*b^3-2)*a^4+((-12*b^9)+36*b^6-36*b^3+12)*a^2+b^27
      -9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7,
   b^27-9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+27*b^9] 
dist: 1.191615147068571b-7 
common-roots: 1.346676703722613b0 1.346676703722613b0 
dist: 1.665334536937735b-16 
1 multi-roots: (-8.660804423214204b-1*%i)-5.000441678406675b-1 
 (-8.659596311546991b-1*%i)-5.000255856711448b-1 
 [a^8-4*a^6+(6*b^9-18*b^6+18*b^3-2)*a^4+((-12*b^9)+36*b^6-36*b^3+12)*a^2+b^27
     -9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7,
  b^27-9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7] 
dist: 1.222318903917476b-4 
2 multi-roots: (-8.659596311546991b-1*%i)-5.000255856711448b-1 
 (-8.660361378779625b-1*%i)-4.999302464884673b-1 
 [a^8-4*a^6+(6*b^9-18*b^6+18*b^3-2)*a^4+((-12*b^9)+36*b^6-36*b^3+12)*a^2+b^27
     -9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7,
  b^27-9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7] 
dist: 1.222409033757573b-4 
3 multi-roots: 8.660599669975173b-1*%i-5.000356595414205b-1 
 8.659772383882947b-1*%i-5.000121050417724b-1 
 [a^8-4*a^6+(6*b^9-18*b^6+18*b^3-2)*a^4+((-12*b^9)+36*b^6-36*b^3+12)*a^2+b^27
     -9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7,
  b^27-9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7] 
dist: 8.601649398563011b-5 
4 multi-roots: 8.659772383882947b-1*%i-5.000121050417724b-1 
 8.660390059677586b-1*%i-4.999522354169911b-1 
 [a^8-4*a^6+(6*b^9-18*b^6+18*b^3-2)*a^4+((-12*b^9)+36*b^6-36*b^3+12)*a^2+b^27
     -9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7,
  b^27-9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7] 
dist: 8.602096165627294b-5 
5 multi-roots: 2.231315975623363b-5*%i+9.999456693238325b-1 
 1.000007845795338b0-5.8207805235442b-5*%i 
 [a^8-4*a^6+(6*b^9-18*b^6+18*b^3-2)*a^4+((-12*b^9)+36*b^6-36*b^3+12)*a^2+b^27
     -9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7,
  b^27-9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7] 
dist: 1.017326860553025b-4 
6 multi-roots: 1.000007845795338b0-5.8207805235442b-5*%i 
 3.589464596707269b-5*%i+1.000046484881349b0 
 [a^8-4*a^6+(6*b^9-18*b^6+18*b^3-2)*a^4+((-12*b^9)+36*b^6-36*b^3+12)*a^2+b^27
     -9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7,
  b^27-9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7] 
dist: 1.017263500284118b-4 
common-roots: 1.0b0 1.0b0 
dist: 0.0b0 
common-roots: 7.548776662466926b-1 7.548776662466838b-1 
dist: 8.743006318923108b-15 
1 multi-roots: 0.0b0 0.0b0 [a^3+b^2-1,b^2] 
dist: 0.0b0 
1 multi-roots: (-9.199710801626131b-1*%i)-7.71947399037216b-1 
 (-9.199710804360586b-1*%i)-7.719473929391142b-1 
 [a^8-4*a^6+(6*b^9-18*b^6+18*b^3-2)*a^4+((-12*b^9)+36*b^6-36*b^3+12)*a^2+b^27
     -9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7,
  b^27-9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+27*b^9] 
dist: 6.104229478123359b-9 
2 multi-roots: (-9.199710804360586b-1*%i)-7.719473929391142b-1 
 (-9.199710825477433b-1*%i)-7.719473924291037b-1 
 [a^8-4*a^6+(6*b^9-18*b^6+18*b^3-2)*a^4+((-12*b^9)+36*b^6-36*b^3+12)*a^2+b^27
     -9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7,
  b^27-9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+27*b^9] 
dist: 2.172400328519447b-9 
3 multi-roots: 9.199708723835111b-1*%i-7.719494718698244b-1 
 9.19972984231248b-1*%i-7.71946537008062b-1 
 [a^8-4*a^6+(6*b^9-18*b^6+18*b^3-2)*a^4+((-12*b^9)+36*b^6-36*b^3+12)*a^2+b^27
     -9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7,
  b^27-9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+27*b^9] 
dist: 3.615703863455374b-6 
4 multi-roots: 9.19972984231248b-1*%i-7.71946537008062b-1 
 9.199693865316476b-1*%i-7.719461755275532b-1 
 [a^8-4*a^6+(6*b^9-18*b^6+18*b^3-2)*a^4+((-12*b^9)+36*b^6-36*b^3+12)*a^2+b^27
     -9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7,
  b^27-9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+27*b^9] 
dist: 3.61581395716781b-6 
5 multi-roots: (-1.128504487190754b0*%i)-4.107493297893198b-1 
 (-1.128519218977068b0*%i)-4.107484344965202b-1 
 [a^8-4*a^6+(6*b^9-18*b^6+18*b^3-2)*a^4+((-12*b^9)+36*b^6-36*b^3+12)*a^2+b^27
     -9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7,
  b^27-9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+27*b^9] 
dist: 1.475896599372942b-5 
6 multi-roots: (-1.128519218977068b0*%i)-4.107484344965202b-1 
 (-1.128511078256128b0*%i)-4.107361243173334b-1 
 [a^8-4*a^6+(6*b^9-18*b^6+18*b^3-2)*a^4+((-12*b^9)+36*b^6-36*b^3+12)*a^2+b^27
     -9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7,
  b^27-9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+27*b^9] 
dist: 1.475845008925132b-5 
7 multi-roots: 1.128511588695093b0*%i-4.107446393024692b-1 
 1.128511596096971b0*%i-4.107446267335344b-1 
 [a^8-4*a^6+(6*b^9-18*b^6+18*b^3-2)*a^4+((-12*b^9)+36*b^6-36*b^3+12)*a^2+b^27
     -9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7,
  b^27-9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+27*b^9] 
dist: 1.458649779375334b-8 
8 multi-roots: 1.128511596096971b0*%i-4.107446267335344b-1 
 1.128511599631896b0*%i-4.107446225671621b-1 
 [a^8-4*a^6+(6*b^9-18*b^6+18*b^3-2)*a^4+((-12*b^9)+36*b^6-36*b^3+12)*a^2+b^27
     -9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7,
  b^27-9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+27*b^9] 
dist: 5.463913988241733b-9 
9 multi-roots: 0.0b0 0.0b0 
 [a^8-4*a^6+(6*b^9-18*b^6+18*b^3-2)*a^4+((-12*b^9)+36*b^6-36*b^3+12)*a^2+b^27
     -9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7,
  b^27-9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+27*b^9] 
dist: 0.0b0 
10 multi-roots: 0.0b0 0.0b0 
  [a^8-4*a^6+(6*b^9-18*b^6+18*b^3-2)*a^4+((-12*b^9)+36*b^6-36*b^3+12)*a^2+b^27
      -9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7,
   b^27-9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+27*b^9] 
dist: 0.0b0 
11 multi-roots: 0.0b0 0.0b0 
  [a^8-4*a^6+(6*b^9-18*b^6+18*b^3-2)*a^4+((-12*b^9)+36*b^6-36*b^3+12)*a^2+b^27
      -9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7,
   b^27-9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+27*b^9] 
dist: 0.0b0 
12 multi-roots: 0.0b0 0.0b0 
  [a^8-4*a^6+(6*b^9-18*b^6+18*b^3-2)*a^4+((-12*b^9)+36*b^6-36*b^3+12)*a^2+b^27
      -9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7,
   b^27-9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+27*b^9] 
dist: 0.0b0 
13 multi-roots: 0.0b0 0.0b0 
  [a^8-4*a^6+(6*b^9-18*b^6+18*b^3-2)*a^4+((-12*b^9)+36*b^6-36*b^3+12)*a^2+b^27
      -9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7,
   b^27-9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+27*b^9] 
dist: 0.0b0 
14 multi-roots: 0.0b0 0.0b0 
  [a^8-4*a^6+(6*b^9-18*b^6+18*b^3-2)*a^4+((-12*b^9)+36*b^6-36*b^3+12)*a^2+b^27
      -9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7,
   b^27-9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+27*b^9] 
dist: 0.0b0 
15 multi-roots: 0.0b0 0.0b0 
  [a^8-4*a^6+(6*b^9-18*b^6+18*b^3-2)*a^4+((-12*b^9)+36*b^6-36*b^3+12)*a^2+b^27
      -9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7,
   b^27-9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+27*b^9] 
dist: 0.0b0 
16 multi-roots: 0.0b0 0.0b0 
  [a^8-4*a^6+(6*b^9-18*b^6+18*b^3-2)*a^4+((-12*b^9)+36*b^6-36*b^3+12)*a^2+b^27
      -9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7,
   b^27-9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+27*b^9] 
dist: 0.0b0 
17 multi-roots: 1.182691836749522b0-2.085404757701443b-1*%i 
  1.182692087088606b0-2.085407026268325b-1*%i 
  [a^8-4*a^6+(6*b^9-18*b^6+18*b^3-2)*a^4+((-12*b^9)+36*b^6-36*b^3+12)*a^2+b^27
      -9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7,
   b^27-9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+27*b^9] 
dist: 3.378366674990088b-7 
18 multi-roots: 1.182692087088606b0-2.085407026268325b-1*%i 
  1.182692149170476b0-2.085403628805644b-1*%i 
  [a^8-4*a^6+(6*b^9-18*b^6+18*b^3-2)*a^4+((-12*b^9)+36*b^6-36*b^3+12)*a^2+b^27
      -9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7,
   b^27-9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+27*b^9] 
dist: 3.453718073079048b-7 
19 multi-roots: 2.085405167216828b-1*%i+1.182692020651834b0 
  2.085404528573458b-1*%i+1.182692021812494b0 
  [a^8-4*a^6+(6*b^9-18*b^6+18*b^3-2)*a^4+((-12*b^9)+36*b^6-36*b^3+12)*a^2+b^27
      -9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7,
   b^27-9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+27*b^9] 
dist: 6.387488296457688b-8 
20 multi-roots: 2.085404528573458b-1*%i+1.182692021812494b0 
  2.085405716985108b-1*%i+1.18269203054428b0 
  [a^8-4*a^6+(6*b^9-18*b^6+18*b^3-2)*a^4+((-12*b^9)+36*b^6-36*b^3+12)*a^2+b^27
      -9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+33*b^9-18*b^6+18*b^3-7,
   b^27-9*b^24+36*b^21-81*b^18+108*b^15-81*b^12+27*b^9] 
dist: 1.191615147068571b-7 
common-roots: 0.0b0 0.0b0 
dist: 0.0b0 
1 multi-roots: 9.802492832500017b-24*%i-3.332445010132976b-6 
 1.666222505066488b-6-2.885982035489848b-6*%i 
 [c^9-3*c^6+3*c^3+a^4-2*a^2,c^9-3*c^6+3*c^3+1.110223024625157b-16] 
dist: 5.771964070979697b-6 
2 multi-roots: 1.666222505066488b-6-2.885982035489848b-6*%i 
 2.885982035489848b-6*%i+1.666222505066488b-6 
 [c^9-3*c^6+3*c^3+a^4-2*a^2,c^9-3*c^6+3*c^3+1.110223024625157b-16] 
dist: 5.771964070979697b-6 
1 multi-roots: (-8.660255628474419b-1*%i)-5.00000111173379b-1 
 (-8.660252247378837b-1*%i)-5.000000835080218b-1 
 [c^9-3*c^6+3*c^3+a^4-2*a^2,c^9-3*c^6+3*c^3-1.0b0] 
dist: 3.392395102543312b-7 
2 multi-roots: (-8.660252247378837b-1*%i)-5.000000835080218b-1 
 (-8.660254237679908b-1*%i)-4.999998053185997b-1 
 [c^9-3*c^6+3*c^3+a^4-2*a^2,c^9-3*c^6+3*c^3-1.0b0] 
dist: 3.420560452027647b-7 
3 multi-roots: 8.660254036658418b-1*%i-5.000000000446686b-1 
 8.660254038379494b-1*%i-4.999999999906503b-1 
 [c^9-3*c^6+3*c^3+a^4-2*a^2,c^9-3*c^6+3*c^3-1.0b0] 
dist: 1.803856285841607b-10 
4 multi-roots: 8.660254038379494b-1*%i-4.999999999906503b-1 
 8.660254038495248b-1*%i-4.999999999646812b-1 
 [c^9-3*c^6+3*c^3+a^4-2*a^2,c^9-3*c^6+3*c^3-1.0b0] 
dist: 2.843207457168711b-11 
5 multi-roots: 1.632012483901229b-10*%i+9.999999990929849b-1 
 1.000000000452425b0-8.155697400955311b-11*%i 
 [c^9-3*c^6+3*c^3+a^4-2*a^2,c^9-3*c^6+3*c^3-1.0b0] 
dist: 1.381297987296357b-9 
6 multi-roots: 1.000000000452425b0-8.155697400955311b-11*%i 
 1.000000000454591b0-8.164377541315077b-11*%i 
 [c^9-3*c^6+3*c^3+a^4-2*a^2,c^9-3*c^6+3*c^3-1.0b0] 
dist: 2.167145783155763b-12 
1 multi-roots: 0.0b0 0.0b0 [c^9-3*c^6+3*c^3+a^4-2*a^2,c^9-3*c^6+3*c^3] 
dist: 0.0b0 
2 multi-roots: 0.0b0 0.0b0 [c^9-3*c^6+3*c^3+a^4-2*a^2,c^9-3*c^6+3*c^3] 
dist: 0.0b0 
1 multi-roots: 0.0b0 0.0b0 [c^2+b^3-1,c^2] 
dist: 0.0b0 
1 multi-roots: 0.0b0 0.0b0 [c^9-3*c^6+3*c^3+a^4-2*a^2,c^9-3*c^6+3*c^3] 
dist: 0.0b0 
2 multi-roots: 0.0b0 0.0b0 [c^9-3*c^6+3*c^3+a^4-2*a^2,c^9-3*c^6+3*c^3] 
dist: 0.0b0 
common-roots: 0.0b0 0.0b0 
dist: 0.0b0 
common-roots: 7.548776662466963b-1 7.548776662466864b-1 
dist: 9.867107131356079b-15 
1 multi-roots: (-8.660255628474419b-1*%i)-5.00000111173379b-1 
 (-8.660252247378837b-1*%i)-5.000000835080218b-1 
 [c^9-3*c^6+3*c^3+a^4-2*a^2,c^9-3*c^6+3*c^3-1] 
dist: 3.392395102543312b-7 
2 multi-roots: (-8.660252247378837b-1*%i)-5.000000835080218b-1 
 (-8.660254237679908b-1*%i)-4.999998053185997b-1 
 [c^9-3*c^6+3*c^3+a^4-2*a^2,c^9-3*c^6+3*c^3-1] 
dist: 3.420560452027647b-7 
3 multi-roots: 8.660254036658418b-1*%i-5.000000000446686b-1 
 8.660254038379494b-1*%i-4.999999999906503b-1 
 [c^9-3*c^6+3*c^3+a^4-2*a^2,c^9-3*c^6+3*c^3-1] 
dist: 1.803856285841607b-10 
4 multi-roots: 8.660254038379494b-1*%i-4.999999999906503b-1 
 8.660254038495248b-1*%i-4.999999999646812b-1 
 [c^9-3*c^6+3*c^3+a^4-2*a^2,c^9-3*c^6+3*c^3-1] 
dist: 2.843207457168711b-11 
5 multi-roots: 1.632012483901229b-10*%i+9.999999990929849b-1 
 1.000000000452425b0-8.155697400955311b-11*%i 
 [c^9-3*c^6+3*c^3+a^4-2*a^2,c^9-3*c^6+3*c^3-1] 
dist: 1.381297987296357b-9 
6 multi-roots: 1.000000000452425b0-8.155697400955311b-11*%i 
 1.000000000454591b0-8.164377541315077b-11*%i 
 [c^9-3*c^6+3*c^3+a^4-2*a^2,c^9-3*c^6+3*c^3-1] 
dist: 2.167145783155763b-12 
common-roots: 1.0b0 1.0b0 
dist: 0.0b0 
1 multi-roots: 0.0b0 0.0b0 [d^3+a^2-1,d^3] 
dist: 0.0b0 
2 multi-roots: 0.0b0 0.0b0 [d^3+a^2-1,d^3] 
dist: 0.0b0 
common-roots: 1.0b0 1.0b0 
dist: 0.0b0 
common-roots: 7.548776662466929b-1 7.548776662466925b-1 
dist: 4.440892098500626b-16 
1 multi-roots: 0.0b0 0.0b0 [d^3+a^2-1,d^3] 
dist: 0.0b0 
2 multi-roots: 0.0b0 0.0b0 [d^3+a^2-1,d^3] 
dist: 0.0b0 
1 multi-roots: 0.0b0 0.0b0 [d^2+c^3-1,d^2] 
dist: 0.0b0 
1 multi-roots: 0.0b0 0.0b0 [d^3+a^2-1,d^3] 
dist: 0.0b0 
2 multi-roots: 0.0b0 0.0b0 [d^3+a^2-1,d^3] 
dist: 0.0b0 
common-roots: 0.0b0 0.0b0 
dist: 0.0b0 
[T,F]: [3,440] 
Evaluation took 14.8600 seconds (17.4500 elapsed) using 2063.632 MB.
(%o2) [[a = root(a,1),b = root(b^2+a^3-1,2),
        c = root(c^9-3*c^6+3*c^3+a^4-2*a^2,1),d = root(d^3+a^2-1,1)],
       [a = root(a^3+a^2-1,1),
        b = root(b^27-9*b^24+36*b^21-81*b^18+108*b^15-81*b^12
                     +a^4*(6*b^9-18*b^6+18*b^3-2)+33*b^9
                     +a^2*((-12*b^9)+36*b^6-36*b^3+12)-18*b^6+18*b^3+a^8-4*a^6
                     -7,1),c = root(c^9-3*c^6+3*c^3+a^4-2*a^2,1),
        d = root(d^2+c^3-1,2)],
       [a = root(a-1,1),b = root(b^2+a^3-1,1),c = root(c^2+b^3-1,2),
        d = root(d^3+a^2-1,1)]]

実行例(3)

CGS-EQ の深作亮也先生(東京理科大)のサイト
http://www.rs.tus.ac.jp/fukasaku/software/CGSQE-20160509/benchmark/computation-time/
http://www.rs.tus.ac.jp/fukasaku/software/CGSQE-20160509/benchmark/input/04/log/

出典
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.642.8545&rep=rep1&type=pdf Example 9

Maxima 5.39.0 http://maxima.sourceforge.net
using Lisp CMU Common Lisp 21b (21B Unicode)
Distributed under the GNU Public License. See the file COPYING.
Dedicated to the memory of William Schelter.
The function bug_report() provides bug reporting information.

(%i1) (qvpeds ([ex,ex],[x,y,z],0,0,r11,0 ),
       qe( bfpcad(ext( '(     x^2+y^2*z+z^3=0 and 3*x^2+3*y^2+z^2-1=0 and x^2+z^2-y^3*(y-1)^3<0   ) )))  );
Evaluation took 34.9400 seconds (34.9500 elapsed) using 4777.359 MB.
(%o1) [[root(387420489*x^36+473513931*x^34+1615049199*x^32-5422961745*x^30
                           +2179233963*x^28-14860773459*x^26+43317737551*x^24
                           -45925857657*x^22+60356422059*x^20
                           -126478283472*x^18+164389796305*x^16
                           -121571730573*x^14+54842719755*x^12
                           -16059214980*x^10+3210573925*x^8-446456947*x^6
                           +43657673*x^4-1631864*x^2-40328,1)
          < x
          and x < root(387420489*x^36+473513931*x^34+1615049199*x^32
                                     -5422961745*x^30+2179233963*x^28
                                     -14860773459*x^26+43317737551*x^24
                                     -45925857657*x^22+60356422059*x^20
                                     -126478283472*x^18+164389796305*x^16
                                     -121571730573*x^14+54842719755*x^12
                                     -16059214980*x^10+3210573925*x^8
                                     -446456947*x^6+43657673*x^4-1631864*x^2
                                     -40328,2),true,true]]

(%i2) (qvpeds ([ex,ex],[x,y,z],1,0,r11,0 ),
       qe( bfpcad(ext( '(     x^2+y^2*z+z^3=0 and 3*x^2+3*y^2+z^2-1=0 and x^2+z^2-y^3*(y-1)^3<0   ) )))  );

[fpprec,fpprintprec,%ez,ratepsilon]: [16,30,1.0b-3,1.0b-16] 
equal(z^3+y^2*z+x^2,0) and equal(z^2+3*y^2+3*x^2-1,0)
                       and z^2-y^6+3*y^5-3*y^4+y^3+x^2 < 0
  
["and",z^2-y^6+3*y^5-3*y^4+y^3+x^2 < 0,equal(z^2+3*y^2+3*x^2-1,0),
 equal(z^3+y^2*z+x^2,0)]
  
[[z^2+3*y^2+3*x^2-1],[z^2-y^6+3*y^5-3*y^4+y^3+x^2],[z^3+y^2*z+x^2]] 
[[3*y^2+3*x^2-1],[y^6-3*y^5+3*y^4-y^3-x^2],
 [y^6-3*y^5+3*y^4-y^3+3*y^2+2*x^2-1],[4*y^6+27*x^4],
 [12*y^6+48*x^2*y^4-16*y^4+63*x^4*y^2-42*x^2*y^2+7*y^2+27*x^6-26*x^4+9*x^2-1],
 [y^18-9*y^17+36*y^16-84*y^15+128*y^14-138*y^13-3*x^2*y^12+114*y^12
      +18*x^2*y^11-76*y^11-45*x^2*y^10+40*y^10+60*x^2*y^9-16*y^9-49*x^2*y^8
      +5*y^8+30*x^2*y^7-y^7+3*x^4*y^6-15*x^2*y^6-9*x^4*y^5+4*x^2*y^5+9*x^4*y^4
      -x^2*y^4-3*x^4*y^3+2*x^4*y^2-x^6-x^4]]
  
[[x,x^2-2,2*x^2-1,3*x^2-1,27*x^6-155*x^4+9*x^2-1,27*x^6-26*x^4+9*x^2-1,
  54*x^6-297*x^4+18*x^2-2,108*x^6-837*x^4+36*x^2-4,
  729*x^12+729*x^10+1215*x^8-6129*x^6+4185*x^4-504*x^2-8,
  387420489*x^36+473513931*x^34+926301663*x^32-4590725139*x^30+3855398877*x^28
                -5886383967*x^26+14051402938*x^24-13565732679*x^22
                +9151246767*x^20-15472018962*x^18+21618673717*x^16
                -15614937665*x^14+6066412333*x^12-1269760998*x^10
                +127675066*x^8-3130295*x^6-196075*x^4-2296*x^2-8,
  387420489*x^36+473513931*x^34+1615049199*x^32-5422961745*x^30
                +2179233963*x^28-14860773459*x^26+43317737551*x^24
                -45925857657*x^22+60356422059*x^20-126478283472*x^18
                +164389796305*x^16-121571730573*x^14+54842719755*x^12
                -16059214980*x^10+3210573925*x^8-446456947*x^6+43657673*x^4
                -1631864*x^2-40328,
  387420489*x^36+1162261467*x^34+4649045868*x^32-9125904852*x^30
                -4864279473*x^28-75245668308*x^26+228853906389*x^24
                -233182493334*x^22+526458209184*x^20-1632367306233*x^18
                +2577322981359*x^16-2213846330418*x^14+1103473933785*x^12
                -328088633355*x^10+61540990272*x^8-7555532337*x^6
                +598204197*x^4-19509336*x^2-512072],
 [3*y^2+3*x^2-1,y^6-3*y^5+3*y^4-y^3-x^2,y^6-3*y^5+3*y^4-y^3+3*y^2+2*x^2-1,
  4*y^6+27*x^4,
  12*y^6+(48*x^2-16)*y^4+(63*x^4-42*x^2+7)*y^2+27*x^6-26*x^4+9*x^2-1,
  y^18-9*y^17+36*y^16-84*y^15+128*y^14-138*y^13+((-3*x^2)+114)*y^12
      +(18*x^2-76)*y^11+((-45*x^2)+40)*y^10+(60*x^2-16)*y^9+((-49*x^2)+5)*y^8
      +(30*x^2-1)*y^7+(3*x^4-15*x^2)*y^6+((-9*x^4)+4*x^2)*y^5+(9*x^4-x^2)*y^4
      -3*x^4*y^3+2*x^4*y^2-x^6-x^4],
 [z^2+3*y^2+3*x^2-1,z^2-y^6+3*y^5-3*y^4+y^3+x^2,z^3+y^2*z+x^2]]
  
1 multi-roots: 0.0b0 0.0b0 [3*y^2+3*x^2-1,3*y^2] 
dist: 0.0b0 
1 multi-roots: 0.0b0 0.0b0 
 [12*y^6+(48*x^2-16)*y^4+(63*x^4-42*x^2+7)*y^2+27*x^6-26*x^4+9*x^2-1,
  12*y^6-5.72536737891363b0*y^4+8.963235209558525b-1*y^2] 
dist: 0.0b0 
common-roots: -3.990820394214746b-1 -3.990820394214746b-1 
dist: 6.938893903907228b-18 
common-roots: -3.990820394214746b-1 -3.990820394214746b-1 
dist: 6.938893903907228b-18 
common-roots: -3.731302026563126b-1 -3.731302026563127b-1 
dist: 4.163336342344337b-17 
common-roots: -4.492182869390443b-1 -4.492182869390443b-1 
dist: 6.938893903907228b-17 
common-roots: -4.293461173741275b-1 -4.293461173741276b-1 
dist: 4.163336342344337b-17 
common-roots: -4.293461173741276b-1 -4.293461173741276b-1 
dist: 2.081668171172169b-17 
common-roots: 1.242338414099984b0 1.241578377687144b0 
dist: 7.600364128400594b-4 
1 multi-roots: 0.0b0 0.0b0 [y^6-3*y^5+3*y^4-y^3-x^2,y^6-3*y^5+3*y^4-y^3] 
dist: 0.0b0 
2 multi-roots: 0.0b0 0.0b0 [y^6-3*y^5+3*y^4-y^3-x^2,y^6-3*y^5+3*y^4-y^3] 
dist: 0.0b0 
3 multi-roots: 9.999999999999998b-1-1.908195823574488b-16*%i 
 1.006139616066548b-16*%i+1.0b0 [y^6-3*y^5+3*y^4-y^3-x^2,y^6-3*y^5+3*y^4-y^3] 
dist: 4.425687238657765b-16 
4 multi-roots: 1.006139616066548b-16*%i+1.0b0 9.020562075079397b-17*%i+1.0b0 
 [y^6-3*y^5+3*y^4-y^3-x^2,y^6-3*y^5+3*y^4-y^3] 
dist: 1.040834085586084b-17 
1 multi-roots: 0.0b0 0.0b0 [4*y^6+27*x^4,4*y^6] 
dist: 0.0b0 
2 multi-roots: 0.0b0 0.0b0 [4*y^6+27*x^4,4*y^6] 
dist: 0.0b0 
3 multi-roots: 0.0b0 0.0b0 [4*y^6+27*x^4,4*y^6] 
dist: 0.0b0 
4 multi-roots: 0.0b0 0.0b0 [4*y^6+27*x^4,4*y^6] 
dist: 0.0b0 
5 multi-roots: 0.0b0 0.0b0 [4*y^6+27*x^4,4*y^6] 
dist: 0.0b0 
1 multi-roots: (-3.118675378203367b-11*%i)-7.071067811740978b-1 
 3.11867695771263b-11*%i-7.071067811989973b-1 
 [12*y^6+(48*x^2-16)*y^4+(63*x^4-42*x^2+7)*y^2+27*x^6-26*x^4+9*x^2-1,
  12*y^6-16*y^4+7*y^2-1] 
dist: 6.715982037737266b-11 
2 multi-roots: 7.071067811770959b-1-1.273326148703733b-11*%i 
 1.273326308308289b-11*%i+7.071067811959992b-1 
 [12*y^6+(48*x^2-16)*y^4+(63*x^4-42*x^2+7)*y^2+27*x^6-26*x^4+9*x^2-1,
  12*y^6-16*y^4+7*y^2-1] 
dist: 3.171562834653794b-11 
1 multi-roots: (-6.025654200204613b-1*%i)-1.891279438990948b-2 
 (-6.025654199767368b-1*%i)-1.891279438040217b-2 
 [y^18-9*y^17+36*y^16-84*y^15+128*y^14-138*y^13+((-3*x^2)+114)*y^12
      +(18*x^2-76)*y^11+((-45*x^2)+40)*y^10+(60*x^2-16)*y^9+((-49*x^2)+5)*y^8
      +(30*x^2-1)*y^7+(3*x^4-15*x^2)*y^6+((-9*x^4)+4*x^2)*y^5+(9*x^4-x^2)*y^4
      -3*x^4*y^3+2*x^4*y^2-x^6-x^4,
  y^18-9*y^17+36*y^16-84*y^15+128*y^14-138*y^13+114*y^12-76*y^11+40*y^10
      -16*y^9+5*y^8-y^7] 
dist: 4.474615144603693b-11 
2 multi-roots: 6.025654209207471b-1*%i-1.891280116685924b-2 
 6.025654190764511b-1*%i-1.89127876034522b-2 
 [y^18-9*y^17+36*y^16-84*y^15+128*y^14-138*y^13+((-3*x^2)+114)*y^12
      +(18*x^2-76)*y^11+((-45*x^2)+40)*y^10+(60*x^2-16)*y^9+((-49*x^2)+5)*y^8
      +(30*x^2-1)*y^7+(3*x^4-15*x^2)*y^6+((-9*x^4)+4*x^2)*y^5+(9*x^4-x^2)*y^4
      -3*x^4*y^3+2*x^4*y^2-x^6-x^4,
  y^18-9*y^17+36*y^16-84*y^15+128*y^14-138*y^13+114*y^12-76*y^11+40*y^10
      -16*y^9+5*y^8-y^7] 
dist: 1.368822261249517b-8 
3 multi-roots: 0.0b0 0.0b0 
 [y^18-9*y^17+36*y^16-84*y^15+128*y^14-138*y^13+((-3*x^2)+114)*y^12
      +(18*x^2-76)*y^11+((-45*x^2)+40)*y^10+(60*x^2-16)*y^9+((-49*x^2)+5)*y^8
      +(30*x^2-1)*y^7+(3*x^4-15*x^2)*y^6+((-9*x^4)+4*x^2)*y^5+(9*x^4-x^2)*y^4
      -3*x^4*y^3+2*x^4*y^2-x^6-x^4,
  y^18-9*y^17+36*y^16-84*y^15+128*y^14-138*y^13+114*y^12-76*y^11+40*y^10
      -16*y^9+5*y^8-y^7] 
dist: 0.0b0 
4 multi-roots: 0.0b0 0.0b0 
 [y^18-9*y^17+36*y^16-84*y^15+128*y^14-138*y^13+((-3*x^2)+114)*y^12
      +(18*x^2-76)*y^11+((-45*x^2)+40)*y^10+(60*x^2-16)*y^9+((-49*x^2)+5)*y^8
      +(30*x^2-1)*y^7+(3*x^4-15*x^2)*y^6+((-9*x^4)+4*x^2)*y^5+(9*x^4-x^2)*y^4
      -3*x^4*y^3+2*x^4*y^2-x^6-x^4,
  y^18-9*y^17+36*y^16-84*y^15+128*y^14-138*y^13+114*y^12-76*y^11+40*y^10
      -16*y^9+5*y^8-y^7] 
dist: 0.0b0 
5 multi-roots: 0.0b0 0.0b0 
 [y^18-9*y^17+36*y^16-84*y^15+128*y^14-138*y^13+((-3*x^2)+114)*y^12
      +(18*x^2-76)*y^11+((-45*x^2)+40)*y^10+(60*x^2-16)*y^9+((-49*x^2)+5)*y^8
      +(30*x^2-1)*y^7+(3*x^4-15*x^2)*y^6+((-9*x^4)+4*x^2)*y^5+(9*x^4-x^2)*y^4
      -3*x^4*y^3+2*x^4*y^2-x^6-x^4,
  y^18-9*y^17+36*y^16-84*y^15+128*y^14-138*y^13+114*y^12-76*y^11+40*y^10
      -16*y^9+5*y^8-y^7] 
dist: 0.0b0 
6 multi-roots: 0.0b0 0.0b0 
 [y^18-9*y^17+36*y^16-84*y^15+128*y^14-138*y^13+((-3*x^2)+114)*y^12
      +(18*x^2-76)*y^11+((-45*x^2)+40)*y^10+(60*x^2-16)*y^9+((-49*x^2)+5)*y^8
      +(30*x^2-1)*y^7+(3*x^4-15*x^2)*y^6+((-9*x^4)+4*x^2)*y^5+(9*x^4-x^2)*y^4
      -3*x^4*y^3+2*x^4*y^2-x^6-x^4,
  y^18-9*y^17+36*y^16-84*y^15+128*y^14-138*y^13+114*y^12-76*y^11+40*y^10
      -16*y^9+5*y^8-y^7] 
dist: 0.0b0 
7 multi-roots: 0.0b0 0.0b0 
 [y^18-9*y^17+36*y^16-84*y^15+128*y^14-138*y^13+((-3*x^2)+114)*y^12
      +(18*x^2-76)*y^11+((-45*x^2)+40)*y^10+(60*x^2-16)*y^9+((-49*x^2)+5)*y^8
      +(30*x^2-1)*y^7+(3*x^4-15*x^2)*y^6+((-9*x^4)+4*x^2)*y^5+(9*x^4-x^2)*y^4
      -3*x^4*y^3+2*x^4*y^2-x^6-x^4,
  y^18-9*y^17+36*y^16-84*y^15+128*y^14-138*y^13+114*y^12-76*y^11+40*y^10
      -16*y^9+5*y^8-y^7] 
dist: 0.0b0 
8 multi-roots: 0.0b0 0.0b0 
 [y^18-9*y^17+36*y^16-84*y^15+128*y^14-138*y^13+((-3*x^2)+114)*y^12
      +(18*x^2-76)*y^11+((-45*x^2)+40)*y^10+(60*x^2-16)*y^9+((-49*x^2)+5)*y^8
      +(30*x^2-1)*y^7+(3*x^4-15*x^2)*y^6+((-9*x^4)+4*x^2)*y^5+(9*x^4-x^2)*y^4
      -3*x^4*y^3+2*x^4*y^2-x^6-x^4,
  y^18-9*y^17+36*y^16-84*y^15+128*y^14-138*y^13+114*y^12-76*y^11+40*y^10
      -16*y^9+5*y^8-y^7] 
dist: 0.0b0 
9 multi-roots: 2.717041990286581b-6*%i+9.99993414966278b-1 
 1.00000093787557b0-7.060909170695758b-6*%i 
 [y^18-9*y^17+36*y^16-84*y^15+128*y^14-138*y^13+((-3*x^2)+114)*y^12
      +(18*x^2-76)*y^11+((-45*x^2)+40)*y^10+(60*x^2-16)*y^9+((-49*x^2)+5)*y^8
      +(30*x^2-1)*y^7+(3*x^4-15*x^2)*y^6+((-9*x^4)+4*x^2)*y^5+(9*x^4-x^2)*y^4
      -3*x^4*y^3+2*x^4*y^2-x^6-x^4,
  y^18-9*y^17+36*y^16-84*y^15+128*y^14-138*y^13+114*y^12-76*y^11+40*y^10
      -16*y^9+5*y^8-y^7] 
dist: 1.233703745313714b-5 
10 multi-roots: 1.00000093787557b0-7.060909170695758b-6*%i 
  4.343867253830464b-6*%i+1.000005647158198b0 
  [y^18-9*y^17+36*y^16-84*y^15+128*y^14-138*y^13+((-3*x^2)+114)*y^12
       +(18*x^2-76)*y^11+((-45*x^2)+40)*y^10+(60*x^2-16)*y^9+((-49*x^2)+5)*y^8
       +(30*x^2-1)*y^7+(3*x^4-15*x^2)*y^6+((-9*x^4)+4*x^2)*y^5+(9*x^4-x^2)*y^4
       -3*x^4*y^3+2*x^4*y^2-x^6-x^4,
   y^18-9*y^17+36*y^16-84*y^15+128*y^14-138*y^13+114*y^12-76*y^11+40*y^10
       -16*y^9+5*y^8-y^7] 
dist: 1.233881145655348b-5 
11 multi-roots: 1.518912661150419b0-6.666097968941921b-1*%i 
  1.518912927619844b0-6.666098929698847b-1*%i 
  [y^18-9*y^17+36*y^16-84*y^15+128*y^14-138*y^13+((-3*x^2)+114)*y^12
       +(18*x^2-76)*y^11+((-45*x^2)+40)*y^10+(60*x^2-16)*y^9+((-49*x^2)+5)*y^8
       +(30*x^2-1)*y^7+(3*x^4-15*x^2)*y^6+((-9*x^4)+4*x^2)*y^5+(9*x^4-x^2)*y^4
       -3*x^4*y^3+2*x^4*y^2-x^6-x^4,
   y^18-9*y^17+36*y^16-84*y^15+128*y^14-138*y^13+114*y^12-76*y^11+40*y^10
       -16*y^9+5*y^8-y^7] 
dist: 2.832604685158154b-7 
12 multi-roots: 6.666098479459857b-1*%i+1.51891279382378b0 
  6.666098419180176b-1*%i+1.518912794946535b0 
  [y^18-9*y^17+36*y^16-84*y^15+128*y^14-138*y^13+((-3*x^2)+114)*y^12
       +(18*x^2-76)*y^11+((-45*x^2)+40)*y^10+(60*x^2-16)*y^9+((-49*x^2)+5)*y^8
       +(30*x^2-1)*y^7+(3*x^4-15*x^2)*y^6+((-9*x^4)+4*x^2)*y^5+(9*x^4-x^2)*y^4
       -3*x^4*y^3+2*x^4*y^2-x^6-x^4,
   y^18-9*y^17+36*y^16-84*y^15+128*y^14-138*y^13+114*y^12-76*y^11+40*y^10
       -16*y^9+5*y^8-y^7] 
dist: 6.131637614094183b-9 
common-roots: 1.000000000000015b0 1.0b0 
dist: 1.515454428613339b-14 
common-roots: 5.773502691896258b-1 5.773502691896257b-1 
dist: 5.551115123125783b-17 
common-roots: 0.0b0 0.0b0 
dist: 0.0b0 
common-roots: -5.773502691896258b-1 -5.773502691896258b-1 
dist: 5.551115123125783b-17 
common-roots: 1.242338414100015b0 1.241578377687144b0 
dist: 7.600364128707848b-4 
common-roots: -4.293461173741275b-1 -4.293461173741275b-1 
dist: 1.387778780781446b-17 
common-roots: -4.293461173741275b-1 -4.293461173741276b-1 
dist: 3.469446951953614b-17 
common-roots: -4.492182869390442b-1 -4.492182869390443b-1 
dist: 9.020562075079397b-17 
common-roots: -3.731302026563125b-1 -3.731302026563127b-1 
dist: 2.012279232133096b-16 
common-roots: -3.990820394214746b-1 -3.990820394214746b-1 
dist: 6.938893903907228b-18 
common-roots: -3.990820394214746b-1 -3.990820394214746b-1 
dist: 6.938893903907228b-18 
1 multi-roots: 0.0b0 0.0b0 
 [12*y^6+(48*x^2-16)*y^4+(63*x^4-42*x^2+7)*y^2+27*x^6-26*x^4+9*x^2-1,
  12*y^6-5.72536737891363b0*y^4+8.963235209558528b-1*y^2] 
dist: 0.0b0 
1 multi-roots: 0.0b0 0.0b0 [3*y^2+3*x^2-1,3*y^2] 
dist: 0.0b0 
1 multi-roots: 0.0b0 0.0b0 [z^2+3*y^2+3*x^2-1,z^2] 
dist: 0.0b0 
common-roots: 1.9369471621906b-1 1.9369471621906b-1 
dist: 0.0b0 
common-roots: -1.9369471621906b-1 -1.9369471621906b-1 
dist: 0.0b0 
1 multi-roots: 0.0b0 0.0b0 [z^2+3*y^2+3*x^2-1,z^2] 
dist: 0.0b0 
common-roots: 2.704199308450861b-1 2.704199308450861b-1 
dist: 0.0b0 
common-roots: -2.704199308450861b-1 -2.704199308450861b-1 
dist: 0.0b0 
1 multi-roots: 0.0b0 0.0b0 [z^2+3*y^2+3*x^2-1,z^2] 
dist: 0.0b0 
common-roots: 2.755098124531884b-1 2.755098124531884b-1 
dist: 0.0b0 
common-roots: -2.755098124531884b-1 -2.755098124531884b-1 
dist: 0.0b0 
common-roots: -4.190704888041301b-1 -4.190704888041305b-1 
dist: 3.747002708109903b-16 
1 multi-roots: 0.0b0 0.0b0 [z^2+3*y^2+3*x^2-1,z^2] 
dist: 0.0b0 
common-roots: -3.799706718183064b-1 -3.799706718183065b-1 
dist: 4.85722573273506b-17 
common-roots: 2.804840673490828b-1 2.804840673490828b-1 
dist: 0.0b0 
common-roots: -2.804840673490828b-1 -2.804840673490828b-1 
dist: 0.0b0 
common-roots: -4.152590546912595b-1 -4.152590546912597b-1 
dist: 1.179611963664229b-16 
1 multi-roots: 0.0b0 0.0b0 [z^2+3*y^2+3*x^2-1,z^2] 
dist: 0.0b0 
common-roots: -3.655627214498231b-1 -3.655627214498232b-1 
dist: 5.551115123125783b-17 
common-roots: 3.184417034569177b-1 3.184417034569177b-1 
dist: 0.0b0 
common-roots: -3.184417034569177b-1 -3.184417034569177b-1 
dist: 0.0b0 
common-roots: -3.831359850498015b-1 -3.831359850498017b-1 
dist: 1.52655665885959b-16 
1 multi-roots: 0.0b0 0.0b0 [z^2+3*y^2+3*x^2-1,z^2] 
dist: 0.0b0 
common-roots: 3.509771861657056b-1 3.509771861657056b-1 
dist: 0.0b0 
common-roots: -3.509771861657056b-1 -3.509771861657056b-1 
dist: 0.0b0 
common-roots: -3.509771861657056b-1 -3.509771861657057b-1 
dist: 1.110223024625157b-16 
1 multi-roots: 0.0b0 0.0b0 [z^2+3*y^2+3*x^2-1,z^2] 
dist: 0.0b0 
common-roots: -8.666384296627297b-2 -8.666384296627914b-2 
dist: 6.168676680573526b-15 
1 multi-roots: 0.0b0 0.0b0 [z^2+3*y^2+3*x^2-1,z^2] 
dist: 0.0b0 
common-roots: 0.0b0 0.0b0 
dist: 0.0b0 
1 multi-roots: 0.0b0 0.0b0 [z^2+3*y^2+3*x^2-1,z^2] 
dist: 0.0b0 
common-roots: -8.666384296627296b-2 -8.666384296627922b-2 
dist: 6.257147577848343b-15 
1 multi-roots: 0.0b0 0.0b0 [z^2+3*y^2+3*x^2-1,z^2] 
dist: 0.0b0 
common-roots: 3.509771861657057b-1 3.509771861657057b-1 
dist: 0.0b0 
common-roots: -3.509771861657057b-1 -3.509771861657057b-1 
dist: 0.0b0 
common-roots: -3.509771861657057b-1 -3.509771861657057b-1 
dist: 2.081668171172169b-17 
1 multi-roots: 0.0b0 0.0b0 [z^2+3*y^2+3*x^2-1,z^2] 
dist: 0.0b0 
common-roots: -3.655627214498231b-1 -3.655627214498232b-1 
dist: 5.551115123125783b-17 
common-roots: 3.184417034569177b-1 3.184417034569177b-1 
dist: 0.0b0 
common-roots: -3.184417034569177b-1 -3.184417034569177b-1 
dist: 0.0b0 
common-roots: -3.831359850498015b-1 -3.831359850498017b-1 
dist: 1.52655665885959b-16 
1 multi-roots: 0.0b0 0.0b0 [z^2+3*y^2+3*x^2-1,z^2] 
dist: 0.0b0 
common-roots: -3.799706718183065b-1 -3.799706718183065b-1 
dist: 2.081668171172169b-17 
common-roots: 2.80484067349083b-1 2.80484067349083b-1 
dist: 0.0b0 
common-roots: -2.80484067349083b-1 -2.80484067349083b-1 
dist: 0.0b0 
common-roots: -4.152590546912595b-1 -4.152590546912595b-1 
dist: 6.245004513516506b-17 
1 multi-roots: 0.0b0 0.0b0 [z^2+3*y^2+3*x^2-1,z^2] 
dist: 0.0b0 
common-roots: 2.755098124531883b-1 2.755098124531883b-1 
dist: 0.0b0 
common-roots: -2.755098124531883b-1 -2.755098124531883b-1 
dist: 0.0b0 
common-roots: -4.190704888041303b-1 -4.190704888041304b-1 
dist: 1.110223024625157b-16 
1 multi-roots: 0.0b0 0.0b0 [z^2+3*y^2+3*x^2-1,z^2] 
dist: 0.0b0 
common-roots: 2.704199308450858b-1 2.704199308450858b-1 
dist: 0.0b0 
common-roots: -2.704199308450858b-1 -2.704199308450858b-1 
dist: 0.0b0 
1 multi-roots: 0.0b0 0.0b0 [z^2+3*y^2+3*x^2-1,z^2] 
dist: 0.0b0 
common-roots: 1.936947162190598b-1 1.936947162190598b-1 
dist: 0.0b0 
common-roots: -1.936947162190598b-1 -1.936947162190598b-1 
dist: 0.0b0 
[T,F]: [3,1064] 
Evaluation took 32.3300 seconds (32.4100 elapsed) using 4531.459 MB.
(%o2) [[root(387420489*x^36+473513931*x^34+1615049199*x^32-5422961745*x^30
                           +2179233963*x^28-14860773459*x^26+43317737551*x^24
                           -45925857657*x^22+60356422059*x^20
                           -126478283472*x^18+164389796305*x^16
                           -121571730573*x^14+54842719755*x^12
                           -16059214980*x^10+3210573925*x^8-446456947*x^6
                           +43657673*x^4-1631864*x^2-40328,1)
          < x
          and x < root(387420489*x^36+473513931*x^34+1615049199*x^32
                                     -5422961745*x^30+2179233963*x^28
                                     -14860773459*x^26+43317737551*x^24
                                     -45925857657*x^22+60356422059*x^20
                                     -126478283472*x^18+164389796305*x^16
                                     -121571730573*x^14+54842719755*x^12
                                     -16059214980*x^10+3210573925*x^8
                                     -446456947*x^6+43657673*x^4-1631864*x^2
                                     -40328,2),true,true]]

実行例(2)

SyNRAC の岩根秀直さん(富士通研究所)のサイト
https://github.com/hiwane/qe_problems/blob/master/problems/exam/manual-fof/tsukuba2010-Ri-1-m.mpl

他の QE ツールの出力との比較
http://www.kurims.kyoto-u.ac.jp/~kyodo/kokyuroku/contents/pdf/2019-13.pdf Appendix

Maxima 5.39.0 http://maxima.sourceforge.net
using Lisp CMU Common Lisp 21b (21B Unicode)
Distributed under the GNU Public License. See the file COPYING.
Dedicated to the memory of William Schelter.
The function bug_report() provides bug reporting information.

(%i1) (qvpeds ([ex],[a,b,x],0,0,r11,0 ),
       qe( bfpcad(ext( '(     -1 <= x and x <= 3 and b = x^3/3 - a*x^2/2 and a > 0   ) )))  );
Evaluation took 1.7400 seconds (1.7400 elapsed) using 188.173 MB.
(%o1) [[root(a,1) < a and a < root(a-2,1),
        root(6*b+3*a+2,1) <= b and b <= root(2*b+9*a-18,1),true],
       [a = root(a-2,1),root(6*b+a^3,1) <= b and b <= root(2*b+9*a-18,1),
        true],
       [root(a-2,1) < a and a <= root(a-3,1),
        root(6*b+a^3,1) <= b and b <= root(b,1),true],
       [root(a-3,1) < a,root(2*b+9*a-18,1) <= b and b <= root(b,1),true]]

(%i2) (qvpeds ([ex],[a,b,x],1,0,r11,0 ),
       qe( bfpcad(ext( '(     -1 <= x and x <= 3 and b = x^3/3 - a*x^2/2 and a > 0   ) )))  );

[fpprec,fpprintprec,%ez,ratepsilon]: [16,30,1.0b-3,1.0b-16] 
x+1 >= 0 and x-3 <= 0 and equal((2*x^3-3*a*x^2-6*b)/6,0) and a > 0 
["and",equal((2*x^3-3*a*x^2-6*b)/6,0),x-3 <= 0,x+1 >= 0,a > 0] 
[[x-3],[x+1],[2*x^3-3*a*x^2-6*b]] 
[[b],[2*b+9*a-18],[6*b+3*a+2],[6*b+a^3]] 
[[a-3,a-2,a,a+1,a+6,3*a-7,3*a+2],[b,2*b+9*a-18,6*b+3*a+2,6*b+a^3],
 [x-3,x+1,2*x^3-3*a*x^2-6*b]]
  
common-roots: 0.0b0 0.0b0 
dist: 0.0b0 
common-roots: -1.333333333333333b0 -1.333333333333333b0 
dist: 0.0b0 
common-roots: -1.5b0 -1.5b0 
dist: 0.0b0 
common-roots: -4.5b0 -4.5b0 
dist: 0.0b0 
common-roots: -1.0b0 -1.0b0 
dist: 0.0b0 
1 multi-roots: 9.999999999999999b-1-3.469517903370656b-17*%i 
 3.469446951953614b-17*%i+1.0b0 [2*x^3-3*a*x^2-6*b,2*x^3-3.0b0*x^2+1.0b0] 
dist: 1.309231643767475b-16 
1 multi-roots: 0.0b0 0.0b0 [2*x^3-3*a*x^2-6*b,2*x^3-3.0b0*x^2] 
dist: 0.0b0 
common-roots: 3.0b0 3.0b0 
dist: 0.0b0 
1 multi-roots: 6.938893903907228b-17*%i+2.0b0 2.0b0-6.939035806741312b-17*%i 
 [2*x^3-3*a*x^2-6*b,2*x^3-6*x^2+8] 
dist: 2.61846328753495b-16 
common-roots: -1.0b0 -1.0b0 
dist: 0.0b0 
1 multi-roots: 0.0b0 0.0b0 [2*x^3-3*a*x^2-6*b,2*x^3-6*x^2] 
dist: 0.0b0 
common-roots: 3.0b0 3.0b0 
dist: 0.0b0 
1 multi-roots: 2.166666666666667b0-4.163490115220211b-17*%i 
 4.163336342344337b-17*%i+2.166666666666667b0 
 [2*x^3-3*a*x^2-6*b,2*x^3-6.5b0*x^2+1.01712962962963b1] 
dist: 1.861907491918325b-16 
common-roots: -1.0b0 -1.0b0 
dist: 0.0b0 
common-roots: 3.0b0 3.0b0 
dist: 0.0b0 
1 multi-roots: 0.0b0 0.0b0 [2*x^3-3*a*x^2-6*b,2*x^3-6.5b0*x^2] 
dist: 0.0b0 
1 multi-roots: 2.333333333333333b0-5.551280766043446b-17*%i 
 5.551115123125783b-17*%i+2.333333333333334b0 
 [2*x^3-3*a*x^2-6*b,2*x^3-7*x^2+1.27037037037037b1] 
dist: 1.171009175116753b-15 
common-roots: 3.0b0 3.0b0 
dist: 0.0b0 
common-roots: -1.0b0 -1.0b0 
dist: 0.0b0 
1 multi-roots: 0.0b0 0.0b0 [2*x^3-3*a*x^2-6*b,2*x^3-7*x^2] 
dist: 0.0b0 
1 multi-roots: 1.387778780781446b-17*%i+2.666666666666667b0 
 2.666666666666667b0-1.387968122423659b-17*%i 
 [2*x^3-3*a*x^2-6*b,2*x^3-8.0b0*x^2+1.896296296296296b1] 
dist: 1.144396291987333b-16 
common-roots: 3.0b0 3.0b0 
dist: 0.0b0 
common-roots: -1.0b0 -1.0b0 
dist: 0.0b0 
1 multi-roots: 0.0b0 0.0b0 [2*x^3-3*a*x^2-6*b,2*x^3-8.0b0*x^2] 
dist: 0.0b0 
1 multi-roots: 3.0b0-4.163336342344337b-17*%i 4.163123343336605b-17*%i+3.0b0 
 [2*x^3-3*a*x^2-6*b,2*x^3-9*x^2+27] 
dist: 2.371429941323172b-16 
common-roots: 3.0b0 3.0b0 
dist: 0.0b0 
common-roots: -1.0b0 -1.0b0 
dist: 0.0b0 
1 multi-roots: 0.0b0 0.0b0 [2*x^3-3*a*x^2-6*b,2*x^3-9*x^2] 
dist: 0.0b0 
1 multi-roots: 5.550866638069772b-17*%i+3.5b0 3.5b0-5.551115123125783b-17*%i 
 [2*x^3-3*a*x^2-6*b,2*x^3-1.05b1*x^2+4.2875b1] 
dist: 5.661043993863231b-16 
common-roots: 3.0b0 3.0b0 
dist: 5.551115123125783b-17 
common-roots: -1.0b0 -1.0b0 
dist: 0.0b0 
1 multi-roots: 0.0b0 0.0b0 [2*x^3-3*a*x^2-6*b,2*x^3-1.05b1*x^2] 
dist: 0.0b0 
[T,F]: [39,253] 
Evaluation took 2.5500 seconds (2.5600 elapsed) using 169.662 MB.
(%o2) [[root(a,1) < a and a < root(a-2,1),
        root(6*b+3*a+2,1) <= b and b <= root(2*b+9*a-18,1),true],
       [a = root(a-2,1),root(6*b+a^3,1) <= b and b <= root(2*b+9*a-18,1),
        true],
       [root(a-2,1) < a and a <= root(a-3,1),
        root(6*b+a^3,1) <= b and b <= root(b,1),true],
       [root(a-3,1) < a,root(2*b+9*a-18,1) <= b and b <= root(b,1),true]]

projection set に対する数値解の誤差(その2)

...とは言え,sep の評価なしでは,いくら R を小さくしても,前回の冒頭で述べたように,近接根に対応した数値解をカウントしてしまう可能性を排除出来ないかのように見えます.

しかし,我々が扱うのは一般の系ではなく,CAD の projection set であり,特に pscs を含む Collins-Hong タイプの projection(定義は,例えば,D.Wilson. Advances in Cylindrical Algebraic Decomposition の 2.3.1 Collins’Algorithm,2.4.1 Alternative Projection Operators をご参照ください)を利用すれば,sep の情報なしに,重根に対応した数値解全体のみを正確にカウントすることが出来ます.以下,そのことをお話しましょう.

まず,pscs(principal subresultant coefficient sequence)とは,多項式 f(x), g(x) に対して,それらの Sylvester 行列

syl(f1,f2,v):=block([d1:hipow(f1,v),d2:hipow(f2,v),c1,c2,z0,i,k],
           c1:makelist(coeff(f1,v,i),i,d1,0,-1),
           c2:makelist(coeff(f2,v,i),i,d2,0,-1),z0:makelist(0,d1+d2),
           [makelist(firstn(append(firstn(z0,k-1),c1,z0),d1+d2),k,d2),
            makelist(firstn(append(firstn(z0,k-1),c2,z0),d1+d2),k,d1)])$

の一部を除いた行列の行列式の列(普通の resultant はその初項です)

pscs(f01,f02,v):=block(
            [uratmx:ratmx,s1,s2,d,d1,d2,f1:expand(f01),f2:expand(f02),j],
            ratmx:on,[s1,s2]:syl(f1,f2,v),d1:hipow(f1,v),d2:hipow(f2,v),
            d:makelist(determinant(apply(matrix,
                                         append(
                                          map(lambda([e],firstn(e,d1+d2-2*j)),
                                              firstn(s1,d2-j)),
                                          map(lambda([e],firstn(e,d1+d2-2*j)),
                                              firstn(s2,d1-j))))),j,0,
                       min(d1,d2)-1),ratmx:uratmx,d)$

のことで

 ( pscs の初項から続く 0 の個数 ) = ( gcd( f(x), g(x) ) の次数 )

という性質(Polynomial greatest common divisor - Wikipedia)を持ちます.例えば,上の(素朴な)コードを読み込んで,実行すると

(%i24) pscs( (x-1) * (x-2) , (x-3) * (x-4), x );
(%o24) [12,-4]

(%i25) pscs( (x-1) * (x-2)^3 * (x-3)^2 ,  (x-2)^2 * (x-3)^3 * (x-4), x );
(%o25) [0,0,0,0,12,-4]

(%i26) factor(pscs( (x-1) * (x-a)^3 * (x-b)^2 ,  (x-a)^2 * (x-b)^3 * (x-4), x ));
(%o26) [0,0,0,0,-3*(a-4)*(b-1)*(b-a),-(b-a+3)]

といった具合になります.

さて,上の性質を g(x) = f'(x) の場合に用いると

 gcd( f(x), f'(x) ) の次数

の値が pscs から特定できる訳ですが,この値が f(x) の

 (重根の個数) - (相異なる重根の個数)

であることは,積の微分公式により簡単に判ります.例で確認してみると

(%i31) pscs( f : (x-1) * (x-2)^3 * (x-3)^5 , diff(f,x) , x );
(%o31) [0,0,0,0,0,0,-60,-38]

のように 8 - 2 = 6 となっています.

ところが,この差は前回の冒頭で述べた方法における,重根に対応する数値解の検出カウントに他なりません.例えば,上の重根 2, 2, 2, 3, 3, 3, 3, 3 に対応した数値解 s1, s2, s3, t1, t2, t3, t4, t5 は
2*R >= | s1 - s2 |, 2*R >= | s2 - s3 |,
2*R >= | t1 - t2 |, 2*R >= | t2 - t3 |, 2*R >= | t3 - t4 |, 2*R >= | t4 - t5 |
として,合計 (3-1) + (5-1) = 6 回カウントされ,もし,検出カウントがこれを超えるなら,そこには近接根に対応する数値解のカウントが含まれているので,R を小さくして retry すれば,有限回で近接根に対応する数値解を排除でき,同時に,カウントの長さを見れば,各重根の重複度(各クラスタに属する数値解の個数)も判る,と言う仕組みです.

近接根の識別

さて,r, R を先の条件を満たすようにとるとして,そも,R をどのように定めるのか?という問題があります.

確かに,数値解の誤差 R の系において,互いの距離が 2*R 以下である数値解を全て集めれば,重根に対する数値解は必ずそれに属します.しかし,互いの距離が 4*R 以下である厳密相異根(近接根)が存在すると,それらに対する数値解もメンバーになるかも知れません.

ここでもし,系における厳密相異根間の距離の最小値(根差)sep の値が判るならば,sep > 4*R を満たすように R をとっておけば,相異根 r1, r2 に対する数値解 s1, s2 間の距離は

 | s2 - s1 | = | (r2 - r1) - (s1 - r1) + (s2 - r2) | >= sep - R - R > 2*R 

のように 2*R より大きくなるので,上記のように集めた数値解全体が,重根に対する数値解全体になります.

では如何にして sep の値を得るかですが,それには resultant を繰り返し用いて1変数化する方法があります.maxima では

(%i7) factor(eliminate([2*c+1,4096*c^3+27*b^4,8*a*c-9*b^2-2*a^3,x^4+a*x^2+b*x+c],[c,b,a]));
Evaluation took 0.0300 seconds (0.0400 elapsed) using 2.309 MB.
(%o7) [33554432*x^8*(2*x^4-27)*(6*x^4-1)^3
               *(186624*x^32+2985984*x^28+40621824*x^24+12082176*x^20
                            +41597280*x^16+64694016*x^12+262151536*x^8
                            -644544*x^4+729)]

のように必要条件を定める多項式が得られ,この実根

 -1.91683..., -0.63894..., 0, 0.63894..., 1.91683...

から,sep >= 0.63894...(実際には c は 0 でないので,1.91683...-0.63894...)と判るので,

 R < 0.63894.../4 = 0.15973...

のようにとっておけば,上記の系の近接根に対する数値解間の距離はカウントされず,原理的には,これをすべての多項式の組合せに対して実行し,最小の sep に対して, R を定めればよいことになります.

...が,一般に,resultant の係数は爆発し,モニター画面が埋まります.

projection set に対する数値解の誤差(その1)

誤差 r の数値解を係数に代入した方程式系の数値解の誤差 R との関係を考えると

・数値解の代入による係数の摂動は Taylor の定理により r 程度.
・係数の摂動 r に対する厳密 n 重根の摂動は同じく r^{1/n} 程度.

なので,例えば,前回の

 4096*c^3+27*b^4(4次), 8*a*c-9*b^2-2*a^3(3次), x^4+a*x^2+b*x+c(4次)

の場合,次数の最大値 4 により,r を最悪でも R^{4} 程度まで小さくすればよく,先の例のように %ez : 1.0b-5 とするならば,fpprec は 25 程度にすればよいことになります.