分子軌道法　ー　計算代数幾何学からのアプローチ(2)

# 分子軌道法　ー　計算代数幾何学からのアプローチ(2)

##この記事のねらい

グレブナー基底を用いて分子軌道法計算を実行する場合、その多項式型の入力データ・中間出力・最終処理直前の方程式系がどのようなものかを確認することで、どのような処理が行われるかを知る。

## 前回の記事

ここでグレブナー基底を用いた分子軌道計算を紹介した。

https://qiita.com/LordShreeKrishuna/items/9b21638474a7f0b9a243

# どのような方程式を解いたか

変数はLCAOの係数(x,y) エネルギー固有値e 核間距離Rである。

イデアルIは以下の４つの多項式で生成される：

I[1]核間距離

I[2]目的関数の変数xに関する偏微分　

I[3]目的関数の変数yに関する偏微分　

I[3]目的関数の変数eに関する偏微分　

```
I[1]=100R-146
I[2]=-2346x2yR4-2068xy2R4-1037y3R4+14931x2yR3+7964xy2R3+6383y3R3+838yeR4-19416x2yR2+11502xy2R2-9875y3R2-6034yeR3-2072xR4+1799yR4-58794x2yR-94298xy2R-12230y3R+12638yeR2+17534xR3-10588yR3+52284x3+144027x2y+136274xy2+36259y3+5582yeR-60860xR2+6621yR2-40000xe-38186ye+109034xR+75627yR-180794x-153801y
I[3]=-782x3R4-2068x2yR4-3111xy2R4+4977x3R3+7964x2yR3+19149xy2R3+838xeR4-6472x3R2+11502x2yR2-29625xy2R2-6034xeR3+1799xR4+374yR4-19598x3R-94298x2yR-36690xy2R+12638xeR2-10588xR3-606yR3+48009x3+136274x2y+108777xy2+30984y3+5582xeR+6621xR2-11754yR2-38186xe-40000ye+75627xR+59812yR-153801x-131452y
I[4]=838xyR4-6034xyR3+12638xyR2+5582xyR-20000x2-38186xy-20000y2+20000
```

上の多項式イデアルIをDegree Reverese Lexicographic Monimial Orderingのグレブナー基底に変換し、以下のイデアルSIを得る。 
```
SI[1]=50R-73
SI[2]=1413996148524434044988754768636312653422613721867634786404889610872227969837613234978308019481896614288073601619xy+378097579882856636637786505835668773995670204314785063210776644320514999286168731326925475679961173352539062500y2-5085368678636127527947201813365272323888659513702838401693463018546326680315996089962741173306933593750000000000e2-10016034650478292621310296714197412011179140732141700860548601475487836966465489527825275036240039062500000000000e-3434041608592875777001685134572646225675376714081829785636200862678389262129813364221113004645243588375000000000
SI[3]=30165251168521259626426768397574669939682426066509542109970978365274196689869082346203904415613794438145570167872x2+22878307919718668173746451909641681820335820343492864881974214202583321529417628774403202272777747500665595656831y2+98008543117204651647924373384567705763843951800949988573469707282484911895043374347261536899615651202059100000000e2+193035554733485605270523555669649416829019882422432843455220537110438399039150669446205647000834688781338600000000e+36017839248497429507963989308109343958769875716780520096904708703612776222150981834850941410368809564473725000000
SI[4]=122721138780471887949659631048250014997604869218349377258126962397270891520704380982315764466016297379306322626782272650465773205550484156837444381051257802718310946125934989538764028487682527802142504898995000000000000000e3-9278947466890114698928282230946562456885282767109842245573141160633952057709072912162500685381156679039844195676492983914208504844189733182413617357650582910576386977991184949663298479121933580385404059263392067138650177y2+348526969454725410536375072443687521640589269083840754106101946831493857472455928760106252090948265469966452882558010837426741071096706169805400029639285052017050214720476400188315619979967211184464761135542045093600000000e2+299733985439700944055838191722371777615295354642072296838470139341089619086794286071598091542273985409376877636403139154834903159434250368832139409604009644415245541505487690278266623135227328135278058099743539888100000000e+91024830149288986730566024051155895781484643187100233233980970189119477337335842059110426431138418896064487377722013819766065007897706504894066726208891870256833142437773114768285383851141990805665902512946600291350000000
SI[5]=30106893964785929528618071536834296790785026297279064246769121724563654629359849055980433243266889361094055750158130412709544547209254038300000000ye2+6583664909804927960142042483648820465759947711129137156857203581590075830594256161932170846019393370201357898224507959442707955399718493462500000xe+40967222459745893250838327139894020557832374730667534960190708063881979897524675237387209389477728291083135849363919673855891254234800060784312322ye+728466234610644910541648858679395126559385662349717980586557272806392771878600145299658768380480367840286483231331757138794432724367043378169732x+11801864134004890045146590987423897234615774945680877622481040309910954423852610242875649306400634224943056174273986768499138286564058109050399231y
SI[6]=1881680872799120595538629471052143549424064143579941515423070107785228414334990565998777077704180585068378484384883150794346534200578377393750000xe2+4352852234527109287401523631231431086463556576921275320146406528909567542903040117906881649897912907223638574098415078365815392535234860661708014xe+2838801409079480521651405320199212960001359002972235857414719823015428323264686333511102311172157194050490478586253997859179027916529204862500000ye+3115374855202277374371283273263096472567262713233165007515713915072656656465280450583549190011517144366298157496340423721190391070875685871723597x+2240933612462673811179054995353715472390438006320714925132947472813299113760568794777411638999875325184781843708345665650835935264773401826784422y
SI[7]=23566602475407234083145912810605210890376895364460579773414826847870466163960220582971800324698276904801226693650000000y2e+19654852510851350284883396760067913571414193005424174584665789287372702901779456523173327071774146936873838114649359991y2+16979186500858739842636346473863269718558168023539050174543884820676634401498222485595955095898029318945312500000000000e2+26188812155829336027355921850146615381645672244526027969574048253467385304213130283548810288457800288410948562500000000e+494354563647213429159428037401847975902530390518919560283369792371935688461700080445502088007117994101489593750000000
SI[8]=5781540237387772420293796342631947248598441y3-12095497793875657799510546519859020237500000xe-28095783799067954908383014109072218274832334ye-24947226095401915776186885544991013988376604x-32289514050178551555645433097897433756282457y
```
イデアルSIをLexicographic Monimial Orderingのグレブナー基底jに変換した。各式にどのように変数が含まれているかに注目する。j[1]はRのみ。j[2]はeのみ。j[3]は(e,y)を含む。j[4]は(e,y,x)を含む。

