計算機実験(中編)

「全然ダメだ。」


Borgwardt 先生のオフィスで、群城はそう断罪された。


机の上には、群城が、群城なりにまとめた発表原稿が置いてある。

先日、C.J. との会話からヒントを得た彼女は、嘘つき問題をグレブナー基底で解く、という方法を思いついた。

本番の発表の前に、アドバイスをもらおうと、授業の先生のオフィスまで来たのだ。


「どうしてダメなんですか!?」


群城は、reject された自分の原稿を見て、間髪を入れずに聞き返す。

そのだいたいの内容は、


§1. グレブナー基底の定義

§2. 消去理論

§3. 消去理論の応用-嘘つき問題を解く-


というのものであった。


「まあそうだな……§1・§2は、特にミスもないし、これでいいだろう。」

「はい。」

「…しかし、問題なのは、この§3だ。」


Borgwardt 先生は、ホチキスで留められた原稿をぺらっとめくって、群城に見せる。


「……君は、『グレブナー基底を使って、連立方程式が解ける。よって、嘘つき問題が解ける』と書いた。」

「それが間違っているんですか?」

「いや間違ってはいない。」

「それではなぜ!?」


群城は、せっかちな性格からか、身を乗り出して質問する。

Borgwardt 先生は、冷静に、群城をなだめる。


「まあ、とりあえず、落ち着いて聞いてくれ。」


Borgwardt 先生は、ドイツ出身の若い先生で、その若さとは裏腹に、腰が据わっている。

少し興奮していた群城も、そんな先生の平静な姿に説得されてか、きちんとイスに座り直した。


「さて、まず、グレブナー基底は計算可能だ。これは、授業でも、君の原稿の§1でも証明してるね?」

「ええ……はい。」

「しかし、これは実際に、グレブナー基底が計算できるのとは、別の話だ。」

「え?」


Borgwardt 先生は、デスクのパソコンをスリープから起こす。


「具体的に見てみよう。」


そして、数式処理システム Maple を起動した。


「実際に、この Maple で、グレブナー基底を計算してみる。」

「授業でも使っていた Maple ですね。」

「ああ。」


メイプル、メイプル、プールプル。

群城は、一瞬、謎のメロディが頭に浮かんだが、なんだったか思い出せなかった。

だが、ストーリーとは関係ないので、気にしないことにした。


Borgwardt 先生は、


with(Groebner)


と入力し、グレブナー基底を計算できるパッケージを読み込んだ。

そして、


Basis({x^7+y^3+z^2-1, x^7+y^5+z^3-1}, plex(x, y, z))


と打ち込んだ。


「これの意味はわかるかな?」

「えっと、3変数の辞書式順序で、」


{x^7+y^3+z^2-1, x^7+y^5+z^3-1}


「のグレブナー基底を計算するってことですよね?」

「Exactly. その通りだ。では、実際に計算してみよう。」


先生が、Enter を押すと、


[y^5-y^3+z^3-z^2, x^7+y^3+z^2-1]


が出てきた。


「計算できてますよね?」

「そうだな。では、次に、少し次数を変えてみよう。」


{x^7+y^3+z^2-1, x^7+y^5+z^3-1}


「の1つ目の式」


x^7+y^3+z^2-1


「の x の次数を2に下げて、」


x^2+y^3+z^2-1


「に変えたもの」


Basis({x^2+y^3+z^2-1, x^7+y^5+z^3-1}, plex(x, y, z))


「を計算してみよう。」

「はい。」


先生が、Enter を押した。


