Macaulay2をインストールする

  • こちらで代数統計をやっている論文を読んでいる
  • マルコフ基底の計算はSingularでやっている(そのインストールなどはこちら)
  • Triangulationの計算はMacaulay2でやっているので、それもインストールしてみる
  • その前にそもそもTriangulationとは
    • 日本語言えば「三角測量」(Wiki)。2点間の距離を測ることで、空間での位置(座標)を確定する方法
    • 三角形を使ってもよいが、円・球も使えるらしい(Trilaterationと言う
    • 多次元化すれば、それは、「三角形」づくりではなくて「単体」づくりになる
    • それ(多次元での『三角測量』)をしてくれる
  • Macaulay2のWindows版提供はCygwinによる
    • こちらがその説明サイト
    • Cygwinはsetup.exeというソフトをダウンロードして、それを起動し、ダウンロードサイトを指定し、必要なものを取ってくる、という仕組みになっている(こちら)
    • Macaulay2の場合は、ダウンロードサイトを普通に指定しても、そこに置かれていないので、ちょっと工夫が必要
    • まずは、Macaulay2に関するCygwin作業をしたいのですよ、ということをsetup.exeに教えないといけない
    • Macaulay2のダウンロード解説サイトによれば
    • "Macaulay2-key.data"というファイルが、そのsetup.exeに教えるべき情報を持っているから、それをここから取れ、と。
    • そのファイルを適当な場所に置いて、Cygwinのsetup.exeに次のように渡せ、と
setup -K Macaulay2-key.data
unable to get setup.ini
    • と言われて進めない…
    • どうも、こちらにあるように、「野良サイト」からのダウンロードを禁じる措置に引っ掛かっているようなので、このサイトで書いてある、"-X"オプションでやってみる
setup -X -K Macaulay2-key.data
    • うまく行く
    • その上で、Cygwinにて、取りたいいろいろを指定するステップで工夫が要る

    • この図の右肩に"View"アイコンがあって、その横にCategoryとあるのだが、"View"アイコンを押すと、Fullに切り替わる(何度も押すと、見せ方をいくつも選べる)
    • Fullにすると、Macaulay2関係の2つ"Macaulay2, Macaulay2-icons"が見つかるので、それをクリックしてダウンロードするように指定する
    • このときに、Cygwinの通常のダウンロードサイトも指定しておけば、必要なものをいろいろ併せて取って来てくれる
    • 終了する(これでうまく行ってくれると良いのだが、まだのようだ…)
    • できたアイコン"Xwin + emacs + M2"をクリックしてXWindowsを起動し、その上で"emacs + M2 on 0"アイコンをクリックしてMacaulayを…と、インストラクションの通りにやるも、Xwindowが開かない(Xwinは立ち上がっているようだが…)
    • こちらを参考に…
    • まずCygwinを立ち上げて
emacs .emacs
    • とコマンドを打つも、エラー
    • 秀丸で以下の内容のファイルを".emacs"という名前で"c:\cygwin\home\****\"(ただし、****は自分のユーザー名)"に保存
(setq load-path
      (append
      '("/usr/share/emacs/site-lisp/")
       load-path
       ))
(load "M2-init.el" t)

(global-set-key[ f12 ] 'M2)
(global-set-key[ f11 ] 'M2-send-to-program)
    • その上でCygwin上でプロンプト $ に対して、"M2"と打ち込んで、以下の通り。
$ M2
Macaulay2, version 1.4
with packages: ConwayPolynomials, Elimination, IntegralClosure, LLLBases,
               PrimaryDecomposition, ReesAlgebra, TangentCone

i1 :
  • とここまでは良く、こちらも順調なのだが、Xwindowの枠からコンソールがはみ出していて、行数が増えるとみえなくなる!
    • この問題はいずれ解決するとして…、やりたい処理をするには、場合によっては"loadPackage "Polyhedra""のようにしないと、行けないことに注意(参考)
      • ちなみにコンソールのコピーはハイライトして、VT Optionsから"Select to Clipboard"を選ぶ
ryamada@S9LY9ADP ~
$ M2
Macaulay2, version 1.4
with packages: ConwayPolynomials, Elimination, IntegralClosure, LLLBases,
               PrimaryDecomposition, ReesAlgebra, TangentCone

i1 : loadPackage "Polyhedra"

o1 = Polyhedra

o1 : Package

i2 : P = hypercube 2

o2 = {ambient dimension => 2           }
      dimension of lineality space => 0
      dimension of polyhedron => 2
      number of facets => 4
      number of rays => 0
      number of vertices => 4

o2 : Polyhedron

i3 : triangulate P

o3 = {{| -1 |, | -1 |, 0}, {| 1  |, | 1 |, 0}, {| -1 |, | 1  |, 0}, {| -1 |, | 1
       | -1 |  | 1  |       | -1 |  | 1 |       | -1 |  | -1 |       | 1  |  | 1
     ---------------------------------------------------------------------------
     |, 0}}
     |

o3 : List

i4 :