消去法

これを Macaulay2 (M2) に貼り付ける(paste). または名前 09-elim-2.m2 で保存して, M2で
load "09-elim-2.m2"
変数の値は表示されないので, load したあとたとえば J と入力すれば イデアル $I$ から $x$ を消去したイデアル $J={\bf Q}[y] \cap I$ の生成元がわかる.
gens G
でグレブナー基底 G の要素を出力.
r と q は $y^4$ をグレブナー基底 G で reduction (割り算)した商と余り. r2 と q2 は $x (xy-1)$ をグレブナー基底 G で reduction (割り算)した商と余り.
Macaulay 2 のコメントは -- から行末まで.

消去法で toric ideal の生成元を求める

affine toric ideal を定義する行列 $A$ は
$ A = \pmatrix{ 1 & 1 & 1 & 1 \cr 0 & 1 & 3 & 4 \cr} $
コマンド toricGroebner は 4ti2 なる affine toric ideal 専用のアルゴリズムを 組み込んだシステムを呼び出して toric ideal の生成元
$z_2^3-z_1^2 z_3, z_2 z_3-z_1 z_4, -z_1 z_3^2+z_2^2 z_4, z_3^3-z_2 z_4^2$
を求める. 対応する Markov 基底($Ay=b$ を満たす $y \in {\bf Z}_{\geq 0}^4$ をサンプル点とする モンテカルロ法で使う)は
$(0,3,0,0)-(2,0,1), (0,1,1,0)-(1,0,0,1), (1,0,2,0)-(0,2,0,1), (0,0,3,0)-(0,1,0,2)$


似た計算を
$ A = \pmatrix{ 1 & 1 & 1 & 1 \cr 0 & 0 & 1 & 1 \cr 0 & 1 & 0 & 1 \cr} $ の時にやる. この場合は J, J2 は単項生成イデアル.

toric ideal のグレブナー基底で正則三角形分割を求める

三角形分割への翻訳法: P は
$ \langle z_1, z_2 \rangle \cap \langle z_2, z_5 \rangle \cap \langle z_4, z_2 , z_5\rangle $
たとえば集合 $\{1,2\}$ を誤解がなければ $12$ と略. $12345$ (頂点の番号)から $12$ を除くと $345$ (これが三角形). $12345$ から $25$ を除くと $134$ (これも三角形). $12345$ から $425$ を除くと $13$ (これは三角形でないので捨てる). 結局 $345, 134$ が三角形分割となる.
Weights を変更すると三角形分割の形が変わる. 練習: Weights を変更していろんな三角形分割を生成して図示する.

例その2. プリズムの三角形(4面体)分割. P は
$ \langle z_1,z_2\rangle \cap \langle z_2,z_6\rangle \cap \langle z_4,z_6\rangle $ なので, $3456, 1345, 1235$ が三角形分割. 図を書いてみよう.

toric ideal のグレブナー基底で整数計画法

$ \pmatrix{1&1&1&1&1 \cr 10&7&9&1&0\cr} y = \pmatrix{ 57 \cr 57 \cr} $ を満たす $ y \in {\bf Z}_{\geq 0}^5$ で $ -16 y_1 -10 y_2 -11 y_3 $ を最小化 ($ 16 y_1 +10 y_2 +11 y_3 $ を最大化) するものを求める.
ここで $y_4, y_5$ はスラック変数.
ans は $z_1^5 z_2 z_5^{51}$ なので $y=(5,1,0,0,51)$ が解.