[y^21+7*y^18*z^2+21*y^15*z^4-7*y^18+35*y^12*z^6-42*y^15*z^2+35*y^9*z^8-105*y^12*z^4+21*y^6*z^10+21*y^15-140*y^9*z^6+7*y^3*z^12+105*y^12*z^2-105*y^6*z^8+z^14+210*y^9*z^4-42*y^3*z^10-35*y^12+210*y^6*z^6-7*z^12-140*y^9*z^2+105*y^3*z^8+y^10-210*y^6*z^4+21*z^10+35*y^9-140*y^3*z^6+105*y^6*z^2+2*y^5*z^3-35*z^8+105*y^3*z^4-21*y^6+36*z^6-2*y^5-42*y^3*z^2-21*z^4+7*y^3-2*z^3+7*z^2, -10*y^20*z^14+3*y^19*z^15-85*y^20*z^13+40*y^19*z^14-15*y^18*z^15-64*y^17*z^16+20*y^16*z^17-295*y^20*z^12+187*y^19*z^13-115*y^18*z^14-535*y^17*z^15+255*y^16*z^16-95*y^15*z^17-171*y^14*z^18+56*y^13*z^19-560*y^20*z^11+460*y^19*z^12-370*y^18*z^13-1760*y^17*z^14+1140*y^16*z^15-720*y^15*z^16-1405*y^14*z^17+680*y^13*z^18-251*y^12*z^19-244*y^11*z^20+84*y^10*z^21-650*y^20*z^10+693*y^19*z^11-640*y^18*z^12-2826*y^17*z^13+2520*y^16*z^14-2190*y^15*z^15-4359*y^14*z^16+2887*y^13*z^17-1880*y^12*z^18-1970*y^11*z^19+970*y^10*z^20-354*y^9*z^21-196*y^8*z^22+71*y^7*z^23-530*y^20*z^9+666*y^19*z^10-580*y^18*z^11-1839*y^17*z^12+2870*y^16*z^13-3125*y^15*z^14-5574*y^14*z^15+5585*y^13*z^16-5380*y^12*z^17-5732*y^11*z^18+3884*y^10*z^19-2620*y^9*z^20-1555*y^8*z^21+780*y^7*z^22-281*y^6*z^23-84*y^5*z^24+32*y^4*z^25-450*y^20*z^8+330*y^19*z^9-130*y^18*z^10+737*y^17*z^11+890*y^16*z^12-905*y^15*z^13+754*y^14*z^14+3719*y^13*z^15-5848*y^12*z^16-5216*y^11*z^17+6320*y^10*z^18-7016*y^9*z^19-4217*y^8*z^20+2925*y^7*z^21-2055*y^6*z^22-655*y^5*z^23+335*y^4*z^24-119*y^3*z^25-15*y^2*z^26+6*y*z^27-450*y^20*z^7-176*y^19*z^8+185*y^18*z^9+1621*y^17*z^10-2495*y^16*z^11+3805*y^15*z^12+10322*y^14*z^13-4953*y^13*z^14+4349*y^12*z^15+8382*y^11*z^16+48*y^10*z^17-4922*y^9*z^18-2064*y^8*z^19+3750*y^7*z^20-5118*y^6*z^21-1644*y^5*z^22+1168*y^4*z^23-860*y^3*z^24-115*y^2*z^25+60*y*z^26-21*z^27-180*y^20*z^6-536*y^19*z^7-105*y^18*z^8+364*y^17*z^9-5230*y^16*z^10+5245*y^15*z^11+8810*y^14*z^12-13463*y^13*z^13+19238*y^12*z^14+22944*y^11*z^15-15082*y^10*z^16+14816*y^9*z^17+11976*y^8*z^18-3859*y^7*z^19-1328*y^6*z^20-6*y^5*z^21+1040*y^4*z^22-1978*y^3*z^23-265*y^2*z^24+193*y*z^25-150*z^26+470*y^20*z^5-353*y^19*z^6-615*y^18*z^7+1167*y^17*z^8-5440*y^16*z^9-25*y^15*z^10-3142*y^14*z^11-14321*y^13*z^12+16028*y^12*z^13+9334*y^11*z^14-21598*y^10*z^15+35894*y^9*z^16+22190*y^8*z^17-16588*y^7*z^18+17998*y^6*z^19+7117*y^5*z^20-3178*y^4*z^21+503*y^3*z^22+150*y^2*z^23+85*y*z^24-316*z^25+x*z^23+1010*y^20*z^4+360*y^19*z^5-525*y^18*z^6+5363*y^17*z^7-1435*y^16*z^8-5950*y^15*z^9-3936*y^14*z^10-7006*y^13*z^11-12388*y^12*z^12-23596*y^11*z^13-9252*y^10*z^14+14666*y^9*z^15-1882*y^8*z^16-13924*y^7*z^17+32224*y^6*z^18+9971*y^5*z^19-8196*y^4*z^20+9989*y^3*z^21+1580*y^2*z^22-813*y*z^23+272*z^24+4*x*z^22+980*y^20*z^3+975*y^19*z^4+250*y^18*z^5+7559*y^17*z^6+5260*y^16*z^7-3860*y^15*z^8+12156*y^14*z^9+8430*y^13*z^10-33295*y^12*z^11-21544*y^11*z^12+8948*y^10*z^13-49314*y^9*z^14-41107*y^8*z^15+8120*y^7*z^16-2475*y^6*z^17-7327*y^5*z^18-2455*y^4*z^19+13913*y^3*z^20+1670*y^2*z^21-1513*y*z^22+2133*z^23-5*x*z^21+550*y^20*z^2+975*y^19*z^3+940*y^18*z^4+3710*y^17*z^5+8380*y^16*z^6+4595*y^15*z^7+18448*y^14*z^8+26274*y^13*z^9-13087*y^12*z^10+23272*y^11*z^11+26114*y^10*z^12-74727*y^9*z^13-25662*y^8*z^14+21584*y^7*z^15-71791*y^6*z^16-28501*y^5*z^17+11786*y^4*z^18-9947*y^3*z^19-2850*y^2*z^20+509*y*z^21+2280*z^22-55*x*z^20+175*y^20*z+550*y^19*z^2+970*y^18*z^3-2315*y^17*z^4+4335*y^16*z^5+9095*y^15*z^6-1602*y^14*z^7+26210*y^13*z^8+27770*y^12*z^9+38076*y^11*z^10+41970*y^10*z^11-2241*y^9*z^12+42624*y^8*z^13+19114*y^7*z^14-73402*y^6*z^15-9460*y^5*z^16+12306*y^4*z^17-45716*y^3*z^18-7030*y^2*z^19+3681*y*z^20-3774*z^21-76*x*z^19+25*y^20+175*y^19*z+550*y^18*z^2-4670*y^17*z^3-2105*y^16*z^4+4960*y^15*z^5-24246*y^14*z^6-162*y^13*z^7+37042*y^12*z^8-13512*y^11*z^9+27720*y^10*z^10+90900*y^9*z^11+56115*y^8*z^12+21523*y^7*z^13+40897*y^6*z^14+39290*y^5*z^15-957*y^4*z^16-30083*y^3*z^17-10*y^2*z^18+1774*y*z^19-10759*z^20+176*x*z^18+25*y^19+175*y^18*z-3125*y^17*z^2-4640*y^16*z^3-1895*y^15*z^4-22030*y^14*z^5-25806*y^13*z^6+4633*y^12*z^7-59516*y^11*z^8-30354*y^10*z^9+78566*y^9*z^10-24963*y^8*z^11+8149*y^7*z^12+140777*y^6*z^13+38133*y^5*z^14-897*y^4*z^15+50893*y^3*z^16+12890*y^2*z^17-3434*y*z^18-3369*z^19+649*x*z^17+25*y^18-1050*y^17*z-3125*y^16*z^2-4610*y^15*z^3-3050*y^14*z^4-23505*y^13*z^5-26726*y^12*z^6-32542*y^11*z^7-70224*y^10*z^8-27478*y^9*z^9-81462*y^8*z^10-47336*y^7*z^11+72764*y^6*z^12-30224*y^5*z^13+2470*y^4*z^14+95632*y^3*z^15+8705*y^2*z^16-1664*y*z^17+17697*z^18+421*x*z^16-150*y^17-1050*y^16*z-3125*y^15*z^2+8650*y^14*z^3-3575*y^13*z^4-24980*y^12*z^5+25844*y^11*z^6-35552*y^10*z^7-90872*y^9*z^8-22665*y^8*z^9-76916*y^7*z^10-93085*y^6*z^11-64484*y^5*z^12-22748*y^4*z^13+15937*y^3*z^14-13645*y^2*z^15+3584*y*z^16+22513*z^17-1193*x*z^15-150*y^16-1050*y^15*z+7375*y^14*z^2+8575*y^13*z^3-4100*y^12*z^4+41620*y^11*z^5+27334*y^10*z^6-46952*y^9*z^7+63539*y^8*z^8-11852*y^7*z^9-141611*y^6*z^10-3785*y^5*z^11-39260*y^4*z^12-101966*y^3*z^13-20265*y^2*z^14-1807*y*z^15-7095*z^16-2609*x*z^14-150*y^15+2625*y^14*z+7375*y^13*z^2+8500*y^12*z^3+15150*y^11*z^4+43470*y^10*z^5+27124*y^9*z^6+59822*y^8*z^7+71072*y^7*z^8-24152*y^6*z^9+62606*y^5*z^10+6483*y^4*z^11-97040*y^3*z^12+4020*y^2*z^13-8993*y*z^14-36684*z^15-1307*x*z^13+375*y^14+2625*y^13*z+7375*y^12*z^2-7500*y^11*z^3+15850*y^10*z^4+45790*y^9*z^5-5299*y^8*z^6+62453*y^7*z^7+89241*y^6*z^8+39884*y^5*z^9+59421*y^4*z^10+24840*y^3*z^11+24045*y^2*z^12+1950*y*z^13-20780*z^14+1942*x*z^12+375*y^13+2625*y^12*z-9250*y^11*z^2-7400*y^10*z^3+17560*y^9*z^4-36470*y^8*z^5-6196*y^7*z^6+73906*y^6*z^7-26005*y^5*z^8+35610*y^4*z^9+98442*y^3*z^10+9655*y^2*z^11+16326*y*z^12+23872*z^13+3351*x*z^11+375*y^12-3500*y^11*z-9250*y^10*z^2-6320*y^9*z^3-18175*y^8*z^4-37880*y^7*z^5-5402*y^6*z^6-41809*y^5*z^7-27371*y^4*z^8+45633*y^3*z^9-15410*y^2*z^10+5971*y*z^11+37210*z^12+1554*x*z^10-500*y^11-3500*y^10*z-8700*y^9*z^2+3575*y^8*z^3-18735*y^7*z^4-39290*y^6*z^5-8287*y^5*z^6-40456*y^4*z^7-36364*y^3*z^8-15455*y^2*z^9-15319*y*z^10+4831*z^11-768*x*z^9-500*y^10-3325*y^9*z+7050*y^8*z^2+3495*y^7*z^3-19295*y^6*z^4+15580*y^5*z^5-6058*y^4*z^6-46766*y^3*z^7+2800*y^2*z^8-14608*y*z^9-25462*z^10-1310*x*z^8-475*y^9+2800*y^8*z+7050*y^7*z^2+3415*y^6*z^3+11435*y^5*z^4+16115*y^4*z^5-6743*y^3*z^6+11225*y^2*z^7+3602*y*z^8-18955*z^9-650*x*z^7+400*y^8+2800*y^7*z+7050*y^6*z^2+1130*y^5*z^3+9940*y^4*z^4+16710*y^3*z^5+4835*y^2*z^6+11820*y*z^7+4507*z^8-125*x*z^6+400*y^7+2800*y^6*z-1875*y^5*z^2-755*y^4*z^3+10185*y^3*z^4-2190*y^2*z^5+5070*y*z^6+13065*z^7+400*y^6-875*y^5*z-2975*y^4*z^2-720*y^3*z^3-2975*y^2*z^4-2155*y*z^5+5430*z^6-125*y^5-1225*y^4*z-2975*y^3*z^2-1175*y^2*z^3-2975*y*z^4-2120*z^5-175*y^4-1225*y^3*z-175*y^2*z^2-1175*y*z^3-2975*z^4-175*y^3-175*y*z^2-1175*z^3-175*z^2, 2053780*y^20*z^13-616134*y^19*z^14+16425620*y^20*z^12-7905667*y^19*z^13+3080670*y^18*z^14+13144192*y^17*z^15-4107560*y^16*z^16+52198185*y^20*z^11-34393499*y^19*z^12+22071205*y^18*z^13+103275566*y^17*z^14-50308370*y^16*z^15+19510910*y^15*z^16+35119638*y^14*z^17-11501168*y^13*z^18+87730640*y^20*z^10-76679484*y^19*z^11+64696760*y^18*z^12+308708359*y^17*z^13-208586435*y^16*z^14+138072815*y^15*z^15+270917269*y^14*z^16-133880584*y^13*z^17+51549878*y^12*z^18+50112232*y^11*z^19-17251752*y^10*z^20+86251180*y^20*z^9-101659551*y^19*z^10+97524420*y^18*z^11+418661341*y^17*z^12-409483265*y^16*z^13+379114445*y^15*z^14+756805168*y^14*z^15-524908862*y^13*z^16+360219739*y^12*z^17+379425816*y^11*z^18-190551976*y^10*z^19+72703812*y^9*z^20+40254088*y^8*z^21-14581838*y^7*z^22+60672705*y^20*z^8-81252861*y^19*z^9+66227875*y^18*z^10+148725541*y^17*z^11-370750165*y^16*z^12+442495645*y^15*z^13+747140575*y^14*z^14-874612825*y^13*z^15+920535461*y^12*z^16+983279270*y^11*z^17-700819566*y^10*z^18+501574906*y^9*z^19+299145194*y^8*z^20-152871119*y^7*z^21+57711218*y^6*z^22+17251752*y^5*z^23-6572096*y^4*z^24+57885405*y^20*z^7-21657207*y^19*z^8-11829475*y^18*z^9-248047633*y^17*z^10+26792370*y^16*z^11-59107755*y^15*z^12-575566362*y^14*z^13-291906624*y^13*z^14+715505061*y^12*z^15+552866734*y^11*z^16-933513374*y^10*z^17+1184111082*y^9*z^18+713117617*y^8*z^19-522967391*y^7*z^20+393066359*y^6*z^21+125857906*y^5*z^22-65500798*y^4*z^23+24439982*y^3*z^24+3080670*y^2*z^25-1232268*y*z^26+60869355*y^20*z^6+50515772*y^19*z^7-34581015*y^18*z^8-210067505*y^17*z^9+515737895*y^16*z^10-773951785*y^15*z^11-1865940716*y^14*z^12+1212160455*y^13*z^13-1307234450*y^12*z^14-2057656970*y^11*z^15+502308382*y^10*z^16+383857238*y^9*z^17+46410562*y^8*z^18-497503562*y^7*z^19+849813530*y^6*z^20+273265411*y^5*z^21-206540351*y^4*z^22+164350111*y^3*z^23+22071205*y^2*z^24-11703774*y*z^25+4312938*z^26+3481710*y^20*z^5+84742690*y^19*z^6+40893225*y^18*z^7+49649823*y^17*z^8+806257065*y^16*z^9-675816995*y^15*z^10-818848039*y^14*z^11+2158427567*y^13*z^12-3324193318*y^12*z^13-3696224774*y^11*z^14+2893959620*y^10*z^15-3305230194*y^9*z^16-2524852760*y^8*z^17+1074524237*y^7*z^18-179368502*y^6*z^19-144139643*y^5*z^20-105578881*y^4*z^21+322043993*y^3*z^22+43132070*y^2*z^23-33676600*y*z^24+28640529*z^25-101371130*y^20*z^4+26336052*y^19*z^5+107591580*y^18*z^6-256767468*y^17*z^7+679347715*y^16*z^8+394440725*y^15*z^9+1168578489*y^14*z^10+1770782020*y^13*z^11-1520411259*y^12*z^12+88428372*y^11*z^13+2929960524*y^10*z^14-5713873316*y^9*z^15-3278054497*y^8*z^16+2890090311*y^7*z^17-3655547289*y^6*z^18-1405120683*y^5*z^19+718290351*y^4*z^20-275620179*y^3*z^21-53893345*y^2*z^22+220351*y*z^23+50223769*z^24-205378*x*z^22-155591815*y^20*z^3-91700883*y^19*z^4+50213910*y^18*z^5-980089289*y^17*z^6-89465665*y^16*z^7+1052399160*y^15*z^8+236166468*y^14*z^9+431471906*y^13*z^10+3502684213*y^12*z^11+5006363320*y^11*z^12+245427060*y^10*z^13+87062564*y^9*z^14+2203264353*y^8*z^15+1326063073*y^7*z^16-4752993331*y^6*z^17-1326923141*y^5*z^18+1325464566*y^4*z^19-1931435771*y^3*z^20-299884170*y^2*z^21+168890506*y*z^22-82928275*z^23-718361*x*z^21-116338425*y^20*z^2-154248726*y^19*z^3-82844200*y^18*z^4-1040610448*y^17*z^5-1065382610*y^16*z^6+224501330*y^15*z^7-2707927263*y^14*z^8-2022926281*y^13*z^9+5111331020*y^12*z^10+1826744198*y^11*z^11-2096457104*y^10*z^12+10398838604*y^9*z^13+7503658537*y^8*z^14-2505396790*y^7*z^15+3137226137*y^6*z^16+2262679877*y^5*z^17-211856363*y^4*z^18-1862357911*y^3*z^19-187873040*y^2*z^20+225218651*y*z^21-399219856*z^22+1401543*x*z^20-46284520*y^20*z-116240010*y^19*z^2-152498855*y^18*z^3-178128726*y^17*z^4-1167698460*y^16*z^5-1116589290*y^15*z^6-2413928965*y^14*z^7-4378290040*y^13*z^8-141420531*y^12*z^9-6025491728*y^11*z^10-4268766214*y^10*z^11+10000570586*y^9*z^12+1285674667*y^8*z^13-3203314512*y^7*z^14+13412296317*y^6*z^15+4777250775*y^5*z^16-2388442417*y^4*z^17+3102396919*y^3*z^18+698739025*y^2*z^19-228991377*y*z^20-261166888*z^21+10635964*x*z^19-7994840*y^20-46284520*y^19*z-116240010*y^18*z^2+614251178*y^17*z^3-235802475*y^16*z^4-1299169220*y^15*z^5+1729066037*y^14*z^6-3044550516*y^13*z^7-5894515604*y^12*z^8-4801589762*y^11*z^9-6340466794*y^10*z^10-5250473941*y^9*z^11-9852599981*y^8*z^12-2123815276*y^7*z^13+8030505454*y^6*z^14-635914427*y^5*z^15-1286082055*y^4*z^16+7916284185*y^3*z^17+1099336025*y^2*z^18-652659294*y*z^19+931408625*z^20+10157930*x*z^18-7994840*y^19-46350130*y^18*z+642088540*y^17*z^2+606264815*y^16*z^3-288857280*y^15*z^4+4211944484*y^14*z^5+1813826892*y^13*z^6-4531341192*y^12*z^7+5625182950*y^11*z^8-2270530390*y^10*z^9-16475407006*y^9*z^10-6498191324*y^8*z^11-3199560950*y^7*z^12-13261063401*y^6*z^13-8021573617*y^5*z^14+997261373*y^4*z^15+1955893757*y^3*z^16-600911460*y^2*z^17-16502284*y*z^18+1751225223*z^19-41935473*x*z^17-7962035*y^18+277728990*y^17*z+641541790*y^16*z^2+595444100*y^15*z^3+2243399859*y^14*z^4+4504825293*y^13*z^5+1703498903*y^12*z^6+9577460736*y^11*z^7+7720321448*y^10*z^8-7308748614*y^9*z^9+9069701926*y^8*z^10+8996226*y^7*z^11-22504417967*y^6*z^12-3657554797*y^5*z^13-283610566*y^4*z^14-11899060604*y^3*z^15-2404509935*y^2*z^16+752453071*y*z^17-255551601*z^18-112695091*x*z^16+47958105*y^17+277641510*y^16*z+641607400*y^15*z^2-737271502*y^14*z^3+2386955469*y^13*z^4+4803392302*y^12*z^5+1395522058*y^11*z^6+10574623376*y^10*z^7+10278493033*y^9*z^8+12383323171*y^8*z^9+9903991298*y^7*z^10-2598433051*y^6*z^11+8563126600*y^5*z^12-456913811*y^4*z^13-13628522109*y^3*z^14-516436885*y^2*z^15-49234194*y*z^16-3604091496*z^17-26835860*x*z^15+48001845*y^16+278166390*y^15*z-1465388195*y^14*z^2-717868747*y^13*z^3+2519291769*y^12*z^4-6511097704*y^11*z^5+1432470028*y^10*z^6+13631879481*y^9*z^7-2304023210*y^8*z^8+10763531704*y^7*z^9+21621742623*y^6*z^10+9007896972*y^5*z^11+4951806846*y^4*z^12+4401864263*y^3*z^13+3209104140*y^2*z^14-761619848*y*z^15-2759631451*z^16+265210071*x*z^14+47739405*y^15-694420890*y^14*z-1464010385*y^13*z^2-689477422*y^12*z^3-5164867706*y^11*z^4-6869483760*y^10*z^5+1989390419*y^9*z^6-12498693463*y^8*z^7-3641647470*y^7*z^8+17924804225*y^6*z^9-4390912888*y^5*z^10+5602482011*y^4*z^11+19379498779*y^3*z^12+2531911980*y^2*z^13+775096136*y*z^14+3077633183*z^15+402108902*x*z^13-119846055*y^14-693874140*y^13*z-1464546200*y^12*z^2-81764432*y^11*z^3-5355713856*y^10*z^4-7222288586*y^9*z^5-5588279661*y^8*z^6-13279094909*y^7*z^7-5490954623*y^6*z^8-11052240969*y^5*z^9-4498212286*y^4*z^10+9622139640*y^3*z^11-2320834800*y^2*z^12+1507377694*y*z^13+6094893164*z^14+48161893*x*z^12-120119430*y^13-695623740*y^12*z+1767523360*y^11*z^2-105936202*y^10*z^3-5633190756*y^9*z^4+4641578650*y^8*z^5-5690159716*y^7*z^6-16268039036*y^6*z^7-2156768156*y^5*z^8-10216694146*y^4*z^9-11102561400*y^3*z^10-3868484760*y^2*z^11-1229509127*y*z^12+945222127*z^13-444367431*x*z^11-119244630*y^12+926084060*y^11*z+1765292620*y^10*z^2-302320987*y^9*z^3+5244488511*y^8*z^4+4912050912*y^7*z^5-6298943304*y^6*z^6+7037894447*y^5*z^7-1757756017*y^4*z^8-14857115466*y^3*z^9+167190350*y^2*z^10-2819702414*y*z^11-5711919591*z^12-460002774*x*z^10+159699970*y^11+924771860*y^10*z+1650660055*y^9*z^2+706039027*y^8*z^3+5395905719*y^7*z^4+5168082413*y^6*z^5+4948254576*y^5*z^6+7079547802*y^4*z^7-1003404552*y^3*z^8+3280158505*y^2*z^9+308187852*y*z^10-4706174218*z^11-58177242*x*z^9+160356070*y^10+881549140*y^9*z-1302289945*y^8*z^2+723604973*y^7*z^3+5537717623*y^6*z^4-1266413054*y^5*z^5+4644649460*y^4*z^6+8677319791*y^3*z^7+1430921175*y^2*z^8+3151570405*y*z^9+1759840516*z^10+207669351*x*z^8+150830330*y^9-741033460*y^8*z-1299873310*y^7*z^2+759193986*y^6*z^3-2716533282*y^5*z^4-1573868043*y^4*z^5+5008009050*y^3*z^6-1497279970*y^2*z^7+1332507710*y*z^8+4526410814*z^9+159668057*x*z^7-127676870*y^8-739568170*y^7*z-1302508645*y^6*z^2-813385829*y^5*z^3-2653875863*y^4*z^4-1674628114*y^3*z^5-1570968420*y^2*z^6-1607355228*y*z^7+1411371258*z^8+39923899*x*z^6-128409515*y^7-742433140*y^6*z+302496020*y^5*z^2-521158806*y^4*z^3-2717090803*y^3*z^4-82606520*y^2*z^5-1635510327*y*z^6-1879307413*z^7+10935*x*z^5-126977030*y^6+231641300*y^5*z+533499815*y^4*z^2-538064026*y^3*z^3+553777075*y^2*z^4-90989001*y*z^5-1734692341*z^6-21870*x*z^4+39864850*y^5+323401150*y^4*z+535216610*y^3*z^2+308526840*y^2*z^3+553569310*y*z^4-104362216*z^5+54675*x*y*z^2+10935*x*z^3+56259125*y^4+324888310*y^3*z+55734245*y^2*z^2+307334925*y*z^3+553339675*z^4-109350*x*y*z-54675*x*z^2+55515545*y^3+56204450*y*z^2+309007980*z^3+54675*x*y+109350*x*z+109350*y*z+55570220*z^2-54675*x-54675*y-109350*z+54675, -478790*y^20*z^13+143637*y^19*z^14-3731215*y^20*z^12+1813610*y^19*z^13-718185*y^18*z^14-3064256*y^17*z^15+957580*y^16*z^16-11449365*y^20*z^11+7660066*y^19*z^12-4998335*y^18*z^13-23448865*y^17*z^14+11532145*y^16*z^15-4548505*y^15*z^16-8187309*y^14*z^17+2681224*y^13*z^18-18433615*y^20*z^10+16469877*y^19*z^11-14125945*y^18*z^12-67452074*y^17*z^13+46354930*y^16*z^14-31257130*y^15*z^15-61481645*y^14*z^16+30662120*y^13*z^17-12017629*y^12*z^18-11682476*y^11*z^19+4021836*y^10*z^20-17250140*y^20*z^9+20964198*y^19*z^10-20275860*y^18*z^11-85833575*y^17*z^12+86999965*y^16*z^13-82404955*y^15*z^14-164604812*y^14*z^15+116341609*y^13*z^16-81516170*y^12*z^17-86062230*y^11*z^18+43599230*y^10*z^19-16949166*y^9*z^20-9384284*y^8*z^21+3399409*y^7*z^22-11936595*y^20*z^8+15903381*y^19*z^9-12406895*y^18*z^10-22443728*y^17*z^11+72451025*y^16*z^12-88987850*y^15*z^13-145826030*y^14*z^14+182806289*y^13*z^15-199029001*y^12*z^16-212694292*y^11*z^17+154826940*y^10*z^18-113460080*y^9*z^19-67817245*y^8*z^20+34942270*y^7*z^21-13453999*y^6*z^22-4021836*y^5*z^23+1532128*y^4*z^24-12108270*y^20*z^7+3217776*y^19*z^8+3885620*y^18*z^9+56692985*y^17*z^10-14655060*y^16*z^11+25552275*y^15*z^12+151153434*y^14*z^13+40174656*y^13*z^14-133093671*y^12*z^15-92818490*y^11*z^16+189800866*y^10*z^17-254393838*y^9*z^18-153234269*y^8*z^19+115079476*y^7*z^20-88879495*y^6*z^21-28517345*y^5*z^22+14956265*y^4*z^23-5697601*y^3*z^24-718185*y^2*z^25+287274*y*z^26-12375525*y^20*z^6-11550418*y^19*z^7+6689160*y^18*z^8+37545160*y^17*z^9-113126065*y^16*z^10+169617590*y^15*z^11+395858845*y^14*z^12-277939251*y^13*z^13+316657873*y^12*z^14+482303044*y^11*z^15-143357042*y^10*z^16-47191204*y^9*z^17+14669185*y^8*z^18+95516359*y^7*z^19-181167883*y^6*z^20-58240730*y^5*z^21+45230314*y^4*z^22-37147790*y^3*z^23-4998335*y^2*z^24+2669640*y*z^25-1005459*z^26+893670*y^20*z^5-17460416*y^19*z^6-10310745*y^18*z^7-14087187*y^17*z^8-167793495*y^16*z^9+127347040*y^15*z^10+126780257*y^14*z^11-447635683*y^13*z^12+704074046*y^12*z^13+761038900*y^11*z^14-633062110*y^10*z^15+760938396*y^9*z^16+574016074*y^8*z^17-260784508*y^7*z^18+71247814*y^6*z^19+43055905*y^5*z^20+16674713*y^4*z^21-68001151*y^3*z^22-9098650*y^2*z^23+7331033*y*z^24-6471000*z^25+22654030*y^20*z^4-3605058*y^19*z^5-22576230*y^18*z^6+64253766*y^17*z^7-133291190*y^16*z^8-104249170*y^15*z^9-268739988*y^14*z^10-346089581*y^13*z^11+241538370*y^12*z^12-131841228*y^11*z^13-571274646*y^10*z^14+1179673168*y^9*z^15+652709135*y^8*z^16-615418869*y^7*z^17+824206851*y^6*z^18+314454552*y^5*z^19-167269203*y^4*z^20+74978646*y^3*z^21+13994300*y^2*z^22-1316981*y*z^23-10477115*z^24+47879*x*z^22+32026925*y^20*z^3+20926728*y^19*z^4-8173770*y^18*z^5+213430225*y^17*z^6+36445115*y^16*z^7-217687995*y^15*z^8+242079*y^14*z^9-61162465*y^13*z^10-813871286*y^12*z^11-1088035412*y^11*z^12+8941980*y^10*z^13-193849462*y^9*z^14-597469398*y^8*z^15-208814276*y^7*z^16+951233558*y^6*z^17+250652455*y^5*z^18-274712826*y^4*z^19+430027261*y^3*z^20+66394500*y^2*z^21-38529566*y*z^22+20921309*z^23+157666*x*z^21+22493640*y^20*z^2+31811937*y^19*z^3+19335020*y^18*z^4+205387133*y^17*z^5+233419660*y^16*z^6-19803475*y^15*z^7+606327138*y^14*z^8+464955668*y^13*z^9-1023151126*y^12*z^10-235001392*y^11*z^11+454148902*y^10*z^12-2303475118*y^9*z^13-1586967446*y^8*z^14+580822160*y^7*z^15-855793912*y^6*z^16-552477988*y^5*z^17+90398119*y^4*z^18+354969566*y^3*z^19+31752955*y^2*z^20-44975257*y*z^21+88060103*z^22-354564*x*z^20+8374070*y^20*z+22449900*y^19*z^2+31494160*y^18*z^3+16449996*y^17*z^4+230765235*y^16*z^5+248976300*y^15*z^6+447779603*y^14*z^7+928009472*y^13*z^8+167115075*y^12*z^9+1365381364*y^11*z^10+916139786*y^10*z^11-1908960199*y^9*z^12-44453816*y^8*z^13+626347002*y^7*z^14-2892400845*y^6*z^15-988118796*y^5*z^16+519302843*y^4*z^17-760294682*y^3*z^18-163976645*y^2*z^19+59229591*y*z^20+45067100*z^21-2394422*x*z^19+1337380*y^20+8385005*y^19*z+22482705*y^18*z^2-134310496*y^17*z^3+26611875*y^16*z^4+256075540*y^15*z^5-442815496*y^14*z^6+561389295*y^13*z^7+1275235120*y^12*z^8+851327386*y^11*z^9+1327870118*y^10*z^10+1423195229*y^9*z^11+2187860725*y^8*z^12+420761129*y^7*z^13-1380892643*y^6*z^14+295580113*y^5*z^15+208940306*y^4*z^16-1671525201*y^3*z^17-221966920*y^2*z^18+137269167*y*z^19-219230722*z^20-1915915*x*z^18+1326445*y^19+8385005*y^18*z-125622050*y^17*z^2-132993595*y^16*z^3+36313755*y^15*z^4-869927281*y^14*z^5-469533669*y^13*z^6+835953825*y^12*z^7-1364762726*y^11*z^8+326368928*y^10*z^9+3448879769*y^9*z^10+1107745129*y^8*z^11+697310659*y^7*z^12+3149200584*y^6*z^13+1740651905*y^5*z^14-233840647*y^4*z^15-190081384*y^3*z^16+170361225*y^2*z^17-17830345*y*z^18-362092065*z^19+9965304*x*z^17+1326445*y^18-50244420*y^17*z-125403350*y^16*z^2-131074540*y^15*z^3-394078239*y^14*z^4-929338329*y^13*z^5-466294144*y^12*z^6-1920866076*y^11*z^7-1773572374*y^10*z^8+1167723960*y^9*z^9-2156218787*y^8*z^10-121664262*y^7*z^11+4562399152*y^6*z^12+549413543*y^5*z^13+117694499*y^4*z^14+2690054689*y^3*z^15+511337860*y^2*z^16-161759420*y*z^17+113266662*z^18+24141041*x*z^16-8024280*y^17-50306385*y^16*z-125600180*y^15*z^2+191142044*y^14*z^3-419051004*y^13*z^4-987309602*y^12*z^5-70251302*y^11*z^6-2108432236*y^10*z^7-2383589351*y^9*z^8-2413938077*y^8*z^9-2231493793*y^7*z^10-24351919*y^6*z^11-1969883780*y^5*z^12+59216653*y^4*z^13+2656508685*y^3*z^14+36663260*y^2*z^15+39253770*y*z^16+791970186*z^17+2258776*x*z^15-7962315*y^16-50320965*y^15*z+290705650*y^14*z^2+187804229*y^13*z^3-443688429*y^12*z^4+1407938150*y^11*z^5-61648040*y^10*z^6-2681031828*y^9*z^7+820743367*y^8*z^8-2083334396*y^7*z^9-4734278865*y^6*z^10-1699087668*y^5*z^11-1148265309*y^4*z^12-1335547558*y^3*z^13-716980125*y^2*z^14+156745321*y*z^15+501189056*z^16-60465612*x*z^14-7947735*y^15+125621985*y^14*z+290253670*y^13*z^2+182920934*y^12*z^3+958732396*y^11*z^4+1481826912*y^10*z^5-140246365*y^9*z^6+2603417216*y^8*z^7+1085219481*y^7*z^8-3329567167*y^6*z^9+1191395078*y^5*z^10-1071977743*y^4*z^11-4091565893*y^3*z^12-454780005*y^2*z^13-204647152*y*z^14-755458450*z^15-81871213*x*z^13+20049765*y^14+125749560*y^13*z+290804065*y^12*z^2-61957976*y^11*z^3+991528836*y^10*z^4+1552803964*y^9*z^5+901517091*y^8*z^6+2755474267*y^7*z^7+1570278322*y^6*z^8+2244864336*y^5*z^9+1165332218*y^4*z^10-1587756225*y^3*z^11+572754975*y^2*z^12-298125434*y*z^13-1245259492*z^14+220579*x*z^12+19922190*y^13+125840685*y^12*z-356518640*y^11*z^2-57548866*y^10*z^3+1047635406*y^9*z^4-1075066592*y^8*z^5+907264964*y^7*z^6+3316966339*y^6*z^7+187440103*y^5*z^8+2083938941*y^4*z^9+2606775180*y^3*z^10+766195515*y^2*z^11+325143856*y*z^12-42809309*z^13+98124669*x*z^11+19831065*y^12-167525140*y^11*z-355950020*y^10*z^2-18750871*y^9*z^3-995177046*y^8*z^4-1131244752*y^7*z^5+998524914*y^6*z^6-1526203327*y^5*z^7+111594506*y^4*z^8+2903430768*y^3*z^9-135917800*y^2*z^10+571838248*y*z^11+1255804458*z^12+89282463*x*z^10-26703860*y^11-167634490*y^10*z-334418660*y^9*z^2-66465314*y^8*z^3-1020921394*y^7*z^4-1182502162*y^6*z^5-884171187*y^5*z^6-1530020423*y^4*z^7-107075094*y^3*z^8-688955180*y^2*z^9-152439420*y*z^10+869052818*z^11+3498885*x*z^9-26594510*y^10-159479120*y^9*z+266587820*y^8*z^2-69927721*y^7*z^3-1048469288*y^6*z^4+349366327*y^5*z^5-814507786*y^4*z^6-1831094201*y^3*z^7-223924035*y^2*z^8-664614812*y*z^9-483170783*z^10-44109096*x*z^8-25038430*y^9+134061665*y^8*z+266095745*y^7*z^2-75599727*y^6*z^3+530098827*y^5*z^4+407418687*y^4*z^5-872009559*y^3*z^6+342650030*y^2*z^7-203181931*y*z^8-917063464*z^9-29934532*x*z^7+21321535*y^8+134079890*y^7*z+267145505*y^6*z^2+128246113*y^5*z^3+509230633*y^4*z^4+428140424*y^3*z^5+295985820*y^2*z^6+365478495*y*z^7-202245087*z^8-6651908*x*z^6+21303310*y^7+134324105*y^6*z-65933275*y^5*z^2+67680252*y^4*z^3+521772998*y^3*z^4-8693720*y^2*z^5+307327656*y*z^6+418051223*z^7+18225*x*y^4*z+21059095*y^6-41899510*y^5*z-110566990*y^4*z^2+70290332*y^3*z^3-112753580*y^2*z^4-7379073*y*z^5+325030529*z^6-18225*x*y^4+14580*x*z^4-6657740*y^5-58636715*y^4*z-111172060*y^3*z^2-56042145*y^2*z^3-112469270*y*z^4-5016853*z^5-14580*x*z^3-9343435*y^4-58793450*y^3*z-9285115*y^2*z^2-55943730*y*z^3-112775450*z^4-9186700*y^3-9361660*y*z^2-56151495*z^3-18225*x*z-9186700*z^2+18225*x+18225*z-18225, y^12+4*y^9*z^2+6*y^6*z^4-4*y^9+4*y^3*z^6-12*y^6*z^2+z^8-12*y^3*z^4+x*y^5+6*y^6-4*z^6+12*y^3*z^2+x*z^3+6*z^4-4*y^3-4*z^2-x+1, y^3+x^2+z^2-1]


