Annotation of OpenXM/src/k097/debug/toric0.txt, Revision 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>