三角化のTeichmuller spaceのための基礎

  • https://ryamada.hatenadiary.jp/entry/20200705/1593907656:こちらの記事で、genus 穴のある閉曲面特徴づけとしてTeichmuller spaceの基礎事項をまとめた
  • 今回の記事は、閉曲面の三角メッシュの線の引き具合のTeichmuller spaceを考えるための基礎事項をまとめておく
  • そもそも、閉曲面の三角メッシュがTeichmuller spaceの対象となる、とはどういうことか。。。
    • 三角メッシュは、平面グラフであるから、「ある辺」を連続的に動かしても良いけれど、他の辺と交叉してはいけない、というルールの下で同一視することにすれば、閉曲面上にある数の点をおいた時に、そこに作れる三角メッシュのパターンは、位相的な情報になる
  • 結局、三角化を位相的に捉えてTeichmuller spaceで扱う時に問題とする情報は:
    • 閉曲面のgenus
    • 閉曲面上の点の数
  • 普通の三角メッシュと一般化した三角メッシュ
    • いわゆる三角メッシュは、全ての三角形が、3点を結ぶ3辺があって、凸な形になっているものを言う
    • 三角メッシュでは、2つの三角形の辺を貼り合わせてメッシュ化する
    • いわゆる三角メッシュでは、辺の貼り合わせにあたり、異なる2つの三角形の辺の貼り合わせをする
    • 一般化した三角メッシュでは、一つの三角形の2辺の貼り合わせも許可する
    • これが違い
    • 一般化三角メッシュによって、新たに登場するのは、「1つの三角形の隣り合う2辺を貼り合わせてできる形」である
    • それは、1頂点から出て、その頂点に戻るループと、そのループの内部に1個の頂点とがあり、ループの始点・終点頂点とループ内部頂点とを結んだ形である。自己貼り合わせ三角形とでも呼ぶ形である
    • ある頂点がループをもち、その内部に1頂点がある状態は、その2頂点に辺を引くと、自己張り合わせ三角形ができる。この自己貼り合わせ三角形を作りうる状態を once-punctured monogonと呼ぶ。monogonとは、1角形(頂点数が1で辺数が1の多角形)のことで、その内部にある頂点を「針刺し穴 puncture」と読んでいる
  • Tagged arc
    • once-punctured monogonを切り取るループは、三角化に当たって、特別な扱いをする必要が出てくる
    • このonce-punctured monogonを切り取るループを、ループの始点・終点の頂点から、内部頂点への辺(arc)に対応づけて置き換えることにする
    • こうすることで、一般化三角メッシュで、自己貼り合わせ三角形を含むメッシュであっても、「ループ」を持っていないとみなすことが可能になる
    • しかしながら、このループを普通の辺に置き換えたことによって、この2頂点間には、二つの辺を考慮する必要が生じる
    • 一つはもともとの普通の辺、もう一つは、once-punctured monogonを切り取るループを意味する「見かけ上の辺」
    • 異なる2つは、区別できた方が良いので、ループに対応する方を、tagged arcとする。図示する時には、それとわかる印をつける
    • なお、このonce-punctured monogonを切り取るループを表すtagged arcが大事だが、「そもそもtagged arcと言うものを導入するなら、それの一般化した定義をしておくのもよかろう」と言うことで、tagged arcとは、と言う定義が別途、存在することにも注意
    • そのようなtagged arcの例として、2つのcusp型点を結ぶarcには両端のtag具合により4通りができる([1210.5569] Cluster algebras and triangulated surfaces. Part II: Lambda lengthsのFigure 7を参照)
  • Tagged arc 導入の意義
    • 三角化を考える時に、二つのグラフを用いる
    • 一つは、取りうるあらゆる辺(arc)を頂点としたグラフでArc complexと呼ばれるもの。これは、ある一揃いのarc の部分集合があった時に、ある三角メッシュが出来上がるような時、そのarcの部分集合がクリークになっているようなグラフ
    • もう一つは、arc complexの双対になるもので、Exchange complexと呼ばれるもの。これは、ある三角メッシュがあった時に、そのうちのただ1つのarcを別の特定のarcに入れ替えることで新たな三角メッシュができることを利用して、三角メッシュ同士の移り変わり関係を表したグラフ
    • 今、arcを普通のarcにして、once-punctured monogonを切り取るarcを使ってarc complexを作り、その双対としてのexchange complexを作ると、ちょっと綺麗な関係にならないことが知られている
    • once-punctured monogonを切り取るarcをtagged arcとして、それぞれのcomplexを作ると、対称性の高いグラフ(例えば、exchange complexなら、正則グラフ(全ての頂点の次数が等しいグラフ))になったりする
    • また、この対称性が高いcomplexにできることが、団代数・団変数として取り扱う時に有用であることも、この記事を書いている目的と関係が深いので、あえて触れておく
    • tagged arcsの交換ルールを含め、tagged arcについて図を用いた説明を貼っておく