「ええええええ!!??」

「驚いたかな。」

「何が起こったんですか!?」

「簡単に言えば、計算が"爆発"してしまったんだよ。」

「爆発?」


群城は、聞きなれない言葉を繰り返す。


「一般に、グレブナー基底は、計算量が膨大だとされる。今やった例のように、単純な2つの多項式からでさえ、大量の複雑な式が出てくる可能性がある。」

「なるほど……」

「式の数がどんどん増えてしまったり、多項式の係数がどんどん大きくなってしまうと、コンピュータでは扱えなくなってしまうことがある。」

「うわあ…」

「…では、」


先生は、新しい式を入力した。


Basis({x^8+y^3+z^2-1,x^7+y^5+z^3-1}, plex(x, y, z))


「最後に、これを計算してみようか。これは、さっきの式の一番目の x の次数を 8 にしたものだ。」

「まさか…」

「それでは、Enter を押そう。」

「ちょ、ちょっと、まだ心の準備が!」


先生は、Enter を押した。


































「…………あれ?」

「はは、何も出ないね。」

「これって?」

「まだ、計算中ってことだね。いつ終わるか分からないけど、必ず終わるってことは、数学的に証明されている。しかし、それは、一時間後か、一日後か、一年後か、もしかしたら、100年後かもしれない。そこまで待ってみるかい?」

「いや、いいです…」

「ははは。」


Borgwardt 先生は、お堅い先生かと思いきや、こういう気さくなところもある。


「言いたかったことは、実際に計算してみなくちゃ分からないってことだ。」


先生は、続ける。


「理論的には、君の言うように、グレブナー基底で、『嘘つき問題』は解けるだろう。しかし、現実的な時間内に、解けるかどうかは、実際に計算してみないと分からない。地球が滅びた後に、『計算できた!』ってなっても意味がないからね。計算機代数学では、この計算量の壁に向き合わなければならない。」


なるほど。

群城は、心の中でそう思った。


「実際に、具体的な問題を、グレブナー基底を計算してみます!

先生、ありがとうございました!!」


そう言って、群城は勢いよく、先生のオフィスを飛び出した。

  • Twitterで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る