ぱらぱら めくる『現代の量子力学 量子情報・量子測定を中心として』
- まえがき
- 第1章 隠れた変数の理論と量子力学
- 第2章 二準位系の量子力学
- 第3章 多準位系の量子力学
- 第4章 合成系の量子状態
- 第5章 物理量の相関と量子もつれ
- 第6章 量子操作および時間発展
- 第7章 量子測定
- 第8章 一次元空間の粒子の量子力学
- 第9章 量子調和振動子
- 第10章 磁場中の荷電粒子
- 第11章 粒子の量子的挙動
- 第12章 空間回転と角運動量演算子
- 第13章 三次元球対称ポテンシャル問題
- 第14章 量子情報物理学
- 第15章 なぜ自然は「量子力学」を選んだのだろうか
まえがき
- 「情報理論の観点からの最小限の実験事実に基づいた論理展開」
- 「確率解釈のボルン則や量子的重ね合わせ状態の存在を証明」
- 「情報が書き込まれている量子系に対する物理操作の考察からシュレディンガー方程式を一般的な形で導出」
- 「量子力学は、古典力学に出てくる粒子の位置や運動量の値のように測定以前から存在している物理的実在を扱う理論ではなく」
- 「(量子力学は)物理量の確率分布に基づいた一種の情報理論であると正しく認識させる」
- 「複素数の値をとる波動関数の正体が量子系に関する情報の集まりに過ぎない」
- 「なぜ自然が量子力学の実装を選択したのかについて考察」
- 「本書の理解に必要な主な前提知識は、力学、電磁気学、複素数も取り入れた線形代数および多変数関数の微積分」
- 構成
第1章 隠れた変数の理論と量子力学
第2章 二準位系の量子力学
- 量子状態は、密度行列という表現を持つと考える(もしくは、密度行列によって表現できるようなものが、量子力学で言うところの状態である)
- 密度行列が状態なので、固有値・固有ベクトルは状態に関する大事な情報となる
- また、ブラ・ケット、演算子をサンドイッチする線形代数計算が量子状態に関する情報や期待値・物理量と関係するのは、量子状態が行列表現を持つから
- エルミート行列はこの文脈で、密度行列として振舞うための条件を満足する
- 密度演算子から物理量の観測確率が直接計算できる(ボルン則)ことも、この線形代数計算により導かれる
- ユニタリー行列は空間回転であるが、複素振幅ベクトル(確率密度の状態を持つベクトル)を変化させる行列の条件を満足する
- 量子状態の重ね合わせの係数も物理量の期待値に影響を与え、期待値を大きくしたり小さくしたりする。これが、素朴な「線形結合(の延長)」としての理解と異なること(らしく)、干渉効果と呼ぶ
第3章 多準位系の量子力学
第4章 合成系の量子状態
- 数学的概念であるテンソル積は、物理的に独立な量子系を複数考えるときに、その合成系全体の量子状態を記述するのに役立つ
- 独立な量子系を「独立に」組み合わせること
第5章 物理量の相関と量子もつれ
- 「量子コンピュータなどの様々な量子的デバイスの重要なリソースとなる量子もつれは、古典力学にはなかった物理量の相関の一種である」
- 古典的情報(01二進法情報)をやり取りし、その情報に基づいて局所操作をすることで、2箇所の状態は、独立から有相関状態にできる。これは「古典相関」
- 古典相関は、線形式・テンソル積で表現できる
- 古典相関の式で表現できない「相関」もありえて、それは「量子相関〜量子もつれ」
- 量子もつれがどうやったら作れるか・・・情報のやり取りが古典的ではなく、量子的であるか、局所操作ではない操作をするか、と言うことになろうか・・・
- 状態とその相関は、情報学的にはエントロピー
- したがって量子もつれには、エンタングルメントエントロピーの存在が見えてくる
第6章 量子操作および時間発展
- 「全ての物理操作は必ず対象系と外部系の合成系の状態空間に作用するユニタリー行列で記述できる」
- 「この事実から量子系の時間発展を記述するシュレーディンガー方程式が導かれる」
- 「この時間発展における対称性と保存則」
- アフィン性、トレース保存性、完全正値性、トレース保存完全正値写像(tpcp写像)
- tcpc写像は、ある補助系を使うと、きれいに書けて、「シュタインスプリング表現」できる
- トレース保存完全正値写像は、その線形代数的要請から構成するとごちゃごちゃした式表現になるが、それを簡潔に表しており、また、その写像がシンプルな性質を持つことを示しやすくもしてくれる
- そんなシンプルな性質を表している表現に「クラウス表現」がある
- この表現から、シュレーディンガー方程式が導出される
- そして、固有状態、最小固有値に対応する固有状態=基底状態、エネルギー準位などの概念も出てくる
第7章 量子測定
第8章 一次元空間の粒子の量子力学
第9章 量子調和振動子
第10章 磁場中の荷電粒子
第11章 粒子の量子的挙動
- 自分自身と干渉する
- 電場や磁場に触れずとも感じる
- トンネル効果
- ポテンシャル勾配による反射
- 離散的束縛状態
- 連続準位と離散準位の共存
第13章 三次元球対称ポテンシャル問題
第14章 量子情報物理学
- 複製禁止定理:純粋状態に含まれる情報は特別な場合を除いて複製を作れない。。。量子暗号にも使われている原理
- 量子テレポーテーション:量子もつれさせておけば、量子通信によって何かを送らなくても、遠隔地側の状態変化を起こし、結果として情報を伝えることができる
- 量子計算
- 回路型量子計算
- 測定型量子計算
ぱらぱら めくる『Projective geometry, toric algebra and tropical computations』のIntroduction
Projective geometry, toric algebra and tropical computations
- 代数幾何は連立多項式の零点集合を扱う、求解の話
- トーリック幾何・多様体は代数多様体の特別な部分クラスであって、離散データや凸多面体と関係が深い
- トロピカル幾何は埋め込まれた多様体の組み合わせ的な側面と関係する。そして、埋め込まれた多様体の特定条件下での極限的性質を明らかにする
- 代数統計・代数計算機計算が可能になるにつれ、シンボル演算を用いた計算機的取り組みが現実的な方法となってきている
- 「代数幾何計算機科学」への着目、と言い換えられる
- 「代数幾何計算機科学」において注目されている2つのトピックがある
- その理由は代数多様体全般よりも、組み合わせ論的な特徴を持っていることによって計算がしやすいことにある
- トーリック多様体は解きやすいサブクラスを与える
- トロピカル化は、トーリック多様体でないために解きにくい問題をトーリック多様体にdegenerateしつつ、大事な不変量を維持してくれると言う意味で、両者は関係する
- 具体的にこのペイパーが扱っているのは・・・
代数幾何と量子計算で素数分解
- 具体的な課題として、素数p,qの積がMになるかどうかの判定問題を扱っている
- 自然数p,qを二進法で表すことで、{0,1}の二値制約のある変数のセットによって、満足すべき式を書き下している
- その変数セットをとすると、それらに対して、新たにという制約がある、と考えることで、をイデアルの生成元とする
- また、制約多項式に登場する、なる単項式については、の組み合わせ的に取り扱うことにしている
- 制約式に現れる単項式の中に登場するすべてのペアに対して、追加のをという制約として入れ込む
- このyとxとからなる制約式はいずれも、二項の式で、単項の差になっている。ここから求まるラジカル・イデアルも同様で、トーリックイデアルの特徴をもっている
- これに対して、グレブナー基底を計算してやることで、求める解が「理論的」には得られる
- グレブナー基底では、変数順序を入れて、掃き出し法を適用することにより、の混合生成元のうち、のみでできた「部分グレブナー基底(とそれに対応するイデアル)を求めることができるから
- しかしながら、この方式だと、追加変数 x の個数がどんどん増えてしまうので、このままやるのは得策ではない
- ちなみに、変数 x の個数に応じて量子計算機のビット数が増えてしまうのが、その理由
- どうするか。。。
- 制約多項式を「最適化問題的には同じ」だが、字数が低い多項式に変形する作戦を取る。これをNormal formを取る、という。Normal formを取るにあたり、適当な基底多項式を用いるが、このときグレブナー基底を用いることができる
- また、Normal formを取って、制約式が簡素になっても、変数 x の数が多ければ、量子ビット数負荷は変わらないが、グレブナー基底を参照することで、xの取り換えを行って、現れる x の個数を減らすことができる。特に、トーリックイデアルになっており、この取り換えが容易に進む
- 結局、トーリックイデアルの都合よさ、グレブナー基底の都合よさを用いて、制約を二次の項の差の式のセットに落とせて、しかも、追加した変数 x を含まない y のみの制約も判明し、最適化問題の解にたどり着く
- 実際には、問題設定をこのようにした後、量子回路埋め込み問題でさらに工夫をする必要がある模様だが、その点は、現在の興味の対象外
グレブナー基底で連立多項式を解く、量子計算機でグレブナー基底を探す
https://arxiv.org/pdf/1903.08270.pdf
from sympy import * x,y,z = symbols('x y z') eqs =[x**2 + y**2 + z**2 - 4, x**2 + 2 * y**2 - 5, x*z-1] result = groebner(eqs,x,y,z,order='lex') for eq in list(result): print(eq) print('\n')
- グレブナー基底が以下のように算出される
x + 2*z**3 - 3*z y**2 - z**2 - 1 2*z**4 - 3*z**2 + 1
- これにより、を満足する零点集合がの零点しゅうごうであることがわかる
- sagemathではどうなるか
R = PolynomialRing(ZZ,3,"xyz",order="lex") # 3変数の整数係数多項式環を作る。3変数はx,y,zでlex(辞書式)順序 x,y,z = R.gens() # x,y,zという変数をpython/sagemathで使うときに、作成した環 R の生成変数として指定する eq1 = x^2 + y^2 + z^2 - 4 # イデアルの生成式の1番 eq2 = x^2 + 2 * y^2 - 5 # 同2番 eq3 = x * z -1 # 同3番 I = (eq1,eq2,eq3) * R # イデアル I は、生成式に多項式環の要素すべてをかけたものなので、このようにする B = I.groebner_basis() # イデアルIのグレブナー基底を計算する B
[x + 2*z^3 - 3*z, y^2 - z^2 - 1, 2*z^4 - 3*z^2 + 1]
- これを「見て」みる
- Rを使って、xyzグリッド点を発生し、連立方程式をだいたい満足する点がかさなることを図示し、また、zの値が0.5のときに、3つの方程式が0に近いかどうかを絶対値で表したときの値が、2つの連立方程式でどのような関係になるかを図示する。値は違うが、0に近い(x,y,z=0.5)座標は共有されることがわかる
x <- y <- z <- seq(from=-2,to=2,length=50) xyz <- as.matrix(expand.grid(x,y,z)) v1 <- xyz[,1]^2 + xyz[,2]^2 + xyz[,3]^2 -4 v2 <- xyz[,1]^2 + 2 *xyz[,2]^2 -5 v3 <- xyz[,1] * xyz[,3] -1 V <- v1**2 + v2**2 + v3**2 library(rgl) #plot3d(xyz[which(V.<1),]) #plot3d(xyz[which(v1 < 0.0001),]) v1. <- xyz[,1] + 2 * xyz[,3]^2 -3 * xyz[,3] v2. <- xyz[,2]^2 - xyz[,3]^2 - 1 v3. <- 2 * xyz[,3]^4 - 3 * xyz[,3]^2 + 1 V. <- v1.**2 + v2.**2 + v3.**2 plot(V[which(V<0.5)],V.[which(V<0.5)]) plot3d(xyz[which(V.<0.5),]) spheres3d(xyz[which(V<1),],radius=0.01,color="green")
x <- y <- seq(from=-2,to=2,length=50) xy <- as.matrix(expand.grid(x,y)) z <- 0.5 xyz <- cbind(xy,rep(z,length(xy[,1]))) v1 <- xyz[,1]^2 + xyz[,2]^2 + xyz[,3]^2 -4 v2 <- xyz[,1]^2 + 2 *xyz[,2]^2 -5 v3 <- xyz[,1] * xyz[,3] -1 V <- v1**2 + v2**2 + v3**2 library(rgl) #plot3d(xyz[which(V.<1),]) #plot3d(xyz[which(v1 < 0.0001),]) v1. <- xyz[,1] + 2 * xyz[,3]^2 -3 * xyz[,3] v2. <- xyz[,2]^2 - xyz[,3]^2 - 1 v3. <- 2 * xyz[,3]^4 - 3 * xyz[,3]^2 + 1 V. <- v1.**2 + v2.**2 + v3.**2 plot(V[which(V<0.5)],V.[which(V<0.5)]) plot3d(cbind(xyz[,1:2],V)) spheres3d(cbind(xyz[,1:2],V.),radius=0.1,color="green")
- {0,1}を取る変数があるときに、それを満足する解を探すには、x(x-1)=0を零点集合の満足条件に加えればよい
- sagemathでやってみる
R = PolynomialRing(ZZ,6,"x1,x2,x3,a2,b1,b2",order="lex") x1,x2,x3,a2,b1,b2 = R.gens() eqs = [x1+x2+x3-b1,x1+a2*x2-b2] eqs = eqs + [x*(x-1) for x in [x1,x2,x3]] # 3変数 x1,x2,x3につき xi(xi-1)=0の条件を付与 eqst = tuple(eqs) # リストをタプルにする I = eqst * R B = I.groebner_basis() for eq in list(B): print(str(eq)+",")
-
- グレブナー基底は「変数順序での掃き出し」になっているので、後半には、xi変数は入っていない(最後の7つの式)。これが、を満足する条件の下での、a2,b1,b2の満足条件となる
x1 + x2 + x3 - b1, x2^2 - x2, x2*x3 - x2*b1 + x2*b2 - x3 + b1 - b2, x2*a2 - x2 - x3 + b1 - b2, x2*b1^2 - 3*x2*b1 + 2*x2 - 4*x3*b1 + 4*x3*b2 + 4*x3 + 2*a2*b1^2 - 4*a2*b1*b2 - 2*a2*b1 + 4*a2*b2 + b1^3 - 4*b1^2*b2 - b1^2 + 4*b1*b2^2 + 4*b1*b2 - 4*b2^2, x2*b2^2 + x2*b2 - 2*x2 - 4*x3*b1 + 6*x3*b2 + 2*x3 + 3*a2*b1^2 - 6*a2*b1*b2 - 3*a2*b1 + 6*a2*b2 + 2*b1^3 - 6*b1^2*b2 - 4*b1^2 + 6*b1*b2^2 + 6*b1*b2 + 4*b1 - 7*b2^2 - b2, 2*x2*b2 - 2*x2 + 2*x3*b1 - 4*x3 - b1^2 + 3*b1 - 2*b2, x3^2 - x3, x3*a2 + 2*x3*b1 - 2*x3*b2 - 2*x3 - a2*b1 + a2*b2 - b1^2 + 2*b1*b2 + b1 - b2^2 - b2, x3*b1^2 - x3*b1 - 2*x3*b2 - a2*b1^2 + 2*a2*b1*b2 + a2*b1 - 2*a2*b2 - b1^3 + 2*b1^2*b2 + 2*b1^2 - 2*b1*b2^2 - 2*b1*b2 - b1 + 2*b2^2, 2*x3*b1*b2 - 4*x3*b2 - b1^2*b2 + 3*b1*b2 - 2*b2, 6*x3*b1 - 6*x3*b2 - 6*x3 - 3*a2*b1^2 + 6*a2*b1*b2 + 3*a2*b1 - 6*a2*b2 - 2*b1^3 + 6*b1^2*b2 + 3*b1^2 - 6*b1*b2^2 - 6*b1*b2 - b1 + 6*b2^2, x3*b2^2 - x3*b2 - a2*b2^2 + a2*b2 - b1*b2^2 + b1*b2 + b2^3 - b2, a2^2*b1^2 - 2*a2^2*b1*b2 - a2^2*b1 + 2*a2^2*b2 + a2*b1^2 - 2*a2*b1*b2 - a2*b1 + 4*a2*b2^2 - 2*a2*b2 - 3*b1^2*b2^2 + 3*b1^2*b2 + 2*b1*b2^3 + 9*b1*b2^2 - 11*b1*b2 - 6*b2^3 - 2*b2^2 + 8*b2, a2^2*b2^2 - a2^2*b2 - 2*a2*b2^3 + 3*a2*b2^2 - a2*b2 + b2^4 - 2*b2^3 + b2^2, a2*b1^3 - 3*a2*b1^2 + 2*a2*b1 + b1^3 - 3*b1^2*b2 - 3*b1^2 + 9*b1*b2 + 2*b1 - 6*b2, a2*b1^2*b2 - 3*a2*b1*b2 + 2*a2*b2 - b1^2*b2^2 + b1^2*b2 + 3*b1*b2^2 - 3*b1*b2 - 2*b2^2 + 2*b2, 2*a2*b1*b2^2 - 2*a2*b1*b2 - 4*a2*b2^2 + 4*a2*b2 + b1^2*b2^2 - b1^2*b2 - 2*b1*b2^3 - b1*b2^2 + 3*b1*b2 + 4*b2^3 - 2*b2^2 - 2*b2, b1^4 - 6*b1^3 + 11*b1^2 - 6*b1, b1^3*b2 - 6*b1^2*b2 + 11*b1*b2 - 6*b2,
- ,を満足するような整数zを求め、その最小値を知りたい…
R = PolynomialRing(QQ,5,"y1,y2,y3,y4,z",order="lex") y1,y2,y3,y4,z = R.gens() eqs = [y1+2*y2+3*y3+3*y4-z,y1+y2+2*y3+y4-3] eqs = eqs + [x*(x-1) for x in [y1,y2,y3,y4]] eqst = tuple(eqs) I = eqst * R B = I.groebner_basis() lasteq = B[-1] lasteq Z = var("z") solve(Z^3-15*Z^2+74*Z-120,Z)
[y1 + y3 - 1/2*z^2 + 11/2*z - 16, y2 + y3 + z^2 - 10*z + 23, y3^2 - y3, y3*z - 6*y3 - z + 6, y4 - 1/2*z^2 + 9/2*z - 10, z^3 - 15*z^2 + 74*z - 120] z^3 - 15*z^2 + 74*z - 120 [z == 4, z == 5, z == 6]
-
- なので、満足するzのうち、最小なのは4
- トーリックイデアルのグレブナー基底を探す
- 行列が与えられたとき、これがトーリックイデアルを指定する。Aは配置と呼ばれる
- を考える
- このようなはと、a,bを使って表せる。a,bを整数に取れば、特定の格子点であって、式を満足する点ということになる
- ここで、が、例えば、だったときに、この長さ4のベクトルの正の要素と負の要素を別々に扱って、というような2個の単項式の差の形をとる多項式に対応付けることにする
- このような多項式(が複数あるときに、そ)の零点集合を考えることがトーリックイデアル
- 整数ベクトルはその要素の符号を気にすることで、2個の単項式の差の式を取れることが、トーリックイデアルの特徴である
- 今、このように制約のある多項式集合(イデアル)を、いい感じの生成元多項式のセットに結び付けたい
- グレブナー基底はそういういい感じの生成元多項式のセット
- グレブナー基底は、単項式に順序をつけることで、取られ方が変わる
- 量子計算機では、この探索を、整数格子点最適化問題にして、探索する(らしい)
- 格子点を量子ビット表現して、あるコスト関数を最小にするような格子点を探す問題として求解する
- コスト関数としては、変数(x,y,z,w)に重みをつけることで、単項式の辞書式順序がコストになるようにする。また、量子計算機が計算しやすいように、辞書式順序がコストになるような値を、(x,y,z,w)の重みベクトルに行列を掛けて変換し、その変換してできたベクトルの二乗ノルムをコスト関数とする
- この話が、本記事の冒頭で引用したペイパーの節6の話
- ちなみに、この配置Aにまつわるグレブナー基底をパイソン計算するコードは以下。w,z,y,xの順のグレブナー基底を多項式セットとしてw,z,y,x順でのグレブナー基底を求めると、グレブナー基底そのものが得られるし、その多項式セットに、元のイデアルに含まれる多項式を付け加えても同じこと。x,y,z,wの順のグレブナー基底を求めると、もとの設定が単純だったこともあり、2つの多項式が基底として得られている
from sympy import * x,y,z,w = symbols('x y z w') eqs =[x*z*w - y,y**2*z**2-x**3,x**4*w-y**3*z,z**4*w**2 - x,y*z**3*w -x**2] eqs1 = eqs + [x - z**4 * w**2,y - z**5 * w**3,x * y - z**9 * w**5,y - x*z*w] result = groebner(eqs,w,z,y,x,order='lex') result1 = groebner(eqs1,w,z,y,x,order='lex') for eq in list(result): print(eq) print('\n') print("----") for eq in list(result1): print(eq) print('\n') print("=====") result = groebner(eqs,x,y,z,w,order='lex') result1 = groebner(eqs1,x,y,z,w,order='lex') for eq in list(result): print(eq) print('\n') print("----") for eq in list(result1): print(eq) print('\n')
w**2*z**4 - x w*y*z**3 - x**2 w*x*z - y w*x**4 - y**3*z -x**3 + y**2*z**2 ---- w**2*z**4 - x w*y*z**3 - x**2 w*x*z - y w*x**4 - y**3*z続きを読む
指数型分布族・クロネッカー積・トロピカル化で極限、指数型分布族と射影空間、トロピカル多様体・指数和
- 文献メモ
- Dimension of Marginals of Kronecker Product Models Geometry of hidden-visible products of exponential families
- TROPICAL VARIETIES FOR EXPONENTIAL SUMS
https://www.math.tamu.edu/~rojas/c.pdf
- Exponential Varieties
https://arxiv.org/pdf/1412.6185.pdf
- A geometry on the space of probabilities II. Projective spaces and exponential families
ぱらぱらめくる『トーリックイデアルの20年』
http://www.math.sci.hokudai.ac.jp/sympo/100809/pdf/osugi.pdf
- トーリックイデアルが興味深い対象として挙げられる理由3つ
- 凸多面体の三角形分割が、トーリックイデアルのイニシャルイデアルと対応する(三角形分割には団代数が付随し、そこにはローラン多項式な団変数があるが、トーリックイデアルの構成にもローラン多項式が登場する。コーラン多項式は「多項式環」の仲間ということで、「環」の「部分集合」で「代数的性質をもつもの」。この話にはルート系なども出てくるが、そもそも団代数はルート系の本体のような意味もあり、そういう意味でもつながっている
- トーリックイデアルにはグレブナー基底が取れて、これにより、整数計画問題の解法がもたらされた
- 同じくグレブナー基底をマルコフ基底(空間をうろうろするための一歩の集合)として分割表の取りうる空間をうろうろすることができて、それによって分割表検定のための情報が得られる
- 1 トーリックイデアル
- そもそも、イデアルって…
- 「数」の抽象的な概念なので、なじみの深い「数」における「イデアル」の位置づけを確認する
- 整数全体の集合として「部分集合に z=3の倍数の集合」というようなものが取れる。この部分集合はそれなりに演算に関して閉じている(3の倍数を足し合わせても、相変わらず3の倍数である、とか)。そういういい感じの性質を持った部分集合を考えたい
- z=3の倍数の集合を考えた時、zとして素数を取るのも悪くない発想。なので、イデアルには、「いい感じの取り方・取られ方」があって、それは素数的な意味合いもあるらしい
- 整数全体の部分集合を考えた。そのとき、いい感じの性質・演算で閉じているというものを考えた。その代数的性質が「環」なので、「倍数のようなものの一般化したもの」を作り出すことは、「環」に対して行うのがよい。…とそういうことらしい
- 大きな環としてローラン多項式環 を取る
- その部分多項式集合を構成する種として、特定の単項式の集合, (を取る。ただし、のようにはd次元空間の格子点
- この種となる単項式を自由に決めると、「いい感じの取り方」になっていないので、「制約」が必要
- その制約として、n個のd次元格子点は原点を通らないd次元空間超平面上にあるというものを定める。となる(d次元実ベクトル)が存在する、とも言い換えられる制約である
- このような制約のことを、がの配置であると呼ぶ
- このような制約を持った種になる単項式が構成する多項式集合は semigroup ringになると言う。これをトーリック環と呼ぶ(Aは配置の要素 の集合
- このトーリック環に伴うイデアル、「トーリックイデアル」を定義するにあたり、もう一つ別の多項式環を準備する
- Tを使った多項式環はd変数だったが、トーリック環の構成に用いられた、もう一つの自然数、n(格子点の数n)
を用いて、n変数多項式環考える()
-
- このn変数多項式環の要素をトーリック環の要素に対応付ける。なる関係にする
- n変数多項式環はn変数の多項式の全体であるのに対して、トーリック環の要素は制約を持つ単項式が種となった多項式の集合なので、対応を取るにも1対1対応は取れない。うまく取ると、からへの全射になる。全射なので、の原点に対応するは集合になる(カーネル)。この全射のカーネルのことをAのトーリックイデアルと言う
- 具体例を考える
- ... d = 5, n=6
- 配置であることを確認。w = (0.5,0.5,...,0.5)を取ると、となっている
- また、次元座標を とすれば、Aの6個の列ベクトルはすべてを満足するという意味で、d次元超平面上の点である
- このAに対して、トーリック環 が定まる(Aの第1列ベクトルでは、第1、第3成分がそれぞれ1なのでとなっている)
- このトーリック環のトーリックイデアルがだと言う
- 2 トーリックイデアルのグレブナー基底
- トーリックイデアルは多変数多項式。今、変数に順序を定めることで、単項式にも順序を定めることができる。それを「変数の順序の下での、単項式順序」と言う
- 単項式順序が定まると、多項式の各項にも順序ができる
- イデアルの多項式のそれぞれにも、「一番」の単項式を選ぶことができる。この「一番」単項式(イニシャルな単項式)を集めたものを、イデアルのイニシャルイデアルと言う
- イデアルの部分集合をとったときに、それぞれの要素のイニシャルな単項式を集めたものが、イデアルのイニシャルイデアルになっているとき、そのイデアルの部分集合をグレブナー基底と言う。そしてグレブナー基底はイデアルを生成するのだと言う(ちゃんとイデアルの要素を全部取れば、そのどれかには、このイデアルを構成するための、単項がイニシャル単項式として使われていないとイデアルとしての振る舞いができない、ということの裏返し(だろう))
- 3 凸多面体の三角形分割
- 4 整数計画問題への応用
- 5 分割表の検定への応用
ぱらぱらめくる『Algebraic Statistics, Graduate Studies in Mathematics 194』
- 目次を眺めるとかなりのことがわかる
Chapter 1 Introduction (Discrete Markov Chain)
- 大事なのは、次の対応を理解すること
確率・統計 | 代数・幾何 |
---|---|
確率分布 | 点 |
統計モデル | (Semi)Algebraic set |
離散指数型分布族 | トーリック多様体 |
Conditional Inference | Lattice points in polytopes |
最尤推定 | Polynomial optimization |
モデル選択 | Geometry of singularities |
多変量ガウス分布モデル | Spectrahedral geometry |
系統樹モデル | テンソルネットワーク |
MAP estimates | トロピカル幾何 |
-
- 確率分布 は 点
- 特定の確率質量分布・確率密度分布は情報幾何的に点である。それと同じこと
- 統計モデル は (Semi)-algebraic set
- 例えばm変数の同時分布(全変数が{0,1}を取るような場合には、の場合がある)。そこに、の値が、にのみ依存し、には依存しないというようなモデル(Markov chain model)を考えると、そのモデルには、の場合の確率質量の間に等式(と不等式)が成立することが示せる。これが「モデル」を定めることで「式表現~algebraic」のセットを満足する点の集合が対象になる、という風に言い換えられる
- 離散指数型分布族 は トーリック多様体
- 確率分布 は 点
-
-
- まったくわからないが・・・、多分、離散の場合は、有限個の連立線形不等式になっており、それがトーリック多様体だ、、、ということなのではないか
- 最尤推定 は Polynomial optimization
- Markov chain modelでは、が重要になるが、この(1つ前の変数に条件づいた、条件付確率を、代数式の変数とすれば、確率は多項式になる。したがって、「確率~尤度」の最大化は多項式の最適化と同じ
- しかも、最適化は(偏)微分して0が最尤解。これが連立有理式になり、それが解けることもあるが、解けない場合もある
- "Amazingly a complete, beautiful, yet still mysterious classification of models with rational formulas for maximum likelihood estimates exists and has ermarkable connections to other areas in algebraic geometry" ... Chapter 7
- Real Algebraic Varietyというのは、連立実等式のセット。Semi-real... は連立実等式と連立実不等式のセット・・・多面体になる
- MAP estimates とトロピカル幾何・トロピカル代数
- MAP 推定の中に、言語処理分野(音声を聞いて文字列に直す、とか)がある。その処理では、音素を辺にし、音素列をパスにしたようなグラフを構成し、ある音素列が与えられたときに、合致することを「適切なパス」の存在に対応付ける。そして、その「パスを選ぶ」ことが「対応する文字列」の出力に対応するように作ってある。例えば、"akada"という音素列(アルファベットが音素であるとする)に対して、a-k-a-d-aというパスが存在し、そのパスを通ったら「赤だ」という出力がなされるようなグラフのこと。実際には、同じ音素列を聞いても、どんな文字列が適切かは「選」ばないといけないが、その「選ぶ基準がMAP = Maximum a posteriori esimation」。これは、「最適パス」探索なのだが、この方法の良いところは、WFSTという仕組みがあって、音素列・文字列が長くなっても、グラフ自体を操作して簡約化できたりすることがある。また、このグラフ上で最適パスを見つけるアルゴリズム「Viterbi ビタビ」がある。ただし、ビタビアルゴリズムは優秀な動的計画法アルゴリズムだが、言語処理分野は巨大な探索空間を相手にするので、もっと効率化する必要がある。その効率化に現れるのが、ビタビの「尤度・確率」計算のトロピカル演算化である。トロピカル演算の軽さと、トロピカル演算の最適化問題が探索しやすいこととが、その「キモ」らしい
- WFSTについてはこちら
- ビタビとそのトロピカル演算についてはこちら
- ちなみに、トロピカル化は量子力学を古典力学的に引き戻す作用も持っている。量子力学では状態が複素関数であるところ、それを古典(実関数であり、理想気体のように要素間独立性が仮定できたり、絶対零度のような極限状態などへの近似を含む)にすることで、複素数に特有な「位相」を吹き飛ばすことができる。その位相を吹き飛ばす関数として、のような対数関数が活躍する。トロピカル化では、対数化関数が使われるが、それはそういう話。また、量子力学的な状態を「複素・代数的トーラス」がたくさん集まったもの(かけ合わせて作った、複素高次元トーラス)と見たときに、トロピカル化は、それを実高次元空間に移す関数として働く。また、機械学習の文脈では、(制限)ボルツマンマシンは学習を熱力学的に扱う仕組みだが、そこでもトロピカル化が使われるのは、熱力学~量子力学~そのトロピカル化による古典力学化と言う関係から理解することができる。また、トロピカル化によって、実格子とその上の凸包・整数問題化がなされることともつながる。その点でRBM(制限付きボルツマンマシン)とMAP推定との両方にトロピカル化が出てくることは、納得がいく・・・Geometry in the tropical limit(参考ペイパー(Restricted Boltzmann Machine)
-
Chapter 2 Probability Primer (確率とは、ランダム変数とは…)
Chapter 4 Conditional Independence (CI) (CI models、Primary Decomposition)
Chapter 5 Statistics Primer (統計モデル、データの型、パラメタ推定・仮説検定・ベイズ統計)
Chapter 6 指数型(分布)族 (Exponential families、実代数幾何、代数的指数型(分布)族)
- いわゆる指数型分布族表現を離散確率変数に用いる
- 確率モデルは(r-1)-正単体内部に相当するとみることもできるが、指数型分布族にすると、(r-1)-次元実空間全体と見える
- この空間が確率モデルの族であり、その点が特定の確率モデル
- 確率モデルにおける、観測データの尤度は、離散型確率変数の場合、有理多項式になる。分母は確率質量の総和が1であるとの制約を満足するための式に相当する
- 今、この分母の存在を射影幾何的に考えると、分子は斉次座標系のようなものになる
- この分子の式は、変数の(非負)整数乗の掛け合わせになっており、「単項式」。すべての変数を等倍しても、同じモデルを表しているが、その特徴は、単項式イデアル。トーリックイデアルは、単項式の差によって構成されるイデアルのこと
- トーリックイデアルにグレブナー基底を与えると「よいこと」があり、代数アプリで実装されている