[BACK]Return to toric0.txt CVS log [TXT][DIR] Up to [local] / OpenXM / src / k097 / debug

Annotation of OpenXM/src/k097/debug/toric0.txt, Revision 1.1.1.1

1.1       maekawa     1: (yacc/debug/toric0.k,  1997, 4/8)
                      2:
                      3: << 以下で yacc/debug/toric0.k の使い方を説明します. >>
                      4:
                      5:
                      6: Q. 行列 A で定義される affine toric variety の生成元を計算したい.
                      7:
                      8: A. [1] A = \matrix{1&1&1&1\cr
                      9:                    0&1&0&1\cr
                     10:                    0&0&1&1\cr} の時の例を示します.
                     11:        次のような内容のファイルを作ります.
                     12:        名前を, a24.k としましょう.
                     13:
                     14:        load("debug/toric0.k");
                     15:        A = [[1,1,1,1],[0,1,0,1],[0,0,1,1]];
                     16:        ans = toric(A);
                     17:
                     18:    [2]  k0 を起動します.
                     19:
                     20:       k0
                     21:
                     22:    [3] いくつかメッセージが表示されて, k0 のプロンプト In[??]=
                     23:
                     24:              省略
                     25:        Overloaded on pushVariables and popVariables.
                     26:        ctrl-C signal is caught in KSexecuteString() and <<Warning>>
                     27:        is regarded as an error.
                     28:        In[3]=debug/asir0.k    you need to start k0 with -f option.
                     29:        In[4]=In[5]=
                     30:
                     31:        がこのようにでたら,
                     32:
                     33:        load("a24.k");
                     34:
                     35:        とします.  a24.k がロードされ, 関数 toric が実行されて
                     36:        結果が表示されます.
                     37:
                     38:    [4] 画面に, いくつかメッセージが表示された後に,
                     39:
                     40:         ---------- generators of the toric ideal are -----
                     41:         [    -z[2]*z[1]+z[3]*z[0] ]
                     42:
                     43:        と表示されたら計算が終了です.  上の元が, affine toric variety の
                     44:        (イデアルの)生成元です.  この場合には一つしかありません.
                     45:
                     46:    [5] 計算結果は変数 ans にもはいっています.
                     47:       (ans = toric(A) と代入しているから.)
                     48:
                     49:        ans :
                     50:
                     51:       と入力すれば次のように ans の内容を表示してくれます.
                     52:
                     53:       In[7]=ans :
                     54:       [    -z[2]*z[1]+z[3]*z[0] ]
                     55:       In[8]=
                     56:
                     57:   [6] ans の中身を ファイルにセーブしたい場合は,
                     58:
                     59:       Save(ans);
                     60:
                     61:       と入力して下さい. sm1out.txt にセーブされます.
                     62:       すでに, sm1out.txt が存在する場合は,  ans が追加してかきこまれます.
                     63:
                     64:   [7] quit();  と入力すると k0 を終了します.
                     65:
                     66:   [注意事項] 行列 A の要素は, 負のものを含んではいけません.
                     67:   [注意事項] 環を定義したときの変数の最大個数は, 100 です.
                     68:              作業用の変数もありますので, 行列 A の縦と横のサイズの和が
                     69:              100 に近付いたらもう計算できません.
                     70:
                     71:
                     72: Q. A-超幾何方程式の Fourier 変換の計算法.
                     73:
                     74: A.
                     75:  [1] A = \matrix{1&1&1&1\cr
                     76:                    0&1&0&1\cr
                     77:                    0&0&1&1\cr} の時の例を示します.
                     78:        次のような内容のファイルを作ります.
                     79:        名前を, i24.k としましょう.
                     80:
                     81:        load("debug/toric0.k");
                     82:        fff = ["z[0]*Dz[0]+z[1]*Dz[1]+z[2]*Dz[2]+z[3]*Dz[3]-z[5]",
                     83:               "           z[1]*Dz[1]           +z[3]*Dz[3]-z[6]",
                     84:               "                      z[2]*Dz[2]+z[3]*Dz[3]+z[7]",
                     85:               "z[0]*z[3]-z[1]*z[2]"];
                     86:        ans = zindicial(fff,4,3);
                     87:
                     88:
                     89:        A-超幾何方程式 の toric part
                     90:               "z[0]*z[3]-z[1]*z[2]"
                     91:        は, 関数 toric で計算しておいたものを使います.
                     92:
                     93:        方程式の変数は必ず, z[i], Dz[i] (i は 0 から) を使います.
                     94:        z[i] が空間変数, Dz[i] が, 微分変数です.
                     95:        式を "  でかこむことを忘れないで下さい.
                     96:
                     97:        ans = zindicial(fff,4,3);
                     98:
                     99:        4 は Dz[i] の現れる最大 index +1 です.  今の場合, Dz[3] が最後の
                    100:        微分変数ですから, 4 な訳です.
                    101:        n = Dz[i] の現れる最大 index +1
                    102:        とおくとパラメータはかならず,
                    103:        z[n+1], ..., z[n+m] で与えます.
                    104:        ここで, m はパラメータの個数です.
                    105:        今の場合, z[5],z[6],z[7] がパラメータです.
                    106:        この m,n を用いると, zindicial は
                    107:        ans = zindicial(fff,n,m);
                    108:        とよぶことになります.
                    109:
                    110:
                    111:    [2]  k0 を起動します.
                    112:
                    113:       k0
                    114:
                    115:    [3] いくつかメッセージが表示されて, k0 のプロンプト In[??]=
                    116:
                    117:              省略
                    118:        Overloaded on pushVariables and popVariables.
                    119:        ctrl-C signal is caught in KSexecuteString() and <<Warning>>
                    120:        is regarded as an error.
                    121:        In[3]=debug/asir0.k    you need to start k0 with -f option.
                    122:        In[4]=In[5]=
                    123:
                    124:        がこのようにでたら,
                    125:
                    126:        load("i24.k");
                    127:
                    128:        とします.  a24.k がロードされ, 関数 zindicial が実行されて
                    129:        結果が表示されます.
                    130:
                    131:
                    132: Q. 結果を因数分解したい.
                    133:
                    134: A.  save してから, 他の数式処理システムで因数分解して下さい.
                    135:
                    136:   もし, asir がインストールしてあれば,
                    137:    k0 -f
                    138:   と -f オプションをつけて k0 を起動しておくことにより,  関数
                    139:      Factor
                    140:   で因数分解ができます.
                    141:
                    142:
                    143:

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>