Groebner fanとTropical variety、トロピカル幾何の構成2方法

  • グレブナー基底は単項式順序依存
  • 単項式順序を変えるとグレブナー基底が変わる
  • よく言うグレブナー基底の単項式順序は、変数文字の辞書式順序
  • 今、(例えば)3変数を取り、3変数に値を付与すると、3次元ベクトルが得られる
  • この3変数に与えた値を使って、単項の値を決めると、単項の順序が決まる(ただし、同順位となることもあるので、その場合は、辞書式順序を投入して順序を入れる??)
  • このルールにより、「変数次元の実ベクトル」に対してグレブナー基底が選ばれる
    • (多分)実ベクトルの成分はすべて0以上というような制約を入れるのだと思う…
    • 以下で引用しているスライド(Gröbner bases in tropical geometry, Anders Jensen, Courant Research Center, Mathematisches Institut, Georg-August-Universität Göttingen, Osaka, July 2010)文書に出てくる図を見よう

f:id:ryamada:20210614133819p:plain

    • 正三角形が区分けされており、外周を"Lexicographic"と呼んでいる。三角形の外周は、a=0,b=0,c=0に相当し、0でない2変数の大小が辺の中点で入れ替わる。そのルールで辞書式順序との関連がつくという意味(と思われる)
  • 単項式順序を変えた結果、同じグレブナー基底が得られたら、その単項式順序は(その単項式順序を与えるベクトルは)equivalent
  • この同じグレブナー基底を与える「単項式順序を与えるベクトルたち」をEquivalent と呼び、ベクトルをEquivalent class分けすると、空間がConeのが合わさったものになる。その合わさったものがGroebner fan
  • Groebner fanはトロピカル多様体と関係している
  • それを説明したスライドが:こちら
  • sagemathでGroebner fanをいじってみる
a,b,c = QQ['a,b,c'].gens()
i = ideal(a-b-a*b,a^2+a*b)
g = i.groebner_fan()
g.number_of_reduced_groebner_bases()
g.reduced_groebner_bases()
  • Groebner fan とその計算アルゴリズムに関する大部文書はこちら
  • トロピカル幾何の構成2方法
    • トロピカル幾何では、f(x_1,x_2,...)という関数の値を
      • x \otimes y = x+y; x \oplus y = min(x,y)というトロピカル演算で算出したもの、と説明される→Wikiの記事
    • 別の説明もある
      • f(x_1,x_2,...) = \sum_{i=1}^n a_i \prod_{j=1}^n x_j^{u_{i,j}}という多項式があったときに
      • f_{trop}(\mathbf{x}) = min(sign(a_i)  \mathbf{x}^T \mathbf{u}_i)と、座標と指数ベクトルの内積(に項の符号を乗じたもの)の最小値とする表現も取れる
    • f(x,y) = x^2 + x - yについて、両方の方法で一致を確かめてみる

f:id:ryamada:20210614170023p:plain
f:id:ryamada:20210614170119p:plain

# tropical geometry

x <- y <- seq(from=-3,to=3,length=50)
xy <- as.matrix(expand.grid(x,y))

# f(x,y) = x^2 + x -y

# trop1 
# x \oplus y = min(x,y)
# x \otimes y = x + y

v.trop1 <- rep(0,length(xy[,1]))

for(i in 1:length(v.trop1)){
	v.trop1[i] <- min(2* xy[i,1], xy[i,1], -xy[i,2]) 
}

# trop2
# min((x,y)^T {指数ベクトル})

v.trop2 <- v.trop1

u1 <- c(2,0)
u2 <- c(1,0)
u3 <- c(0,1)
for(i in 1:length(v.trop2)){
	
	v.trop2[i] <- min(sum(xy[i,] * u1),sum(xy[i,] * u2),-sum(xy[i,] * u3))
}

plot(v.trop1,v.trop2)

plot3d(xy[,1],xy[,2],v.trop2)
spheres3d(xy[,1],xy[,2],v.trop1,color=2,radius=0.1)
  • Tropical Vriety
    • 関数fが(曲面的な)hypersurface, V(f),を与えているとき、f_{trop}は、場所によって異なる(フラットな)トロピカルhypersurfaceになっており、全体として凸包(様)となるが、その微分不可能な部分(「最小値」が2つ以上のトロピカル化関数で与えられている点の集合)のことを、Tropical hypersurface of f と呼び、trop(V(f)) と表す
    • イデアル(多項式の部分集合)のトロピカル化は、イデアルの要素多項式のすべてに対応するTropical hypersurface のオーバーラップのこと trop(V(I)) = \bigcap_{f \in I} trop(V(f)) \subset R^n
    • なお、トロピカルhypersurfaceも、2つの構成法での説明が可能
      • 一つは、関数をトロピカル化して、それが与える複数のhyperplaneの交わっているところ、という説明
    • もう一つは、イニシャル形式を使った説明である。ある重みベクトルがあったときに、関数fの複数の項のうち最小の重み値を持つような項を残したものをイニシャル形式という。このイニシャル形式が単項式になるときは、代数多様体のトロピカル化において、ひとつのhyperplaneの上の点。イニシャル形式が複数項式になるときは、トロピカル化された関数で「複数のhyperplaneの交点集合」に対応する。このイニシャルを用いたトロピカルhypersurfaceの説明がこちらに:"computing tropical varieties"
    • トロピカルhypersurface は関数のトロピカル化
    • 複数の関数をトロピカル化してその交点を集めたものがtropical prevariety
    • イデアルをとり、イデアルに属するすべての関数をトロピカル化してhypersurfaceとし、その交わりを取ったものがtropical variety
    • イデアルIのtropical varietyは、(ありがたいことに)(有限個)の関数を定め、そのトロピカル化hypersurfaceの交点集合となることが知られている(らしい)。そのありがたい関数のセットをイデアルIのトロピカル基底と呼ぶ
      • こんな感じ
      • イデアル I ... Iを決める関数セットF → I のトロピカル基底 F' がある → F' のトロピカルhypersurface の交点集合が I のトロピカル多様体(を点集合として表したもの)
      • このトロピカル多様体としての点集合を計算するアルゴリズムを作った、というペイパーがこちら:"computing tropical varieties"