f:id:ryamada:20200709053458j:plainf:id:ryamada:20200709053512j:plainf:id:ryamada:20200709053525j:plain

  • 三角化と曲面トポロジー
    • 三角化のパターンは、前項で書いたようにtagged arc、自己貼り合わせ三角形を許せば、団代数・団変数と繋がる「良い」形式にできる
    • Teichmuller spaceが由来する曲面トポロジー的には、もう少し複雑になる
    • Teichmuller spaceは定負曲率閉曲面に対して定まったから、閉曲面の三角化パターンも定負曲率閉曲面化したい
    • そのために、閉曲面上の点(三角形)の頂点をそのまま、ただの閉曲面上の点として見ていたのでは、負曲率な曲面にならない
    • 二つの方法がある
      • 一つは、点を、ちゅどーん無限遠に飛ばし、周囲の面を裾野のように引っ張り上げること
      • もう一つは、点を、小さな穴として、その穴上の点に向かって、無限に穴の周囲をぐるぐる周回して到達するものとすること。これにより、辺は無限長になり、そこに現れる計量・曲率を定負値とすることができる
    • 今、点を裾野をもつ山に飛ばす方法をcuspにする、と言い、小さな穴をぐるぐる巻きにする方法をboundaryにすると言う
    • boundaryにした場合、arcのぐるぐる巻きには時計回りと反時計回りとの2通りがあり、それも区別するのが、定負曲率曲面のトポロジー分類風
    • したがって、曲面上に点の数がN個あるときは、cuspにする個数kと、boundaryにする個数N-kとの場合分けがあり、boundaryにする方には2^{N-k}の場合分けが発生する
    • つまり\sum_{i=0}^N \begin{pmatrix} N \\ i \end{pmatrix} 2^{N-i}の場合分けがある
    • Teichmuller spaceでは、これらを全て区別する(こともある)
    • この\sum_{i=0}^N \begin{pmatrix} N \\ i \end{pmatrix} 2^{N-i}は、多次元多面体構造をとり、その全ての単体要素が、個々の場合分けに対応する。例えば、N=3の場合には、正八面体になる。N=3なので3次元空間の多面体担っている。全てがboundaryの場合は、2^3=8通りあり、それが、8つの面に対応する。2つがboundaryで1つがcuspの場合は、boundaryの取り方が3通りで、それの巻き方の場合分けが4通りあることから、全部で12通りある。これは、正八面体の辺の数に相当する。boundaryが1個の場合は、3通りにつき、巻きの向きの2通りで、全部で6通り。これが正八面体の6頂点。最後に、全部がcuspの場合はただ一通りで、これを正八面体の重心〜原点に対応づける。例えば、ある面は3点がboundaryの場合である向きのぐるぐるだが、それにも色々な場合があることが、「面」の至る所が、曲面の様子に対応することからもわかる。そして、この3次元空間上の座標がTeichmuller spaceの座標となっており、それは、genusありの閉曲面に見つけた測地線的半ズボン切断閉曲線の長さから得られる座標になっている。参考:

Shift coordinates, stretch lines and polyhedral structures for Teichmüller space | SpringerLinkのFigure 11

    • 他方、三角化のみに興味があるときは、この場合分けは、結局のところ同じ三角化なので、同一視したくなることもある
  • Arc同士の相互関係と団変数
    • Arcには団変数が付随する
    • 団変数は、ある三角化をシードとした時に、その辺の数の団変数セットを用いて、シードに含まれない全ての団変数が有理式で表される。実際には、分母が単項であるローラン多項式になる
    • あるarcをあるシード団変数セットのローラン多項式で表した時、その分母の単項に現れる、あるシード変数の次数は、曲面上で、2つのarcを素直に引いた時の交叉数になると言う性質がある
    • ある三角化では全ての辺が交叉しないので、分母は1である(全ての辺の団変数は、相互に独立)
    • 三角化の変異をしていくと、だんだん、分母の次数が上がってくるが、それは、三角化の違いの程度をある意味で表していると言える
    • ちなみに、tagged arcで考える時、この「交叉数」は少しルールを入れる必要があることに注意。ただし、意味合いとしては、arc同士の関係が団変数の分母の次数によって表現されると言うことは、団代数・団変数と三角化の幾何とを結ぶ情報となる

Teichmuller space 事始め

  • Teichmuller space

Teichmüller space - Wikipedia
と言うのものがある

  • 曲面が構造を持っている時に、ある一定の特徴を共有する曲面の集合の要素を、その位相的な同値性を考慮した上で、同値とされた亜集合ごとに座標を与えて出来上がる多様体(manifoldではなくてorbifold)のこと
    • 「ある一定の特徴を共有する曲面の集合」と言うのは、例えば、genus 穴の数が g = 5であるような閉曲面、と言うようなもの
  • 定義としてはこんな感じで単純なので、対象を変えると、どうやって位相的な同値性を決めるか、とか、座標の値をどのように定めるか、とか、具体的な問題が変わるので、話がこんがらがってくる
  • このブログでの目標は、S2同相閉曲面上の三角化のTeichmuller spaceに興味があるので、目標をそこに置く
  • 残念なことに、そこをいきなり理解しようとすると、Teichmuller spaceの基礎事項を知っていることを前提とした資料に直面し、にっちもさっちも行かなくなるようなので、その手前からスタートする
  • 事始め、としては、genus, g > 1 の閉曲面に、Fenchel–Nielsen coordinatesと言う座標系の点を対応づける話を理解することとする
  • 資料はこちら
  • A pair of pants
    • 第一に、このa pair of pants と言う単語を理解しよう
    • リンク先資料の、一番最初の図がそれである

f:id:ryamada:20200705104627p:plain

    • いわゆる、半ズボンの形をした曲面。穴のない球面に3つの穴(2本の脚が出る穴と、1つの胴体が出る穴の3つ)があいた曲面のことである。二つの半ズボンをつなぎ合わせて、"A pair of two pairs of pants"などと書かれることもあって、混乱するので、「半ズボン」と呼ぶことにする。「二つの半ズボンの胴体穴同士をつなぎ合わせる」と表現すれば、4本の脚が出る胴体なしの生物用の服のことであることがわかりやすいはず
    • 第二に理解することは、g > 1 の閉曲面は、相互に交叉しない単純な(自己交叉しない)閉曲線によって、半ズボンに分けることができることである。リンク先資料の二番目の図がそれを表している。穴の数 g = 3 に対して、4つの半ズボンに分けられている

f:id:ryamada:20200705104645p:plain

    • 3g-3 本の閉曲線によって、2g - 2 個の半ズボンに分けられることになっている
    • 第三の理解ポイントは、ある特定のgの値を定めても、半ズボンの分け方は一通りではないこと
    • 例えばg=2の時、二つの穴の間に、穴をくぐらない閉曲線をとって、2分する。分離したそれぞれは、穴が一つしか開いていないので、その穴を胴体穴とみなし、その上で、できた2パーツの脚の出る穴を作る方法がある。他方、二つの穴を潜る閉曲線で切り開く。そうすると、曲面はまだひとかたまりのままで、胴体穴が2つ開いており、二つの半ズボンは脚の出る穴が、もう片方の半ズボンの脚の出る穴と縫い合わさっている状態なので、それを切り離して、二つの半ズボンを得ることができる

