Windows XP における SINGULAR のセットアップ作業手順のメモ

SINGULAR のセットアップ作業手順の概略を自分のためにメモ。

SINGULAR は、多項式計算のための計算機代数システムです。もともとは特異点理論 (singularity theory) の問題解決を念頭において開発されたものです。

Windows においては、SINGULAR は Cygwin のパッケージとして提供されます。つまり、

  • Cygwin がインストールされていなければ、Cygwin をインストールする。その際、追加パッケージとして SINGULAR を指定する。
  • もしくは、先に Cygwin がインストールされた環境に SINGULAR を追加する。

ということになります。

SINGULAR のインストール手順の概略

Cygwin の setup.exe を、以下のサイトから入手します。

Cygwin Installation

Cygwin の setup.exe を起動します。Selected Packages において、

Editors カテゴリ:

  • emacs-X11
  • xemacs-sumo

Math カテゴリ:

  • singular-base
  • singular-help
  • singular-icons
  • singular-share
  • singular-surf

Interpreters カテゴリ:

  • emacs-X11

Shells カテゴリ:

  • rxvt

X11 カテゴリ:

  • xinit
  • xorg-server

以上を選択します。

インストールが完了したら、デスクトップのスタートメニューから SINGULAR を起動します。

SINGULAR のターミナル上での起動と終了

起動

Cygwin Terminal を起動したのち、Singular コマンドを入力すると、SINGULAR が起動します。

$ Singular
                     SINGULAR                                 /
A Computer Algebra System for Polynomial Computations       /   version 3-1-3
                                                           0<
by: W. Decker, G.-M. Greuel, G. Pfister, H. Schoenemann     \   March 2011
FB Mathematik der Universitaet, D-67653 Kaiserslautern        \
>

終了

exit コマンドを入力すると、SINGULAR が終了します。

> exit;
Auf Wiedersehen.

SINGULAR の Emacs 上での起動と終了

デスクトップ上に作成された「Singular (Emacs and X-Server)」というショートカットをダブルクリックすれば起動するのかと思ったら、(私の PC 環境では) XEmacs だけ起動し、SINGULAR は起動させられませんでした。M-x singular (M-x は [ESC]+[x]) としてもダメでした。そういうわけで、別の手順を試みました。

※ いちおう、XEmacs において M-x shell と入力して起動させたシェルの上で Singular コマンドを実行すれば、起動します。が、本来の方法ではないような気がします。

起動

Cygwin Terminal を起動し、以下のコマンドを入力します。

$ ESingular --emacs=emacs

で、SINGULAR が Emacs 上で起動します。

終了

Emacs 内で、exit コマンドを入力し、SINGULAR を終了させます。

> exit;
Auf Wiedersehen.

そのあと、C-x C-c ([Ctrl]+[x] のあと [Ctrl]+[c]) で Emacs を終了させます。

使用例

丸山正樹 (著) 『グレブナー基底とその応用』 (共立出版) 2.40 [例] にあるグレブナー基底の計算例を SINGULAR で再確認します。

有理数体 Q 上の多項式環 Q[x,y,z] の元 f1, f2 が生成するイデアル J のグレブナー基底 K を、x>y>z の全次数逆辞書式順序で計算します。

> ring R = 0,(x,y,z),dp;
> poly f1 = x5+y4+z3-1;
> poly f2 = x3+y3+z3-1;
> ideal J = f1,f2;
> ideal K = groebner(J);
> K;
K[1]=x3+y3+z3-1
K[2]=x2y3+x2z3-y4-z3-x2+1
K[3]=y6+2y3z3+z6+xy4+xz3-2y3-2z3-x+1
>

K[1]、K[2]、K[3] からなる有限集合が、イデアル J のグレブナー基底です。

ここで、最初の 0,(x,y,z),dp についてですが、1番目の 0 が標数、2番目の (x,y,z) が変数、最後の dp が単項式順序として全次数逆辞書式順序を指定しています。SINGULAR では一般に、環をこのような形で定義します。

※ 全次数逆辞書式順序は、SINGULAR の公式サイトのオンラインマニュアルでは degree reverse lexicographical ordering と呼ばれています。これは、graded reverse lexicographical ordering (grevlex) とも呼ばれます。日本語では、斉次逆辞書式順序、次数付き逆辞書式順序などと呼ばれることもあります。

groebner(J) の代わりに std(J) としても、同じ結果になります。

参考 URL

SINGULAR:Guided Cygwin Install
SINGULAR:Singular Manual

【theme : プログラミング
【genre : コンピュータ

プロフィール

よしいず

Author:よしいず
MATHEMATICS.PDFというウェブサイトを運営しています。

管理の都合上、トラックバックとコメントはオフにしてあります。ブログ経験者なら分かっていただけると思いますが、スパム(アダルトやその他の宣伝)ばかりなのが現実です。

リンクは自由です。当サイトの記事に対する間違いの指摘・意見・感想などを述べた記事からのリンクは歓迎です。ただし、ブログ記事アップ直後はミスが多く、頻繁に修正します。場合によっては削除する可能性もあります。その際、何も断りもなく修正・削除しますがご了承ください。内容を参考にする場合には投稿後一週間ほど様子を見てからにしてください(笑)。

記事の間違いを指摘するときは、その具体的箇所、理由(仕様に反するなど)・根拠(参考にした文献など)、代替案(同じ結果を得るための正しいやり方)も教えてください。そうしないと、(指摘される側および第三者はその時点では無知の状態なので、)どこが間違いなのか分かりませんし、本当に間違っているのかどうかが判断・検証できません。実際、間違いだと指摘されたことが結局は正しかったというケースもありますので。

このブログのタイトル一覧

リンク
月別アーカイブ
カテゴリ
最新記事
検索フォーム
RSSリンクの表示