=================================================================== RCS file: /home/cvs/OpenXM/doc/Papers/rims2004-noro.tex,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- OpenXM/doc/Papers/rims2004-noro.tex 2004/12/10 07:52:37 1.1 +++ OpenXM/doc/Papers/rims2004-noro.tex 2004/12/11 09:12:23 1.2 @@ -60,7 +60,7 @@ $$m_i(x_1,\dots,x_i)=c_{d_i} x_i^{d_i}+c_{d_{i-1}}(x_1 とする. このとき, $G=\{m_1,\ldots,m_n\}$ は, $x_n > x_{n-1} > \cdots > x_1$ なる辞書式順序に関する $I$ のグレブナー基底となっている. $Q[X]/I$ の元 $h(x) \bmod I$ に対し, -$h_0 \equiv h \bmod I$, $\deg_{x_i}(h_0) < d_i$ なる $h_i$ は +$h_0 \equiv h \bmod I$, $\deg_{x_i}(h_0) < d_i$ なる $h_0$ は $G$ に関する正規形 $\NF_G(h)$ に等しい. $h_0$ は, グレブナー基底を持ち出すまでもなく, 1 変数多項式の剰余計算に @@ -162,7 +162,8 @@ $J =\langle B \rangle \subset R = F[x_1,\ldots,x_n]$ を $R$ の真のイデアルとする. $<$ を $R$ の項順序とする. $R$ の項順序 $<_F$ を $<$ および $F$ の $t_1 < \cdots < t_l$ なる辞書式順序からなるブロック順序 ($t_1^{a_1}\cdots t_l^{a_l} <_F x_1^{b_1}\cdots x_n^{b_n}$) -とする. このとき, $B_F = B \cup \{m_1,\ldots,m_l\}$ の $<_F$ に関する +とする. このとき, $B_F = B \cup \{m_1,\ldots,m_l\}$ の生成するイデアル +の $<_F$ に関する グレブナー基底 $G_F$ の元のうち変数 $x_1,\ldots,x_n$ を含むものの集合 $G$ は, $J$ の $<$ に関するグレブナー基底となる. $G_F$ が簡約 グレブナー基底ならば, $G$ の元の頭項は $t_1,\ldots,t_l$ を含まない. @@ -253,7 +254,23 @@ typedef struct oDAlg { 現在の試験的実装は, {\tt nd\_gr} および {\tt nd\_gr\_trace} を, 入力多 項式集合に最小多項式を追加して実行し, 前節で述べたような変更 (monic 化) -を加える, という形で行っている. これに対し, 代数的数を完全に係数に取り +を加える, という形で行っている. 入力は, {\tt Alg} 型を係数に含む +多項式集合でよい. 例えば $\langle \sqrt{2}x^2+(\sqrt{2}+\sqrt{3})xy+\sqrt{3}y^2-\sqrt{3},(\sqrt{2}-2\sqrt{3})x^2+2\sqrt{3}xy+2\sqrt{2}x^2+\sqrt{2}+\sqrt{3}\rangle$ の辞書式順序グレブナー基底の計算は次のようにすればよい. +\begin{verbatim} +[0] S2=newalg(x^2-2); +(#0) +[1] S3=newalg(x^2-3); +(#1) +[2] F1=S2*x^2+(S2+S3)*x*y+S3*y^2-S3$ +F2=(S2-2*S3)*x^2+2*S3*x*y+2*S2*x^2+S2+S3]$ +[3] nd_gr_trace([F1,F2],[x,y],1,1,2); +[90*y^4+(-21*#0*#1-246)*y^2+(16*#0*#1+144), +20*x+(15*#0*#1-60)*y^3+(-7*#0*#1+83)*y] +\end{verbatim} +内部的には, 代数的数は, 元の多項式変数と同等に扱われ, 正規化計算は有理数体 +上で行われる. monic 化の際にのみ, 本来の係数が代数的数 ({\tt DAlg 型}) と +して取り出され, 逆元計算などが行われる. +これに対し, 代数的数を完全に係数に取り 込んで, 係数に関して既に述べたような簡約化および逆元計算を行うという方 法も考えられる. 前者の場合, 簡約化が $\Q$ 上で行われるので, 既に実装し てある, 係数の content 除去が自動的に適用される. sugar 値に, 代数的数