これは、数値的に解くために極めて都合の良い形状である。以下のように処理すればよい。

j[1]からRを決める。
j[2]からeを決める。
このeをj[3]に代入し、一変数多項式となったj[3]からｙを決める。
（e,y)をj[4]に代入し、一変数多項式となったj[4]からxを決める。

ここで示したイデアルにおいては、「三角形」が頂点から底辺に向かって広がっていくように、変数が、一つ一つ、イデアルを構成する多項式に順に付け加わっていく。

今回示した事例ではLexicographic Monimial Orderingのグレブナー基底を作った段階で「三角化」を達成できた。しかし、一般の場合は、事情はこのように単純ではない。今回は４変数で４つの多項式となり、「三角化」した。しかし、一般にLexicographic Monimial Orderingのグレブナー基底は、変数の総数Nよりも、生成元の数Mが大きくなる。このような場合、もし、方程式の解がそれぞれ点として孤立している場合には、グレブナー基底に準素イデアル分解の処理を適用することで、複数の、より小さい、「三角化」された多項式系を得ることができる。このように分解して得られる多項式系のそれぞれはN変数、N多項式から成るため、数値解を求めるのに好都合である。

```
j[1]=50R-73
j[2]=32546359543271216178862091605537742872887420887698165770838163318696490754022374975761543509164375000000000000e4+119575465263644189351138096742589456255060193220444204800169070713840747197734172645448943227032230836912500000e3+158353137024457940591967205813631695040420534437132637645654790527084521501957059224669246114362091462040018036e2+93171646353491856679075661594311822474033412891478574288098595597371179290477755462593479480356667039526842356e+20184956174764185060363496583769885155604440050707362478725144591794294756662029866524048239070536255895088701
j[3]=9278947466890114698928282230946562456885282767109842245573141160633952057709072912162500685381156679039844195676492983914208504844189733182413617357650582910576386977991184949663298479121933580385404059263392067138650177y2-122721138780471887949659631048250014997604869218349377258126962397270891520704380982315764466016297379306322626782272650465773205550484156837444381051257802718310946125934989538764028487682527802142504898995000000000000000e3-348526969454725410536375072443687521640589269083840754106101946831493857472455928760106252090948265469966452882558010837426741071096706169805400029639285052017050214720476400188315619979967211184464761135542045093600000000e2-299733985439700944055838191722371777615295354642072296838470139341089619086794286071598091542273985409376877636403139154834903159434250368832139409604009644415245541505487690278266623135227328135278058099743539888100000000e-91024830149288986730566024051155895781484643187100233233980970189119477337335842059110426431138418896064487377722013819766065007897706504894066726208891870256833142437773114768285383851141990805665902512946600291350000000
j[4]=1058525828446453039592399496961652634634064684608505450009590387708301295961478001649403812362295045161487370498026569736850561684978164281022904575884033049095868346030375427681823727910876510127545088364294610537186152566071495101401528885392x-3428389204270871165179875481000743999852858778056538052687508407034851449154824202599450013574576610596111675704332930348355671168473599353544435574630051950023013564228889652861554107372884105841201338590296138783573443679272596406375000000000ye3-12216573931889300904453878601917552437824890017854196804329485015951222343846375273022471767273300143501038972856825384097784915796785339554288756271495854528048492041305521684275371407559741189047101352608193512112319663367946872616700755792500ye2-10488364636905783834486525640815502380709305342284827804725119971977540435553703415560677052439252875239027274466702587033152158262671896290336800520884495663233955879433196612298393922858092638673828276786586789475540294624422823255611447924068ye-2067326715803392366744948803835483856741765651449242348927473689278745645553518054952244323818225301947646482003124777250364550196839290943294000933536473350142297230747319190631209070596361596648268245663385621517903506998658859594785143020489y
```

# まとめ
グレブナー基底を使うと、処理の中途で生成されるイデアルは、最初に与えた多項式系よりも複雑化・肥大化する。しかし、式の変形を行い、Lexicographic Monomial Orderingのグレブナー基底に転換し、これをさらに「三角化」した小さい多項式系に分割することで、容易な数値計算が可能になってくる。