f:id:ryamada:20200705105311p:plain

    • 第四のポイントは、半ズボン曲面を双曲面とみなすことと、内角が全て直角な六角形が大事であること
    • 双曲面は、ガウス曲率が負(-1に統一するらしい)で、その上に多角形を描くと、その内角の和は、ユークリッド平面が要請する決まりを満たさなくて良い。具体的には、3つの穴(胴体穴、脚の出る二つの穴)のそれぞれの間に、測地線を引いて、穴の周囲曲線に垂直に刺入するようにできる。3本の測地線のそれぞれの両端が、穴の周囲曲線と直角に交わるから、内角が全て直角である六角形ができる。それを示したのがリンク先資料の四番目の図である。また、このように3本の測地線で六角形を作ると、半ズボンは二つの面に別れるが、2つの面はそれぞれ、六角形であって、内角は全て直角である

f:id:ryamada:20200705105412p:plain

    • 第五ポイントが最後のポイント。座標を入れる。Fenchel-Nielsen
    • 今、g > 1 閉曲面の全体を考えるが、ある程度の制約を入れる。全ての分割半ズボンが双曲面であり、分割閉曲線部分でも滑らかに連続しているような閉曲面に限定する
    • この時、閉曲線の取り方を決めると、その閉曲線は色々な取り方ができるが、最短線・測地線になるように限定する。こうすると、元の穴あき閉曲面の分割のやり方に応じて、3g-3個の閉曲線の「長さ」が確定する。この3g - 3 個の実数値が、Fenchel-Nielsen 座標の値の半分に相当する
    • 2g-2個の半ズボンから元の穴数 g の閉曲面を復元するには、どの半ズボンのどの穴同士を縫い合わせるかの情報がないと困る。それがあってこそ、元の閉曲面の情報を持っていると言える
    • リンク先資料の最後の図を見てみる。赤い閉曲線は、半ズボンに分割するための閉曲線

f:id:ryamada:20200705105508p:plain

    • それとは別に青い閉曲線が描かれている。よく見ると、青い閉曲線の数は、赤い閉曲線の数と同じである
    • 青い閉曲線は、赤い閉曲線から、2つの連結した半ズボンにそれぞれ向かう。一つの半ズボンに着目すると、出発した赤い閉曲線の向かい側にある「股」を通って、赤い閉曲線に戻ってくる。そしてもう片方の半ズボンに入り、同様に、赤い閉曲線の向かい側にある「股」を通って、元の点に戻る。このような曲線のうち、測地線になっているものを使うことにする。赤線と青線とは直角に交わる。このような測地線の長さは、オリジナルの閉曲面に依存する値である。この値は、赤い閉曲線の数だけあるので、3g - 3個の値が得られる。
    • 結局、赤い閉曲線と青い閉曲線(いずれも測地線)の長さとして、合わせて6g- 6個の値が得られる
    • この6g - 6個の値が、「閉曲面」のTeichmuller spaceにおけるFrechel-Nielsen座標と呼ばれるものである
    • 補足。最後にTwistと言う概念を書いておく。リンク先資料の下から三番目の図では、青い曲線が曲面上でぐるぐる巻きをしている。こう言うぐるぐる巻きは青曲線の長さを無駄に長くしてしまい、座標として一意性を確保できないことから、半ズボンの連結では、曲面をtwist(実際には、曲面上の「パスを無駄にぐるぐる回り」)しないで連結することを基本とする、と言う考え方がある

f:id:ryamada:20200705105542p:plain

  • ここまでのまとめ
    • Teichmuller spaceは
      • (1) 曲面の特徴を実数値のセットとして表してくれる。したがってある一つの曲面を多次元実数空間の点に対応づける
      • (2) 曲面を少しずつ変えると、実数値ベクトルも少しずつ変わることも知られている。その変化は微分可能であり、結局、曲面集合が多次元実数空間に埋め込まれた多様体とみなせる。これがTeichmuller space。また、実数値ベクトルの要素の積も、曲面の変化に応じて微分可能な関数となっており、そのことが記述されることもある
      • (3) なお、対象とする曲面はガウス曲率が至る所で -1 であるあるようなものが対象となる。つまり双曲面が対象となる(なんだ、つまんないじゃん、という感じがするが理由もある。一見、双曲面出ない対象を双曲面扱いすれば、Teichmuller spaceでの議論ができる、と思い直す方が生産的)
      • (4) 負の定曲率曲面では、連続して移り合える単純な閉路を同一視した時、ただ一つの最短なそれ(geodesic)なもので代表させられるとされる("Shear coordinates on the Teichmuller space of real hyperbolic surfaces with holes"のProposition 2.2)。これにより、曲面の位相的特徴を測地閉路長のセットに対応づけできることになる。また、いわゆるgenus 穴のある閉曲面は負の定曲率曲面でできた半ズボンの連結と位相的に表せることから、genus穴を持つ閉曲面の定量的位相特徴量の取り出しに使える
  • 三角メッシュのTeichmuller spaceの議論のための前置き
    • 全内角が直角な六角形の交互3辺を無限遠に飛ばして1点とみなすと、全内角が直角な三角形が現れる
    • その貼り合わせを三角メッシュとみなせる
    • この「貼り合わせ」って言うのが「ミソ」で、穴あき閉曲面も半ズボンの貼り合わせ、三角メッシュも辺の貼り合わせ
    • 貼り合わせは「ペアづくり」であって、特殊な置換(この辺りが全正値行列のminorに置換が出てきたことと無縁ではなさそう)
    • 無限遠点が登場するので、その点をcuspとして、超トンガリとみなしたり、小さい円周を無限にぐるぐる巻きにすることで無限遠点になるようにしたりする
    • g = 0なので半ズボンは登場しないが、その切れ端としての六角形は登場する
    • 半ズボン分割のための単純な閉曲線の取り方のパターンを曲面上の構造として、位相分類し、その閉曲線の取り方に依存して決まる測地距離を座標値としたが、三角形メッシュの場合は、閉曲面上の点集合に描く平面グラフ・三角メッシュのエッジ(arc)の取り方のパターンを曲面上の構造として、位相分類する
    • このTeichmuller spaceの座標次元は 6g -6 + 3k (kは曲面上のmark点の数)と言われている。例えばg=0の場合、3k-6がその次元。普通のg=0閉曲面上の三角メッシュでは、頂点数 u+2に対して、三角形数 2u、辺数 3u、であるしたがって、3k - 6 = 3(u+2) - 6 = 3u であり、これはエッジ数にあたる
    • 三角メッシュの場合のTeichmuller座標系はエッジに付与される値を座標とするものとして実現されることがわかる
    • ここから、エッジ団辺数とTeichmuller座標とに関係が生じるっぽい

