File: [local] / OpenXM / src / k097 / debug / toric0.txt (download)
Revision 1.1.1.1 (vendor branch), Fri Oct 8 02:12:16 1999 UTC (24 years, 9 months ago) by maekawa
Branch: OpenXM, MAIN
CVS Tags: maekawa-ipv6, R_1_3_1-2, RELEASE_20000124, RELEASE_1_3_1_13b, RELEASE_1_2_3_12, RELEASE_1_2_3, RELEASE_1_2_2_KNOPPIX_b, RELEASE_1_2_2_KNOPPIX, RELEASE_1_2_2, RELEASE_1_2_1, RELEASE_1_1_3, RELEASE_1_1_2, KNOPPIX_2006, HEAD, DEB_REL_1_2_3-9, ALPHA Changes since 1.1: +0 -0
lines
o import OpenXM sources
|
(yacc/debug/toric0.k, 1997, 4/8)
<< 以下で yacc/debug/toric0.k の使い方を説明します. >>
Q. 行列 A で定義される affine toric variety の生成元を計算したい.
A. [1] A = \matrix{1&1&1&1\cr
0&1&0&1\cr
0&0&1&1\cr} の時の例を示します.
次のような内容のファイルを作ります.
名前を, a24.k としましょう.
load("debug/toric0.k");
A = [[1,1,1,1],[0,1,0,1],[0,0,1,1]];
ans = toric(A);
[2] k0 を起動します.
k0
[3] いくつかメッセージが表示されて, k0 のプロンプト In[??]=
省略
Overloaded on pushVariables and popVariables.
ctrl-C signal is caught in KSexecuteString() and <<Warning>>
is regarded as an error.
In[3]=debug/asir0.k you need to start k0 with -f option.
In[4]=In[5]=
がこのようにでたら,
load("a24.k");
とします. a24.k がロードされ, 関数 toric が実行されて
結果が表示されます.
[4] 画面に, いくつかメッセージが表示された後に,
---------- generators of the toric ideal are -----
[ -z[2]*z[1]+z[3]*z[0] ]
と表示されたら計算が終了です. 上の元が, affine toric variety の
(イデアルの)生成元です. この場合には一つしかありません.
[5] 計算結果は変数 ans にもはいっています.
(ans = toric(A) と代入しているから.)
ans :
と入力すれば次のように ans の内容を表示してくれます.
In[7]=ans :
[ -z[2]*z[1]+z[3]*z[0] ]
In[8]=
[6] ans の中身を ファイルにセーブしたい場合は,
Save(ans);
と入力して下さい. sm1out.txt にセーブされます.
すでに, sm1out.txt が存在する場合は, ans が追加してかきこまれます.
[7] quit(); と入力すると k0 を終了します.
[注意事項] 行列 A の要素は, 負のものを含んではいけません.
[注意事項] 環を定義したときの変数の最大個数は, 100 です.
作業用の変数もありますので, 行列 A の縦と横のサイズの和が
100 に近付いたらもう計算できません.
Q. A-超幾何方程式の Fourier 変換の計算法.
A.
[1] A = \matrix{1&1&1&1\cr
0&1&0&1\cr
0&0&1&1\cr} の時の例を示します.
次のような内容のファイルを作ります.
名前を, i24.k としましょう.
load("debug/toric0.k");
fff = ["z[0]*Dz[0]+z[1]*Dz[1]+z[2]*Dz[2]+z[3]*Dz[3]-z[5]",
" z[1]*Dz[1] +z[3]*Dz[3]-z[6]",
" z[2]*Dz[2]+z[3]*Dz[3]+z[7]",
"z[0]*z[3]-z[1]*z[2]"];
ans = zindicial(fff,4,3);
A-超幾何方程式 の toric part
"z[0]*z[3]-z[1]*z[2]"
は, 関数 toric で計算しておいたものを使います.
方程式の変数は必ず, z[i], Dz[i] (i は 0 から) を使います.
z[i] が空間変数, Dz[i] が, 微分変数です.
式を " でかこむことを忘れないで下さい.
ans = zindicial(fff,4,3);
4 は Dz[i] の現れる最大 index +1 です. 今の場合, Dz[3] が最後の
微分変数ですから, 4 な訳です.
n = Dz[i] の現れる最大 index +1
とおくとパラメータはかならず,
z[n+1], ..., z[n+m] で与えます.
ここで, m はパラメータの個数です.
今の場合, z[5],z[6],z[7] がパラメータです.
この m,n を用いると, zindicial は
ans = zindicial(fff,n,m);
とよぶことになります.
[2] k0 を起動します.
k0
[3] いくつかメッセージが表示されて, k0 のプロンプト In[??]=
省略
Overloaded on pushVariables and popVariables.
ctrl-C signal is caught in KSexecuteString() and <<Warning>>
is regarded as an error.
In[3]=debug/asir0.k you need to start k0 with -f option.
In[4]=In[5]=
がこのようにでたら,
load("i24.k");
とします. a24.k がロードされ, 関数 zindicial が実行されて
結果が表示されます.
Q. 結果を因数分解したい.
A. save してから, 他の数式処理システムで因数分解して下さい.
もし, asir がインストールしてあれば,
k0 -f
と -f オプションをつけて k0 を起動しておくことにより, 関数
Factor
で因数分解ができます.