3 * Introduction to Affine::
4 * Functions and Variables for Affine::
7 @node Introduction to Affine, Functions and Variables for Affine, Affine, Affine
8 @section Introduction to Affine
10 @code{affine}は多項式の群を扱うパッケージです。
13 @category{Polynomials}
14 @category{Groebner bases}
15 @category{Share packages}
16 @category{Package affine}
20 @node Functions and Variables for Affine, , Introduction to Affine, Affine
21 @section Functions and Variables for Affine
23 @deffn {関数} fast_linsolve ([@var{expr_1}, ..., @var{expr_m}], [@var{x_1}, ..., @var{x_n}])
24 変数@var{x_1}, ..., @var{x_n}に関する連立線形方程式@var{expr_1}, ..., @var{expr_m}
26 @var{expr_i}それぞれは、等式か一般式を取り得ます;
28 形式@code{@var{expr_i} = 0}の等式として扱われます。
31 形式@code{[@var{x_1} = @var{a_1}, ..., @var{x_n} = @var{a_n}]}
33 ここで、@var{a_1}, ..., @var{a_n}はすべて@var{x_1}, ..., @var{x_n}を含みません。
35 @code{fast_linsolve}は、
36 粗な方程式系に対して@code{linsolve}より速いです。
38 @code{load("affine")}はこの関数をロードします。
41 @category{Package affine}
45 @deffn {関数} grobner_basis ([@var{expr_1}, ..., @var{expr_m}])
46 等式@var{expr_1}, ..., @var{expr_m}のグレブナー基底を返します。
48 その後、関数@code{polysimp}を使うことができます。
51 grobner_basis ([3*x^2+1, y*x])$
53 polysimp (y^2*x + x^3*9 + 2) ==> -3*x + 2
57 @var{f}が@var{expr_1}, ..., @var{expr_m}によって生成されたイデアルに含まれるときだけ、
58 すなわち、@var{f}が@var{expr_1}, ..., @var{expr_m}の要素の多項式結合の時だけ、
61 @code{load("affine")}はこの関数をロードします。
64 @category{Package affine}
68 @c NEEDS CLARIFICATION IN A SERIOUS WAY
69 @deffn {関数} set_up_dot_simplifications (@var{eqns}, @var{check_through_degree})
70 @deffnx {関数} set_up_dot_simplifications (@var{eqns})
71 The @var{eqns}は、非可換変数を含む多項式方程式です
72 @code{current_variables}の値は、次数を計算するために使われる変数のリストです。
73 手続きが終了するためには、方程式は斉次でなければいけません。
76 @var{f}の次数上の@code{dot_simplifications}に関する重複整理をチェックしたら、
78 @var{f}が方程式によって生成されたイデアルに含まれる時だけ、
79 すなわち、@var{f}が方程式の要素の多項式結合の時だけ、
80 @code{dotsimp (@var{f})}は、0をもたらします。
82 次数は@code{nc_degree}で返されるものです。
83 これは、さらに、個々の変数の重みに影響されます。
85 @code{load("affine")}はこの関数をロードします。
88 @category{Package affine}
92 @deffn {関数} declare_weights (@var{x_1}, @var{w_1}, ..., @var{x_n}, @var{w_n})
94 @var{w_1}, ..., @var{w_n}
95 それぞれを@var{x_1}, ..., @var{x_n}に割り当てます。
96 これらは、@code{nc_degree}を計算する時に使われる重みです。
98 @code{load("affine")}はこの関数をロードします。
101 @category{Package affine}
105 @deffn {関数} nc_degree (@var{p})
106 非可換多項式@var{p}の次数を返します。
107 @code{declare_weights}を参照してください。
109 @code{load("affine")}はこの関数をロードします。
112 @category{Package affine}
116 @c NEEDS CLARIFICATION -- TO WHICH EQUATIONS DOES THIS DESCRIPTION REFER ??
117 @deffn {関数} dotsimp (@var{f})
118 @var{f}が方程式によって生成されたイデアルに含まれる時だけ、
119 すなわち、@var{f}が方程式の要素の多項式結合の時だけ、
122 @code{load("affine")}はこの関数をロードします。
125 @category{Package affine}
129 @deffn {関数} fast_central_elements ([@var{x_1}, ..., @var{x_n}], @var{n})
130 もし@code{set_up_dot_simplifications}が以前に実行されていたら、
131 与えられた次数@var{n}での変数@var{x_1}, ..., @var{x_n}に関する中心多項式
136 set_up_dot_simplifications ([y.x + x.y], 3);
137 fast_central_elements ([x, y], 2);
141 @code{load("affine")} loads this function.
144 @category{Package affine}
148 @c THIS IS NOT AT ALL CLEAR
149 @deffn {関数} check_overlaps (@var{n}, @var{add_to_simps})
150 次数@var{n}までの重複をチェックします。
151 すなわち、@code{dotsimp}が正しく機能するように、
152 それぞれの次数で十分な整理規則を持つことを確認します。
153 もしあらかじめ単項式の空間次元が何か知っているなら、
156 @code{hilbert}が使われるべきです。
158 @code{rank_function}を指定しないでください。
159 オプションの三番目の引数@code{reset}は、
160 @code{false}は、物事の再設定についてわざわざ問い合わせないように言います。
162 @code{load("affine")}はこの関数をロードします。
165 @category{Package affine}
169 @deffn {関数} mono ([@var{x_1}, ..., @var{x_n}], @var{n})
170 次数@var{n}の変数@var{x_1}, ..., @var{x_n}に関する現在のドット整理に関係した
173 @code{load("affine")} loads this function.
176 @category{Package affine}
180 @deffn {関数} monomial_dimensions (@var{n})
181 カレント代数に関する次数@var{n}までのヒルベルト級数を計算します。
183 @code{load("affine")}はこの関数をロードします。
186 @category{Package affine}
190 @deffn {関数} extract_linear_equations ([@var{p_1}, ..., @var{p_n}], [@var{m_1}, ..., @var{m_n}])
192 非可換単項式@var{m_1}, ..., @var{m_n}の
193 非可換多項式@var{p_1}, ..., @var{p_n}
196 単項式のリストを組み立てるには、@code{list_nc_monomials}を使ってください。
198 @code{load("affine")}はこの関数をロードします。
201 @category{Package affine}
205 @deffn {関数} list_nc_monomials ([@var{p_1}, ..., @var{p_n}])
206 @deffnx {関数} list_nc_monomials (@var{p})
208 多項式@var{p}または多項式のリスト@var{p_1}, ..., @var{p_n}
209 の中に現れる非可換単項式のリストを返します。
211 @code{load("affine")}はこの関数をロードします。
214 @category{Package affine}
218 @c THIS FUNCTION DOESN'T SEEM TO BE APPROPRIATE IN USER-LEVEL DOCUMENTATION
219 @c PRESERVE THIS DESCRIPTION PENDING FURTHER DECISION
220 @c @defun pcoeff (poly monom [variables-to-exclude-from-cof (list-variables monom)])
222 @c This function is called from Lisp level, and uses internal poly format.
225 @c CL-MAXIMA>>(setq me (st-rat #$x^2*u+y+1$))
226 @c (#:Y 1 1 0 (#:X 2 (#:U 1 1) 0 1))
228 @c CL-MAXIMA>>(pcoeff me (st-rat #$x^2$))
233 @c Rule: if a variable appears in monom it must be to the exact power,
234 @c and if it is in variables to exclude it may not appear unless it was
235 @c in monom to the exact power. (pcoeff pol 1 ..) will exclude variables
236 @c like substituting them to be zero.
240 @c THIS FUNCTION DOESN'T SEEM TO BE APPROPRIATE IN USER-LEVEL DOCUMENTATION
241 @c PRESERVE THIS DESCRIPTION PENDING FURTHER DECISION
242 @c @defun new-disrep (poly)
244 @c From Lisp this returns the general Maxima format for an arg which is
248 @c (displa(new-disrep (setq me (st-rat #$x^2*u+y+1$))))
256 @defvr {オプション変数} all_dotsimp_denoms
259 @code{all_dotsimp_denoms}がリストの時、
260 @code{dotsimp}が出会う分母がリストに追加されます。
261 @code{all_dotsimp_denoms}は、
262 @code{dotsimp}をコールする前に
263 空のリスト@code{[]}に初期化されるかもしれません。
265 デフォルトでは、@code{dotsimp}は分母を集めません。
268 @category{Package affine}