ぱらぱらめくる『Cluster Algebras and Triangulated Surfaces Part II : Lambda Lengths』

  • arxiv.org
  • 一生懸命読んでメモしたものを、後掲するが、「超簡易まとめ」を前掲しておく

(S2同相の形解析の文脈に限ると) 単位球面を用意して、ある数の点を配置する

  • 点を結んで平面グラフ・三角化メッシュを作ろう。辺は曲線で構わない(arcと呼ぶ)
  • 三角化メッシュは辺のフリップで変異させられる
  • いわゆる三角形ではない、変な三角形も「三角化」として扱えると数学的に綺麗に完結するのでそう言う工夫をしよう。団代数扱いが美しく一貫性を持ったものにできるから。
  • arcに長さを与える。ただし、Teichmullerな世界にする(双曲幾何で話が整うようにする)工夫を入れる。入れ方は2つある
  • 一つ目の入れ方は、各点が無限に高い富士山のように尖ってそそり立っていることにする方法
  • もう一つの入れ方は、点を穴あき円板にして、円板の周の1点をその点であるとしてた上で、その点に辺(arc)で到達するためには、円板の周囲を無限に周回することにする
  • いずれの方法でも、辺(arc) の長さは「普通の意味」で定めると無限長になるが、そこは、数学らしく、うまい手を考えることにする。そのようにして、うまく扱えるようにした長さをlambda lengthと呼ぶことにする
  • このlambda lengthは、三角形メッシュの変異の時に登場する6つのarcs(四角形の4辺と2つの対角線)との間に、うまい関係が作れているのがミソ
  • 実は、このうまい関係を維持しつつ、2通りのlambda lengthがarcには与えられる。一つは、普通の和・積演算の世界でつじつまの合うもの。もう一つはトロピカル代数(トロピカル積が普通の和で、トロピカル和が最大値(または最小値)を取ること)の演算で辻褄が合うもの
  • このarcがもつ2種類のlambda lengthsから、一つの値を取り出して、それをarcに与えましょう。そうすると、それは全部、「正値」な団変数になるのだけれど、この団変数を持っている団代数は、全正値行列の団代数と対応しているよ、と。
  • しかも、このlambda lengthには、別の側面もあって、球面上に三角化とは別に、等高線模様を描いた時に、辺(arc)と等高線との交叉パターン別の交叉本数と言う整数と関係すると言う
  • ここから、丁寧版
  • Chapter 2 団代数
    • tagged arcで考えると、各triangulationはクリークに相当し、クリークは構成数n個の変異によって、それぞれがクリークに移り、しかも、それが至る所で成立する、という意味でn-正則グラフ関係になっている
  • Chapter 3 Rescaling and Normalization
    • この極めて対称性のある変異に伴う団変数の変化が、何か単純に表現できれば良いと考えるのは素直な発想で、それが、Chapter 3 のRescaling and Normalization
  • Chapter 4 Geometric typeとTropical algebra
    • 団代数の中にGeometric typeと言うのがあり、Rescaling and Normalizationに対応している
    • その時に使う団変数の有理多項式(ローラン多項式)に現れる積演算と和演算にTropical 代数を使う
    • Geometric typeな団代数には"positive realization"と言うのがあって上手いぐいに対象をトポロジカル空間でハンドリングするpositive real functionsが取れる、と言う性質も好都合らしい
  • Chapter 5 Bordered surfaces, arc complexes, and tagged arcs
    • この章はPart I の振り返り

ryamada.hatenadiary.jp

  • Chapter 6 は三角化の変異・推移が幾何的・位相的であることを述べ、Teichmuller spaceへとつなぐ導入。Teichmuller spaceはまだ出てこない
  • Chapter 7 Lambda lengths on boardered surfaces with punctures
    • Teichmuller spaceを導入するにあたり、lambda lengthと言う道具を導入する
    • Bordered surfaceには n(arc数) = 6g(genus) + 3b(bordersの数) + 3p (puncturesの数) + c(borders上の点の数) -6と言う関係があった
    • Teichmuller spaceでは、これを変形して n-p = 6g + 3b + 2p + c - 6と言う数を使う。このn-pがTeichmuller spaceの多様体次元
    • (S,M)が与えられた時に、全ての点がcusp(とんがり)になっていて、それ以外のところは、全てガウス曲率が-1なhyperbolic になっているような幾何構造を考える。Teichmuller spaceはこのような条件を満たした幾何構造を納めた空間
    • Teichmuller spaceに含まれる、ある一つの幾何構造(ある三角化に対して、点をcuspとし、それ以外の場所はガウス曲率-1とした幾何構造)を取り出して考えることにする
    • この時、この三角化のarcはgeodesicになっている。このgeodesicになっているarcだが、cusp同士を結んでいるので、長さが無限大。これでは扱いにくいので、長さを定量する方法を導入する
    • 全ての点の周りにhorocyclesを入れる。horocyclesと言うのは、双曲幾何学で使う「手」で無限遠にある点にたくさんの直線が集まってくるが、無限遠の点から等距離にある、それぞれの直線上の点を結んでできる、「無限遠点からの等距離点集合が作る輪」のこと(Wikipedia"horocycle"
    • 全ての点が無限遠にあることになってしまっては、ある2点間距離と、ある2点間距離とが、どちらも無限遠となってしまい、比較不能になりそうだが、そこを解決すれば、2点間距離が決まる
    • このhorocyclesを伴った(S,M)三角化の集合を納めたTeichmuller spaceをdecorated Teichmuller spaceと呼ぶ
    • arcの長さl_\sigma (\gamma) (\sigmaと言う三角化における\gammaと言うarcの長さは、正かもしれないし、負かもしれない。arcの両端点からのhorocyclesが交叉する場合は負、交叉しない場合(うまく測りやすいと言う事か・・・)は正
    • その上で、\lambda(\gamma) = exp(l(\gamma)/2)を距離とする・・・こうすると、l(\gamma)の正負によらず、距離は正となる(好都合)。これをLambda lengthと言う
    • このLambda lengthsを全てのarcとボーダーの弧(boundary segments)とについて全て掛け合わせたものは正の実数をn + c 個、掛け合わせたものとなるが、それは、三角化のある一つの正の実数ベクトル属性である。これが、homeomorphismだと言う。。。連続的に変化させると、正の実数ベクトルも連続的に変化する、とそう言うことか・・・
    • 今4つのarcs(かboundary segments)α、β、γ、δが四角形を作っているときに、その四角形の2つの対角線μとθがあったとき、\lambda(\eta)\lambda(\theta) = \lambda(\alpha) \lambda(\gamma) + \lambda(\beta) \lambda(\delta)が成り立つと言う
    • horocycleはgeodesicではないが、長さがある。ある点の周りに二つのhorocyclesをとり、その長さの積が1になる関係にある2つのhorocyclesを相互にconjugateと言う。これも、この幾何では役割を果たす
  • Chapter 8 Lambda lengths of tagged arcs
    • tagged arcsを取り入れると、この関係が一般的に成立するように構成できる
    • いわゆるarcの長さは、両端点を中心としたhorocyclesの交叉具合で正負を決めた\lambdaとその指数関数化で決めた
    • tagged acrバージョンを決めたい
    • arcの両端点がplainなら定義は変えず、notched端点の時には、conjugateなhorcycleを使うことにする
    • ちょっと記載がごちゃごちゃしている・・・。おそらく、うまく定義づけられる仕組みは成立しているのだが、それをスカッと説明する手立てが未整備なのではないかと思われる。tagged arcと言う概念がもしかすると、もう少しうまい方法に切り替えることができて、それによってスカッとするのではと言う予感
  • Chapter 9 Opened Surfaces
    • 内部点を破れ穴とし、そのborderに1点を加える改変をすると、内部点なしの、そこら中に1点持ちの破れ穴構造ができる
    • この時、元の2つの破れ穴を結ぶarcは1本だったのに、破れ穴化したことによって、破れ穴をぐるぐる周回してからborder上の点に着地する場合が作れるので、arcの場合分けが(無限に)増える
    • この破れ穴+点 に変えるのも別のタイプのdecoration
    • horocyclesは、点からでるarcsに直行する曲線。破れ穴を作り、そこに点を置いた場合、その点には、スパイラル状のarcが存在する。そのarcたちに直行するような線は、穴boundaryに直角に刺入する線なので、これが horocycle??
    • cuspとして見ると、無限遠にまで尖りたった様子のことだし、穴を開けてその上の点に向かって無限にぐるぐる巻きにして到達せんとするのも、無限遠点の表現である。そういう意味で、cusp扱いとスパイラル扱いは共通する
  • Chapter 10 Lambda lengths on opened surfaces
    • horocyclesを用いたlambda lengthの定義を、opened surfaceに拡張するための議論
  • 開けた穴の周りのぐるぐる巻きをどう扱うか、ぐるぐる巻きの向きのこととか
  • Chapter 11 Non-normalized exchange patterns from surfaces
    • 三角化の変異の移り変わり具合と、lambda lengthと、団代数・団変数との関係に関する説明
  • Chapter 12 Laminations and shear coordinates
    • 異なる道具として、Laminationが登場する
    • (SM)に等高線のようなものを入れる。等高線は自己交叉しないし、等高線同士も交叉しない
    • そのLaminationのパターンは列挙可能な対象
    • Laminationが定まると、arcに「数値」を与えることができるようになる
    • Shear coordinates と呼ばれる数値になる。
    • arcに付与される数値は整数で、三角化の変異とともに変化する対象としても扱える
  • Chapter 13 Shear coordinates with respect to tagged triangulation
    • 三角化変異を綺麗に正則グラフにするには、arcのtaggedが必要だが、それに対応して、Lamination, shear coordinatesの定義もしておく必要がある
  • Chapter 14 Tropical lambda lengths
    • Laminationを与えると、arcには、lamination等高線との交叉本数と関連した数値 shear coordinatesが現れる
    • open surfaceで考えると、この交叉本数がtropical代数的な表現になるという話
  • Chapter 15 Laminated Teichmuller space
    • Teichmuller spaceは (S,M)に現れる三角化を配置した空間。これを、Laminationの入ったopen surfacesで考え、普通のtagged arcのlambda lengthと、tropical代数的なtagged arc のlambda lengthを取ると、各arcに二つのlambda lengrhsが付随することになる
    • その2つの比が団変数となって団代数と繋がってくる
  • Chapter 16 Topological realizations of some coordinate rings
    • arcのlambda lengths の比は正なのだが、これが、totally positive matrixの団代数と繋がるという
  • Chapter 16 Topological realizations of some coordinate rings
    • ここまで議論してきた一般化された三角化(tagged arcを入れて、穴を開けてarcをliftした三角化)では、arcがpositiveになる
    • それは、cluster variety X のうちのtotally positive partと解釈することが自然である
    • 言い換えると、全ての団(変数)と団係数とが正であるようなXの部分集合に相当するということ
    • そのことが、行列のtotal positivityとさらにそれを拡張したGrassmannianの団代数と対応づくらしい

ぱらぱらめくる『Cluster Algebras and Triangulated Surfaces Part I : Cluser Complexes』

  • Teichmuller spaceのことを知るにあたり、三角形メッシュとその団代数の基礎を確認したい
  • Part I , Part II と言う構成になっている、以下の2つのPDFをぱらぱらめくることにする
  • まずはPart I から。Part II は次の日の記事で
  • 曲面の特徴付け(S,M) with n = 6g + 3b + 3p + c - 6
    • 曲面をSとする
    • S上に点集合Mを持たせる。それがないと、arc(辺)が引けず、arc(辺)が引けないと、三角化ができない。(S,M)が対象になる。Mは"marked points"のmである
    • Sが閉曲面であるなら、いわゆる「穴」がいくつあるか(球面の穴の数は0、ドーナツのそれは1) : g
    • Sに破れがある時、それは曲面に開いた「面積・周囲長 > 0」の「空隙〜破れ穴」とする。その「破れ穴」は、曲面にとっての端閉曲線。これをborderと呼び、その数を b とする。gで表される「穴」とbで表される「破れ穴〜辺縁曲線」との混同に注意する
    • Mの要素である点の存在位置は、2通りに別れる。Sのborders上か、それ以外(いわゆるSの内部)か、である
    • Borders上の点の数をc、いわゆるSの内部の点の数をpとする。|M| = c + p である。pはpuncture(針刺し穴)からきている。cは(circumference(円周))からきている?
    • 三角メッシュにはarc(辺)があり、その数をnとする
    • n = 6g + 3b + 3p + c - 6と言う関係がある
    • なお、Teichmuller spaceの方では、次のような関係式がある。d=6g + 3b + 2p + c + \sigma -6。ここで、dはTeichmuller spaceの次元((S,M)の色々を納めた空間の次元)、\sigmaは"the dimension of the space of biholomorphisms X -> X isotopic to the identity rel f(P) any [(X,f)] in T(S,M)"とされるもので、これがわかろうと思って、この文書をぱらぱらめくっている
    • いずれにしろ、\sigmaが0であるような場合に、ガウス曲率がそこら中で-1になって座標の議論がしやすいらしい
    • puncture 点の数の扱いが3p,2pと違う、辺の数nが出てこない・出てくる、\sigmaが出てこない・出てくる、と言う違いになっている
    • したがって、Teichmuller spaceの次元dと言うのは、三角メッシュの辺の数からpuncture点の数を引いたものに、おおよそ一致するが、それを調整するパラメタとして\sigmaがあるらしい、と言うことがわかる
    • 簡単な例を見ておく
      • 四角形で針穴(puncture)がない場合。面自体にはgenus穴はなく、球面に破れ穴を一つ作り、そのborderに4点をとっているから、g = 0, b = 1, p = 0, c = 4. n = 6g + 3b + 3p + c - 6 = 0 + 3 + 0 + 4 - 6 = 1
      • Annulus with one marked point on each boundary component. これは、平面シート(折り紙)から円板を作り、中央に丸い破れ穴を作ったもの。g = 0, b = 2, p = 0, c = 1 + 1 = 2. n = 6g + 3b + 3p + c - 6 = 0 + 6 + 0 + 2 - 6 = 2
      • トーラスに1個のpuncture。g = 1, b = 0, p = 1, c= 0. n= 6g + 3b + 3p + c - 6 = 6 + 0 + 3 + 0 - 6 = 3
  • Ground set of arcs A^{\circ}(S,M)
    • (S,M)に、どんなarcが引けるか、そのarcの全体の集合をA^{\circ}(S,M)と表す
    • arcは、単にどの点とどの点の間に引くか、だけではなく、他のarcたちとの相対的位置関係を考慮した上で決まるものであることに注意する
  • Arc complex \Delta^{\circ}(S,M)
    • A^{\circ}(S,M)はたくさんの要素を持つが、それをうまく選ぶと、三角化(ideal triangulation)ができる。三角化できているので、その三角形と、それに帰属する3辺、各辺が接続する頂点の全体は、単体的複体になっているし、さらに、三頂点からなるクリークの集まりになっている。そのような、A^{\circ}(S,M)の要素の亜集合がクリークになるようなグラフを作ることができる。そのグラフでは、各頂点はA^{\circ}(S,M)の要素であり、各クリークは三角化である。このグラフが表す組み合わせ構造のことを、arc complexと呼び、\Delta^{\circ}(S,M)と現す
    • arc complexのあるクリーク(ある三角化)から、隣接する別のクリークに映ることができるが、これは、三角化のflip (な変化)になる。これは、2つの隣接する三角形が共有する辺を取り去って、その2個の三角形が作る四角形のもう片方の対角線を辺とする三角化に移ることに相当する
    • arc complexはpseudo-manifoldになっている
    • このpseudo-manifold \Delta^{\circ}(S,M) には外縁がある。そこでは、移り合えるarcペア、移り合える三角化ペアに制限がある、と言うことを意味する。それは、外縁にある点に相当するarcが、ループ辺であって、かつ、そのループの内部にpunctureを1つ内包している場合に相当するそうだ。しかもそのループになっているarcは arc enclosedを持たない、と言う条件を満たすらしい (arc enclosedをcontainしない、と言う意味がよくわからないのだが)
  • Ideal triangulationsを頂点とし、その移行関係を現す複合体 E^{\circ}(S,M)
    • \Delta^{\circ}(S,M)の双対グラフ
    • E^{\circ}(S,M)の基本群は、長さ4のサイクルと長さ5のサイクルからできるのだと言う
    • 長さ4のサイクルは可換な関係にある2つのフリップを交互に繰り返して元に戻ることに相当
    • 長さ5のサイクルは、5角形を三角化するのに必要な2つのarcsを順繰りにフリップすることに相当
  • B(T) : 三角化(T)にsigned adjacency matrix (skew symmetric matrix)を対応づける
    • グラフの辺接続行列に相当。辺に適当に番号を振り、行番・列番とする。(S,M)は向きつけられた面だから、三角形には、時計回り・反時計回りが決められる。どちらか片方を採用して、その回り順で接続していれば1、その逆なら-1にしたものが辺接続行列
    • 全ての三角形について、この接続関係の値を取り出して、総和をとったものをB(T)と定義する
    • ただし、これだけだと、B(T)の要素は0,±1しか出てこないが、±2が入ることもある
      • 具体例としては、Annulusで、それぞれのボーダーに点が1個ある場合を考える。外側ボーダーの点から、内側のボーダーの点へは、2本のarcが引ける。1本は中央の破れ穴の右側、もう1本は左側。こうすると2本のarcが分けた2領域について、arc1 -> arc2 の向きは、ともに時計回り(か、ともに反時計回り)となるので、2つ(しかない)三角形について、接続の情報の総和をとると、2や-2が現れる
    • 変異で移り合えるB(T)の集まりを、mutation equivalence class of a matrix B(T)と呼び、これは、(S,M)の三角化に付随する構造になっている
  • 団代数
    • B(T)がskew symmetric matrixになるので、団代数を三角化Tに考えることができる
  • Exchange graph、Cluster complex
    • B(T)に変異が定義できる。変異は、行列B(T)の各行・各列の番号付けに対応したarcごとに定義されているから、B(T)から、三角化arc数だけ変異による移行がある。したがって、その三角化arc数nに対して、n-正則グラフが作れる。これを、Exchange graphと呼ぶ
    • Exchange graphの各頂点は行列B(T)に対応するが、行列B(T)はideal 三角化に対応しており、隣り合う三角化はarcによって隣り合い関係が決まっている
    • この関係は、arc complex \Delta^{\circ}(S,M)とその双対E^{\circ}(S,M)との関係を思い出せば、Exchange graphの双対に意味があるだろうことは容易に想像がついて、それがcluster complex
  • 団代数と、三角化の\Delta^{\circ}(S,M),E^{\circ}(S,M)の関係
    • \Delta^{\circ}(S,M)はnxn skew symmetric matrixが構成するcluster complex Aのsubcomplexになっている
    • D^{\circ}(S,M)はAのexchange graphのサブグラフになっている
  • Tagged arcs
    • 三角化で考えたarc complexと三角化の以降関係complexとは団代数の行列seed変異とかなり近いが、一致せず、三角化の方が「部分集合」「部分グラフ」になっている
    • 対応関係をきちんとするためには、三角化で扱うarcと言う概念を拡張して

tagged arcと言うものに格上げする必要がある。そんな話

    • いわゆるarcをtagged arcに格上げする対応ルールがる。1本のいわゆるarcが1本のtagged arcに対応することもあるが、複数のtagged arcsに対応することもある
    • Plain arcsの集合はA^{\circ}(S,M)で、それをA^{\bowtie}(S,N)に対応させる写像\tauと言うものも使うらしい
    • ローラン多項式とかその辺りの計算?や不変量計算に有用な定義:こちらを参照、こちら
    • Tagged arcs の集合を使うらしい。A^{\bowtie}(S,N)と書く
    • arcにタイプ分けをするらしい
    • boundary上の点に落ち着くものを is tagged plainと言う。そうでないのはnotched tagすると言うらしい。once-punctured monogonをcut outしないarcに付与されるタイプ分けらしい
    • boundaryの点から出てboundaryの点に入るarcは、両端点が異なればplain。そうでなければ、ループだが、ループの内側に1個も点が入らないことはない(らしい)ので、 once-punctured monogonをcut outするarcと言うことになるらしい
    • boundaryの点とpunctureの点を結ぶarcは2本のtagged arcsにする。1つがplainで、もう片方はnotched
    • 普通のarcは片方の頂点でplainなarcとし、もう片方の頂点でnotchなarcと、2つのtagged arcsに対応させる
      • なので、boundaryとpunctureをつなぐarcは2種類のtagged arcsに対応する
      • 同様に、punctures同士をつなぐarcは4つのtagged arcsに対応する
    • arcは次のような分類になる
      • Boundary to boundary (not a loop)
      • Loop at boundary
      • Loop at puncture
      • Boundary to puncture
      • puncture to puncture (not a loop)
    • 2つのarcsの関係の分類
      • 2つのarcsは必ずしも1つの三角化に含まれるとは限らないから、交叉しうる
      • したがって、次のように分類される
      • αとβの端点は4つあり全て異なる。2 arcsは交叉しない
      • αとβは同じboundary点に接続するが、もう片方の端点は異なり、2 arcsはS内で交叉しない
      • αとβは同じpuncture点に接続し、もう片方の端点は別。同じpuncture点へのtagging タイプは同じで、S内で交叉しない
      • αとβはループではなく、両端点を同じくするしtaggingタイプも同じだが、S内で交叉しない
      • αとβはともにループで異なるループ。始点・終点は同じ。taggingタイプは全部同じ。S内で交叉しない
      • αとβはループではなく、taggingを無視すると同じarcになる。taggingタイプは片方の端点では同じで、もう片方では違う
      • αとβは同じ(coincide)
  • Tagged arcのcomplex
    • \Delta^{\circ}(S,M),A^{\circ}(S,M)のcomplexがあったように\Delta^{\bowtie}(S,M),A^{\bowtie}(S,M)がある
    • (乱暴に言うと、)borderからのループで、内側にpunctureを1個もつようなarcを、border点から、内側のpuncture点へのnotch tagged arcとして描きなおしてしまえる場合もあるようだ
    • \Delta^{\circ}(S,M)\Delta^{\bowtie}(S,M)のsub-complexになるが、\Delta^{\circ}(S,M)の方では、pseudo-manifoldの外縁あたりで、「クリーク」ができないところがあった(ideal triangulationを囲んでいないところがあった)のに対して、\Delta^{\bowtie}(S,M)の方はそこがうまいことできていて、団代数の移行関係がk-正則グラフになるべし、と言う条件に合うように拡張されている
  • 団代数とintersection numbers
    • 団代数では、ある初期変数セットを用いて、全ての団変数がローラン多項式で表されることが知られている
    • ローラン多項式の分母は単項式な訳だが、その単項の各団変数の次数ベクトルに意味がある、と言う話
    • また、単項式では、変数の積だが、ここで、トロピカル代数としてローラン多項式を見ると、分母の単項は変数の整数係数和であり、分子の多項式は、複数の項の1つを採用する(maxをとる、minをとる)と言うことであり、それも組み合わせ論的雰囲気や、凸包的・幾何的意味を付与できる
    • 今、団変数全体Aを考える。あるseed \mathbf{x_0}=\{x_1,x_2,...\}を用いて、任意の要素z \in Az = \frac{P(\mathbf{x_0})}{\prod_{x_i \in \mathbf{x_0}} x_i^{d(x_i | z)}}と表される
    • ただしP(\mathbf{x_0})\mathbf{x_0}多項式d(x_i|z)は整数
    • ここで、seed \mathbf{x_0}を使っても、\mathbf{x_0'}を使っても、x_i \in \mathbf{x_0},x_i \in \mathbf{x_0'}であるなら、d(x_i|z)は同じ、と言う性質があると予想されている
    • 団変数には変異の変換式があるが、この分母の次数にも変換式がある
      • d(x|\bar{z}) = -d(x|z) + max(\sum_{u \in \mathbf{x}} [b_{uz}]_+ d(x|u) , \sum_{u \in \mathbf{x}} [-b_{uz}]_+ d(x|u)。ただし[a]_+ = max(a,0)
      • また、seed \mathbf{x}からzを抜いて、\bar{z}を加えた新しいseedに変異させている
      • この式は、いわゆる団変数変異の定義式の積と和とをトロピカル代数の積と和とに見立てたものになっていることにも注意する
  • Intersection number
    • tagged arcのペア(\alpha,\beta)に定まる値、(\alpha | \beta)(\beta | \alpha)とで異なりうる
    • 以下で定める4つの整数A,B,C,Dの和とする
      • taggedする前のarcは、異なるseedに属しているなどするから、交叉する。その数をAとする
      • taggedする前のarcがループかそうでないかは、交叉した時に、交叉曲線が、ループの中に入るか入って出るか、と言うことが問題になるので、(\alpha | \beta)を考える時に、\alphaの元のarcがループであるかどうかが影響する。ループでなければ、0、ループであれば、\betaの元のarcが何点で交叉するかを数え、その交叉点数-1をBとする
      • 元のarcが同じで、tagの具合が違うだけ、と言う場合と、そもそも元のarcが違う場合とでも変わってくる。それがC。元のarcが同じなら-1、同じでないなら0
      • 最後に、tagged arcのレベルで、(\alpha | \beta)のintersection numberを数えるのに、\betaの端点が\alphaの端点とで合流する数についてDとする。この最後のDはtagged arcに関することなので、(\alpha | \beta)(\beta | \alpha)とで変わってくる
    • Intersection numberは、団変数のローラン多項式表現の分母の次数になると言う。(\alpha | \beta) = d(x[\alpha] | x[\beta])

3次元回転行列と四元数

  • 単位四元数q = \cos{\theta/2} \times \mathbf{1} + \sin{\theta/2} \times (x \mathbf{i} + y \mathbf{j} + z \mathbf{k});x^2+y^2+z^2=1 を用いると、3次元空間のベクトルv=(v_x,v_y,v_z)を軸(x,y,z)の周りに角$\theta$で回転してできるベクトルv'=(v_x',v_y',v_z')
  • v_x' \mathbf{i} + v_y' \mathbf{j} + v_z' \mathbf{k} = q \times (v_x \mathbf{i} + v_y \mathbf{j} + v_z \mathbf{k}) \bar{q}
  • ただし、\bar{q}=conj(q) = \cos{\theta/2} \times \mathbf{1} - \sin{\theta/2} \times (x \mathbf{i} + y \mathbf{j} + z \mathbf{k})で得られる。
  • この回転はもちろん、3x3行列でも表せる
  • 今、q = A + iB + jC +kDとすると、その行列は
  • \left( \begin{array}{lll} A^2+B^2-C^2-D^2 & 2(-AD+BC) & 2(AC+BD) \\ 2*(A*D+B*C) & A^2-B^2+C^2-D^2 & 2*(-A*B+C*D) \\ 2*(-A*C+B*D) & 2*(A*B+C*D) & A^2-B^2-C^2+D^2) \end{array} \right )

Rmdファイルをipynbファイルに変換する

  • Rmdをipynbに変換したいです。
  • いくつか方法があるようですが、jupytest (pip でインストールこちら)と言う仕組みを使うと
jupytext --to notebook hoge.Rmd
  • とすることで hoge.ipynbと言うファイルができるようです。
  • ただし、このまま、hoge.ipynbをJupyter notebookで開くと、カーネルが(デフォルトの)pythonになっているようなので、Jupyter notebookを開いている画面のメニューからカーネル変更を選んでRに変え、その上で、ファイルを別名保存するのが良さそうです。

f:id:ryamada:20200602094647p:plain

AtomからR実行

atom.io

  • パッケージR-execをインストールすると、Rのコードを選択した状態で「⌘ + リターン(エンター)」すると、Rが起動して、実行される
  • 呼び出されるのがいわゆるGUIのRになるか、Rstudiomになるかは、ツールバーのパッケージから、R-exeを選び、そこに現れる、Chage appに進み、R.appを選べばGUIのRが呼び出され、Rstudioを選べばRstudioによる実行となる
  • また、「⌘ + リターン」が別のパッケージのショートカットコマンドに割り当てられている時は、R-exeに割り当て直さないといけない(キーバインドの変更方法

mcommit.hatenadiary.com

  • Atomのメインメニューから、環境設定へ進み、キーバインドを選ぶと、ショートカットキーの一覧を見ることができる。ここで、「⌘ + リターン」への割り当てを持っている複数のパッケージが見つかるから、R-exeの前にあるアイコンをクリックして、「然るべき文字列をクリップボードにコピー」して、「キーバインド」の一番上に戻り、「キーマップファイル」に貼り付ける、と言う1文のクリッカブルな「キーマップファイル」をクリックして開き、末尾に、ペーストする。これで出来上がり