Annotation of OpenXM/src/asir-contrib/packages/doc/todo_parametrize/todo_parametrize-ja.texi, Revision 1.3
1.3 ! takayama 1: @comment $OpenXM: OpenXM/src/asir-contrib/packages/doc/todo_parametrize/todo_parametrize-ja.texi,v 1.2 2017/03/30 06:16:37 takayama Exp $
1.1 takayama 2: @comment Copyright (c) 2005, Shuhei Todo,
3: @comment Permission is granted to copy, distribute and/or modify this document
4: @comment under the terms of the GNU Free Documentation License, Version 1.1
5: @comment or any later version published by the Free Software Foundation;
6: @comment with the Invariant Sections being LIST THEIR TITLES, with the
7: @comment Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
8: @comment A copy of the license is included in the section entitled "GNU
9: @comment Free Documentation License".
10: @comment
11: \input texinfo
12: @comment \input texinfo
13: @iftex
14: @catcode`@#=6
15: @def@fref#1{@xrefX[#1,,@code{#1},,,]}
1.3 ! takayama 16: @def@b#1{{@bf #1}}
1.1 takayama 17: @catcode`@#=@other
18: @end iftex
19: @overfullrule=0pt
20: @c -*-texinfo-*-
21: @comment %**start of header
1.2 takayama 22: @comment --- おまじない終り ---
1.1 takayama 23:
1.2 takayama 24: @comment --- GNU info ファイルの名前 ---
1.1 takayama 25: @setfilename asir-contrib-todo_parametrize_ja
26:
1.2 takayama 27: @comment --- タイトル ---
28: @settitle Risa/Asir 代数曲線論用パッケージ
1.1 takayama 29:
30: @comment %**end of header
31: @comment %@setchapternewpage odd
32:
1.2 takayama 33: @comment --- おまじない ---
1.1 takayama 34: @ifinfo
35: @macro fref{name}
36: @ref{\name\,,@code{\name\}}
37: @end macro
38: @end ifinfo
39:
40: @iftex
41: @comment @finalout
42: @end iftex
43:
44: @titlepage
1.2 takayama 45: @comment --- おまじない終り ---
1.1 takayama 46:
1.2 takayama 47: @comment --- タイトル, バージョン, 著者名, 著作権表示 ---
48: @title Risa/Asir 代数曲線論用パッケージ説明書
49: @subtitle 利用説明書
50: @subtitle 1.0 版
51: @subtitle 2004 年 8 月
1.1 takayama 52:
53: @author by Shuhei Todo
54: @page
55: @vskip 0pt plus 1filll
56: Copyright @copyright{} Risa/Asir committers
57: 2001. All rights reserved.
58: @end titlepage
59:
1.2 takayama 60: @comment --- おまじない ---
1.1 takayama 61: @synindex vr fn
1.2 takayama 62: @comment --- おまじない終り ---
1.1 takayama 63:
1.2 takayama 64: @comment --- @node は GNU info, HTML 用 ---
65: @comment --- @node の引数は node-name, next, previous, up ---
1.1 takayama 66: @node Top,, (dir), (dir)
67:
68: @menu
1.2 takayama 69: * 関数簡易マニュアル::
1.1 takayama 70: * Index::
71: @end menu
72:
1.2 takayama 73: @node 関数簡易マニュアル,,, Top
74: @chapter 関数簡易マニュアル
1.1 takayama 75:
76: @menu
1.2 takayama 77: * 概要::
1.1 takayama 78: * Notation::
1.2 takayama 79: * 主な関数::
80: * その他の関数::
1.1 takayama 81: @end menu
82:
1.2 takayama 83: @node 概要,,, 関数簡易マニュアル
84: @section 概要
1.1 takayama 85:
1.2 takayama 86: @comment --- 書体指定について ---
87: @comment --- @code{} はタイプライタ体表示 ---
88: @comment --- @var{} は斜字体表示 ---
89: @comment --- @b{} はボールド表示 ---
90: @comment --- @samp{} はファイル名などの表示 ---
91:
92: このパッケージには、代数曲線の諸性質を調べるための関数が
93: 集められている。主な機能は、代数曲線に対して定義される以下
94: の対象を計算できることである:
95: @itemize @bullet
96: @item 2曲線の交点の座標
97: @item 特異点の座標
98: @item neighborhood graph(二次変換によって特異点がどのように
99: 分解されるかを表すtree)
100: @item 既約曲線の種数
101: @item 随伴曲線(adjoint curves)
102: @item 二次曲線上の有理点
103: @item 有理曲線(種数0の曲線)をパラメトライズする有理関数
104: @end itemize
105: その他、多項式の全次数を計算するといったような予備的な関数群
106: が用意されている。ユーザーの入力する代数曲線の定義多項式は必ず
107: 有理数体上の変数@var{x,y,z} の@b{斉次}多項式でなければならない。
1.1 takayama 108:
1.2 takayama 109: @node Notation,,,関数簡易マニュアル
1.1 takayama 110: @section Notation
111:
1.2 takayama 112: 本書で用いられる記号について、次のような約束をしておく。
1.1 takayama 113: @itemize @bullet
1.2 takayama 114: @item 点@code{[x,y,z]} とは射影平面の点の斉次座標
115: @var{(x:y:z)}を意味し、特に断りがなければ、@var{z=0}でない
116: ときは必ず@var{z=1}となるように正規化されている。
117: @item Q は有理数体、
1.1 takayama 118: @tex $\overline{Q}$ @end tex
1.2 takayama 119: は代数的数全体のなす体を意味する。
1.1 takayama 120: @end itemize
121:
1.2 takayama 122: @node 主な関数,,, 関数簡易マニュアル
123: @section 主な関数
1.1 takayama 124:
125: @menu
126: * intersect::
127: * sing::
128: * nbh::
129: * genus::
130: * adjoint1,adjoint2::
131: * intpt::
132: * parametrize::
133: @end menu
134:
1.2 takayama 135: @node intersect,,, 主な関数
1.1 takayama 136: @subsection @code{intersect}
1.2 takayama 137: @comment --- 索引用キーワード---
1.1 takayama 138: @findex intersect
139:
1.2 takayama 140: @comment --- 関数の簡単な説明 ---
1.1 takayama 141: @table @t
142: @item intersect(@var{F},@var{G})
1.2 takayama 143: :: 2曲線@var{F=0},@var{G=0} の交点の座標からなるリストを返す.
1.1 takayama 144: @end table
145:
1.2 takayama 146: @comment --- 引数の簡単な説明 ---
1.1 takayama 147: @table @var
148: @item return
1.2 takayama 149: リスト
1.1 takayama 150: @item F G
1.2 takayama 151: 変数x,y,z の斉次多項式
1.1 takayama 152: @end table
153:
1.2 takayama 154: @comment --- ここで関数の詳しい説明 ---
1.1 takayama 155: @itemize @bullet
1.2 takayama 156: @item 2曲線@var{F=0},@var{G=0} の交点@code{[x,y,z]}からなる
157: リストを返す。
158: @item @var{F},@var{G}は共通因子を持っていてはいけない。
1.1 takayama 159: @end itemize
160:
1.2 takayama 161: @comment --- @example〜@end example は実行例の表示 ---
1.1 takayama 162: @example
163: [1] intersect(y^2-x*z,(x^2+y^2)^3-4*x^2*y^2*z^2);
164: [[0,0,1],[(#4),(#5),1]]
165: [2] defpoly(alg(4));
166: t#4^3+3*t#4^2+3*t#4-3
167: [3] defpoly(alg(5));
168: t#5^2-t#4
169: [4] intersect(x^2-y^2,x^3+y*x^2+(y^2-z^2)*x+y^3-z^2*y);
170: ***two curve have common components***
171: @end example
172:
173:
1.2 takayama 174: @node sing,,, 主な関数
1.1 takayama 175: @subsection @code{sing}
1.2 takayama 176: @comment --- 索引用キーワード---
1.1 takayama 177: @findex sing
178:
1.2 takayama 179: @comment --- 関数の簡単な説明 ---
1.1 takayama 180: @table @t
181: @item sing(@var{F})
1.2 takayama 182: :: 曲線@var{F=0} の特異点の座標からなるリストを返す.
1.1 takayama 183: @end table
184:
1.2 takayama 185: @comment --- 引数の簡単な説明 ---
1.1 takayama 186: @table @var
187: @item return
1.2 takayama 188: リスト
1.1 takayama 189: @item F
1.2 takayama 190: 変数x,y,z の斉次多項式
1.1 takayama 191: @end table
192:
1.2 takayama 193: @comment --- ここで関数の詳しい説明 ---
1.1 takayama 194: @itemize @bullet
1.2 takayama 195: @item 曲線@var{F=0} の特異点@code{[x,y,z]}(
1.1 takayama 196: @tex
197: $F_x(x,y,z)=F_y(x,y,z)=F_z(x,y,z)=0$
198: @end tex
1.2 takayama 199: を満たす点)からなるリスト
200: を返す。
201: @item @var{F}は重複因子を持っていてはいけない(定義より
202: 重複因子の零点はすべて特異点である)。
1.1 takayama 203: @end itemize
204:
1.2 takayama 205: @comment --- @example〜@end example は実行例の表示 ---
1.1 takayama 206: @example
207: [1] sing(16*x^6-24*z^2*x^4+9*z^4*x^2+4*z^2*y^4-4*z^4*y^2);
208: [[0,0,1],[(#4),0,1],[1/2,(#3),1],[-1/2,(#3),1],[0,1,0]]
209: [2] defpoly(alg(3));
210: 2*t#3^2-1
211: [3] defpoly(alg(4));
212: 4*t#4^2-3
213: [4] sing((x-y)*(y^2-x*z));
214: [[1,1,1],[0,0,1]]
215: [5] sing((x-y)^2*(y^2-x*z));
216: ***Argument has multiple divisor***
217: @end example
218:
1.2 takayama 219: @comment --- 参照(リンク)を書く ---
1.1 takayama 220: @table @t
1.2 takayama 221: @item 参照
1.1 takayama 222: @ref{nbh}
223: @ref{multia}
224: @end table
225:
226:
1.2 takayama 227: @node nbh,,, 主な関数
1.1 takayama 228: @subsection @code{nbh}
229: @findex nbh
230:
1.2 takayama 231: @comment --- 関数の簡単な説明 ---
1.1 takayama 232:
233: @table @t
234: @item nbh(@var{F})
1.2 takayama 235: :: 曲線@var{F}=0 のneighborhood graph を返す。
1.1 takayama 236: @end table
237:
238: @table @var
239: @item return
1.2 takayama 240: リスト
1.1 takayama 241: @item F
1.2 takayama 242: 変数x,y,z の斉次多項式
1.1 takayama 243: @end table
244:
245: @itemize @bullet
1.2 takayama 246: @item 曲線@var{F=0} のneigborhood graph を表すリストを返す。
247: neighborhood graph とは二次変換によって特異点がどのように
248: 分解されるかを表すtreeである。分解によって現れる点のことを
249: 隣接点と呼ぶ。特異点、隣接点の情報は、それぞれ次のような
250: @b{ベクトル}によって表される。
1.1 takayama 251:
252: @table @code
1.2 takayama 253: @item 特異点
254: [ 点の個数, 点の座標, [重複度, 通常特異点(=1)かそうでない(=-1)か], [この(これらの)特異点から出てくる隣接点の情報(これ以上隣接点が現れない場合は''terminal'')] ]
255: @item 隣接点
256: [ 点の個数, [重複度, 通常特異点(=1)かそうでないか(=-1)か], [この(これらの)隣接点から出てくる隣接点の情報(これ以上隣接点が現れない場合は''terminal'')] ]
257: @item 一般に、特異点の座標は代数的数になる。この場合、代数的数を共役な代数的数で置き換えて得られる点もまた、特異点になる。この性質を利用して複数の特異点を一度に表示するのであるが、特異点ベクトルの最初の引数「点の個数」はこのような表示によって、いくつの特異点が表されているかを示している。したがって、特異点が有理点ならば、点の個数=1 である。隣接点ベクトルの最初の引数である「点の個数」は親ベクトルの表す各点から、この数だけ同じタイプの隣接点が出てくることを意味する。
1.1 takayama 258: @end table
259:
1.2 takayama 260: @item neighborhood graph はこれらのベクトルを入れ子にしたリストによって表現されている。
1.1 takayama 261:
262: @example
263: [1] F=x^6+3*y^2*x^4+(3*y^4-4*z^2*y^2)*x^2+y^6;
264: x^6+3*y^2*x^4+(3*y^4-4*z^2*y^2)*x^2+y^6
265: [2] sing(F);
266: [[0,0,1],[(#0),1,0]]
267: [3] nbh(F);
268: [ 1 [0,0,1] [4,-1] [[ 1 [2,1] [terminal] ],[ 1 [2,1] [terminal] ]] ]
269: [ 2 [(#0),1,0] [2,-1] [[ 1 [1,1] [terminal] ]] ]
270: @end example
1.2 takayama 271: 特異点@code{[0,0,1]} は重複度4 の通常でない特異点であり、
272: 2つの隣接点をもつ。それらはどちらとも重複度2 の通常特異点
273: である。特異点@code{[(#0),1,0]}の隣接点は単純点である。
274: @item @var{F}は重複因子を持っていてはいけない。
1.1 takayama 275: @end itemize
276:
277: @table @t
1.2 takayama 278: @item 参照
1.1 takayama 279: @ref{sing}
280: @end table
281:
282:
1.2 takayama 283: @node genus,,, 主な関数
1.1 takayama 284: @subsection @code{genus}
285: @findex genus
286:
287: @table @t
288: @item genus(@var{F})
1.2 takayama 289: :: 曲線@var{F=0} の特異点の座標からなるリストを返す.
1.1 takayama 290: @end table
291:
1.2 takayama 292: @comment --- 引数の簡単な説明 ---
1.1 takayama 293: @table @var
294: @item return
1.2 takayama 295: 0以上の整数
1.1 takayama 296: @item F
1.2 takayama 297: 変数x,y,z の斉次多項式
1.1 takayama 298: @end table
299:
1.2 takayama 300: @comment --- ここで関数の詳しい説明 ---
1.1 takayama 301: @itemize @bullet
1.2 takayama 302: @item 曲線@var{F=0} の種数を返す。
303: @item @var{F} は@tex $\overline{Q}[x,y,z]$ @end tex
304: において既約でなければならない。この条件の下でしか正確な値が返される保証がない。Q[x,y,z] において既約であったとしても、
1.1 takayama 305: @tex $\overline{Q}[x,y,z]$ @end tex
1.2 takayama 306: で既約とは限らないので注意を要する。入力がこの条件を満たして
307: いるかどうかはチェックされない。
1.1 takayama 308: @end itemize
309:
1.2 takayama 310: @comment --- @example〜@end example は実行例の表示 ---
1.1 takayama 311: @example
312: [1] genus(x^6+3*y^2*x^4+(3*y^4-4*z^2*y^2)*x^2+y^6);
313: 0
314: [2] genus(y^2*z-x^3-z^3);
315: 1
316: [3] genus(x^2+y^2+z^2-x*y-y*z-z*x);
317: -1
318: [4] fctr(x^2+y^2+z^2-x*y-y*z-z*x);
319: [[1,1],[x^2+(-y-z)*x+y^2-z*y+z^2,1]]
320: [5] irr_conic(x^2+y^2+z^2-x*y-y*z-z*x);
321: reducible
322: @end example
323:
324: @table @t
1.2 takayama 325: @item 参照
1.1 takayama 326: @ref{irr_conic}
327: @end table
328:
1.2 takayama 329: @node adjoint1 adjoint2,,, 主な関数
1.1 takayama 330: @subsection @code{adjoint1},@code{adjoint2}
331: @findex adjoint1
332: @findex adjoint2
333:
334: @table @t
335: @item adjoint1(@var{F})
336: @itemx adjoint2(@var{F})
1.2 takayama 337: :: それぞれ曲線@var{F=0}のn-1次,n-2次の随伴曲線(adjoint
338: curve)を返す(n=deg(F))。
1.1 takayama 339: @end table
340:
341: @table @var
342: @item return
1.2 takayama 343: 線形のパラメーターを含む変数x,y,z の斉次多項式
1.1 takayama 344: @item F
1.2 takayama 345: 変数x,y,z の斉次多項式
1.1 takayama 346: @end table
347:
348: @itemize @bullet
1.2 takayama 349: @item n-2 次の曲線@var{G=0}が曲線@var{F=0} の重複度r の点を少なくとも重複度r-1 にもつとき、曲線@var{G=0}を曲線@var{F=0} のn-2 次の随伴曲線(adjoint curve)と呼ぶ。n-1 個の随伴曲線
1.1 takayama 350: @tex
351: $G_0=0,G_1=0, \ldots ,G_{n-2}=0$
352: @end tex
1.2 takayama 353: が存在して、n-2 次の随伴曲線の定義多項式全体は
1.1 takayama 354: @tex
1.2 takayama 355: $c_0G_0+c_1G_1+ \ldots +c_{n-2}G_{n-2}$ ($c_{i}$ は係数体の元)
1.1 takayama 356: @end tex
1.2 takayama 357: と表される。@code{adjoint2}(@var{F}) は、このn-1 個の線形のパラメーターを含んだ斉次多項式を返す。n-1 次の随伴曲線も同様に定義される。n-1 次の随伴曲線の定義多項式全体も上と同様に、2n-1 個の線形パラメーターを含んだn-1 次の斉次多項式で表される。@code{adjoint1}(@var{F}) はこの多項式を返す。
358: @item 最初にパラメーターのリストと、その長さが表示される。
359: @item @var{F}は重複因子を持っていてはいけない。
1.1 takayama 360: @end itemize
361:
362: @example
363: [1] adjoint2(x^6+3*y^2*x^4+(3*y^4-4*z^2*y^2)*x^2+y^6);
364: [c2,c3,c4,c6,c7] 5
365: (c2-c4)*x^4+c3*y*x^3+(c2*y^2+c6*z*y)*x^2+(c3*y^3+c7*z*y^2)*x+c4*y^4
366: [2] adjoint1(F);
367: [c1,c7,c11,c12,c13,c15,c16,c17,c18,c19,c20] 11
368: (c1*y+(c11-c15+c18-c20)*z)*x^4+(c13*y^2+c7*z*y+c11*z^2)*x^3+(c17*z*y^2+c12*z^2*y
369: +c15*z^3)*x^2+(c13*z^2*y^2+c16*z^3*y+c18*z^4)*x+c17*z^3*y^2+c19*z^4*y+c20*z^5
370: @end example
371:
372: @table @t
1.2 takayama 373: @item 参照
1.1 takayama 374: @ref{restriction}
375: @end table
376:
377:
1.2 takayama 378: @node intpt,,, 主な関数
1.1 takayama 379: @subsection @code{intpt}
1.2 takayama 380: @comment --- 索引用キーワード---
1.1 takayama 381: @findex intpt
382:
1.2 takayama 383: @comment --- 関数の簡単な説明 ---
1.1 takayama 384: @table @t
385: @item intpt(@var{F})
1.2 takayama 386: :: 二次曲線@var{F=0} 上の整数点@code{[x,y,z]} をひとつ見つけて返す。整数点が存在しなければ、文字列@code{no integer solution}を返す。
1.1 takayama 387: @end table
388:
1.2 takayama 389: @comment --- 引数の簡単な説明 ---
1.1 takayama 390: @table @var
391: @item return
1.2 takayama 392: リスト、あるいは文字列@code{no integer solution}.
1.1 takayama 393: @item F
1.2 takayama 394: 変数x,y,z の二次の斉次多項式
1.1 takayama 395: @end table
396:
1.2 takayama 397: @comment --- ここで関数の詳しい説明 ---
1.1 takayama 398: @itemize @bullet
1.2 takayama 399: @item 二次曲線@var{F=0} 上に整数点(affineでいう有理点)が
400: あれば、その座標@code{[x,y,z]}を返す。@code{x},@code{y},
401: @code{z} はすべて整数である。整数点が存在しないときは
402: 文字列@code{no integer solution} を返す。
403: @item 三元二次形式の整数解を求める古典的なLegendreの方法を用いている。サブルーチンで二次の合同方程式を解く際、単に総当り法を用いているだけので、@var{F} の係数が大きくなると非常に時間がかかる。
1.1 takayama 404: @end itemize
405:
406: @example
407: [1] intpt(22*x^2-10*y^2+z^2+5*x*y+13*y*x-z*x);
408: [71,-121,473]
409: [2] intpt(22*x^2-10*y^2+z^2+5*x*y+12*y*x-z*x);
410: no integer solution
411: @end example
412:
413:
1.2 takayama 414: @node parametrize,,, 主な関数
1.1 takayama 415: @subsection @code{parametrize}
1.2 takayama 416: @comment --- 索引用キーワード---
1.1 takayama 417: @findex parametrize
418:
1.2 takayama 419: @comment --- 関数の簡単な説明 ---
1.1 takayama 420: @table @t
421: @item parametrize(@var{F})
1.2 takayama 422: :: 有理曲線@var{F=0} をパラメトライズする多項式の組を返す。
1.1 takayama 423: @end table
424:
1.2 takayama 425: @comment --- 引数の簡単な説明 ---
1.1 takayama 426: @table @var
427: @item return
1.2 takayama 428: リスト
1.1 takayama 429: @item F
1.2 takayama 430: 有理曲線の定義多項式(変数x,y,z の斉次多項式)
1.1 takayama 431: @end table
432:
1.2 takayama 433: @comment --- ここで関数の詳しい説明 ---
1.1 takayama 434: @itemize @bullet
1.2 takayama 435: @item 有理曲線@var{F=0}(種数が0の曲線)は、変数t の多項式P(t),Q(t),R(t) およびx,y,zの斉次多項式S(x,y,z),T(x,y,z)を用いて(x:y:z)=(P(t):Q(t):R(t)), t=T(x,y,z)/S(x,y,z) とパラメーター表示される。@code{parametrize}(@var{F}) はこれらの多項式からなるリスト@code{[P(t),Q(t),R(t),T(x,y,z)/S(x,y,z)]} を返す(GCD(@code{P(t)},@code{Q(t)},@code{R(t)})=1 である)。一般にはP(t),Q(t),R(t) は係数に有理数の平方根を含む多項式となるが、有理数係数の多項式で曲線をパラメトライズできる場合は、@b{常に}有理数係数の多項式の組を返す(例えば曲線の次数が奇数の場合)。
436: @item @var{F} は@tex $\overline{Q}[x,y,z]$ @end tex
437: において既約で、かつ種数が0でなければならないが、これらの条件が満たされているかどうかのチェックはなされない。
1.1 takayama 438: @end itemize
439:
440: @example
441: [1] parametrize(x^4+(2*y^2-z^2)*x^2+y^4+z^2*y^2);
442: [-t^3-t,t^3-t,t^4+1,(-x^2-y^2)/(z*x+z*y)]
443: [2] parametrize((x^2+y^2)^3-4*x^2*y^2*z^2);
444: heuristic2 failed...
445: heuristic3 succeed
446: [32256*t^6-133120*t^5-129024*t^4+1064960*t^3-516096*t^2
447: -2129920*t+2064384,-127008*t^6+1048320*t^5-2671232*t^4
448: +10684928*t^2-16773120*t+8128512,274625*t^6-3194100*t^5
449: +15678780*t^4-41555808*t^3+62715120*t^2-51105600*t+17576000,
450: (-126*x^4+1040*y*x^3-382*y^2*x^2+1040*y^3*x-256*y^4)
451: /(-65*x^4+520*y*x^3+(-65*y^2-32*z*y)*x^2+(520*y^3+256*z*y^2)*x)]
452: [3] parametrize(22*x^2-10*y^2+z^2+5*x*y+12*y*x-z*x);
453: [(220*#6-10)*t^2+(-22*#6+1),(374*#6-17)*t^2+(-22*#6-43)*t,
454: (220*#6+210)*t^2+(-374*#6+17)*t+22,(-y)/((22*#6-1)*x+z)]
455: @end example
456:
457: @table @t
1.2 takayama 458: @item 参照
1.1 takayama 459: @ref{genus}
460: @end table
461:
462:
1.2 takayama 463: @node その他の関数,,, 関数簡易マニュアル
464: @section その他の関数
1.1 takayama 465:
466: @menu
467: * tdeg::
468: * homzation::
469: * random_line::
470: * multia::
471: * irr_conic::
472: * lissajou::
473: * restriction::
474: @end menu
475:
1.2 takayama 476: @node tdeg,,, その他の関数
1.1 takayama 477: @subsection @code{tdeg}
1.2 takayama 478: @comment --- 索引用キーワード---
1.1 takayama 479: @findex tdeg
480:
1.2 takayama 481: @comment --- 関数の簡単な説明 ---
1.1 takayama 482: @table @t
483: @item tdeg(Poly)
1.2 takayama 484: :: 多項式@var{Poly}の全次数を返す。
1.1 takayama 485: @end table
486:
1.2 takayama 487: @comment --- 引数の簡単な説明 ---
1.1 takayama 488: @table @var
489: @item return
1.2 takayama 490: 0以上の整数
1.1 takayama 491: @item Poly
1.2 takayama 492: 多項式
1.1 takayama 493: @end table
494:
1.2 takayama 495: @comment --- ここで関数の詳しい説明 ---
1.1 takayama 496: @itemize @bullet
1.2 takayama 497: @item 多項式@var{Poly}の全次数を返す。
1.1 takayama 498: @end itemize
499:
1.2 takayama 500: @comment --- @example〜@end example は実行例の表示 ---
1.1 takayama 501: @example
502: [1] tdeg(u^3+v^3-x*y*z*w);
503: 4
504: [956] tdeg((x^3+y^2+z)*(a^2+b+1));
505: 5
506: @end example
507:
508:
1.2 takayama 509: @node homzation,,, その他の関数
1.1 takayama 510: @subsection @code{homzation}
1.2 takayama 511: @comment --- 索引用キーワード---
1.1 takayama 512: @findex homzation
513:
1.2 takayama 514: @comment --- 関数の簡単な説明 ---
1.1 takayama 515: @table @t
516: @item homzation(AF)
1.2 takayama 517: :: 変数x,yの多項式を斉次化してx,y,zの斉次多項式にする。
1.1 takayama 518: @end table
519:
1.2 takayama 520: @comment --- 引数の簡単な説明 ---
1.1 takayama 521: @table @var
522: @item return
1.2 takayama 523: 変数x,y,zの斉次多項式
1.1 takayama 524: @item F
1.2 takayama 525: 変数x,yの多項式
1.1 takayama 526: @end table
527:
1.2 takayama 528: @comment --- ここで関数の詳しい説明 ---
1.1 takayama 529: @itemize @bullet
1.2 takayama 530: @item 変数x,yの多項式を斉次化してx,y,zの斉次多項式にする。入力する多項式の変数はx,yでなければならない。
1.1 takayama 531: @end itemize
532:
1.2 takayama 533: @comment --- @example〜@end example は実行例の表示 ---
1.1 takayama 534: @example
535: [1] homzation((x^2+4*x^3+6*x^4)-4*x^4*y
536: +(-2*x-4*x^2-2*x^3)*y^2+y^4);
537: (-4*y+6*z)*x^4+(-2*y^2+4*z^2)*x^3
538: +(-4*z*y^2+z^3)*x^2-2*z^2*y^2*x+z*y^4
539: [958] homzation(u*v+1);
540: Input must be polynomial of variable x,y
541: @end example
542:
543:
1.2 takayama 544: @node random_line,,, その他の関数
1.1 takayama 545: @subsection @code{random_line}
1.2 takayama 546: @comment --- 索引用キーワード---
1.1 takayama 547: @findex random_line
548:
1.2 takayama 549: @comment --- 関数の簡単な説明 ---
1.1 takayama 550: @table @t
551: @item random_line(@var{Pt},B[,@var{Seed}])
1.2 takayama 552: :: 点@var{Pt}(=@code{[x,y,z]})を通る直線をひとつランダムに
553: 返す。
1.1 takayama 554: @end table
555:
1.2 takayama 556: @comment --- 引数の簡単な説明 ---
1.1 takayama 557: @table @var
558: @item return
1.2 takayama 559: 変数x,y,zの一次式
1.1 takayama 560: @item Pt
1.2 takayama 561: 点を表すリスト
1.1 takayama 562: @item B
1.2 takayama 563: 自然数
1.1 takayama 564: @item Seed
1.2 takayama 565: 自然数
1.1 takayama 566: @end table
567:
1.2 takayama 568: @comment --- ここで関数の詳しい説明 ---
1.1 takayama 569: @itemize @bullet
1.2 takayama 570: @item 点@var{Pt}(=@code{[x,y,z]})を通る直線の方程式で
571: 各係数の値が-B以上B未満のものを、ひとつランダムに返す。
572: @item Seedはサブルーチンでrandom([Seed])を用いる際に使用
573: される。
1.1 takayama 574: @end itemize
575:
1.2 takayama 576: @comment --- @example〜@end example は実行例の表示 ---
1.1 takayama 577: @example
578: [1] random_line([0,0,1],1);
579: x-8*y
580: @end example
581:
582:
1.2 takayama 583: @node multia,,, その他の関数
1.1 takayama 584: @subsection @code{multia}
1.2 takayama 585: @comment --- 索引用キーワード---
1.1 takayama 586: @findex multia
587:
1.2 takayama 588: @comment --- 関数の簡単な説明 ---
1.1 takayama 589: @table @t
590: @item multia(F,Pt)
1.2 takayama 591: :: 曲線@var{F=0} の点@var{Pt}(=@code{[x,y,z]})における
592: 重複度を返す。
1.1 takayama 593: @end table
594:
1.2 takayama 595: @comment --- 引数の簡単な説明 ---
1.1 takayama 596: @table @var
597: @item return
1.2 takayama 598: 0以上の自然数
1.1 takayama 599: @item F
1.2 takayama 600: 変数x,y,z の斉次多項式
1.1 takayama 601: @item Pt
1.2 takayama 602: 点を表すリスト
1.1 takayama 603: @end table
604:
1.2 takayama 605: @comment --- ここで関数の詳しい説明 ---
1.1 takayama 606: @itemize @bullet
1.2 takayama 607: @item 曲線@var{F=0} の点@var{Pt}(=@code{[x,y,z]})における
608: 重複度を返す。FをN 階偏微分して得られる多項式が初めて点Ptで
609: 0にならないとき、整数Nを曲線@var{F=0}の点Ptにおける重複度
610: という。
1.1 takayama 611: @end itemize
612:
1.2 takayama 613: @comment --- @example〜@end example は実行例の表示 ---
1.1 takayama 614: @example
615: [1] multia((4*y^2+4*z^2)*x^4+8*z^3*x^3+8*z^2*y^2*x^2-8*z^5*x+
616: 4*z^4*y^2-4*z^6,[0,0,1]);
617: 0
618: [2] multia((4*y^2+4*z^2)*x^4+8*z^3*x^3+8*z^2*y^2*x^2-8*z^5*x+
619: 4*z^4*y^2-4*z^6,[0,1,0]);
620: 4
621: [3] multia((4*y^2+4*z^2)*x^4+8*z^3*x^3+8*z^2*y^2*x^2-8*z^5*x+
622: 4*z^4*y^2-4*z^6,[1,0,0]);
623: 2
624: @end example
625:
1.2 takayama 626: @comment --- 参照(リンク)を書く ---
1.1 takayama 627: @table @t
1.2 takayama 628: @item 参照
1.1 takayama 629: @ref{sing}
630: @ref{nbh}
631: @end table
632:
633:
1.2 takayama 634: @node irr_conic,,, その他の関数
1.1 takayama 635: @subsection @code{irr_conic}
1.2 takayama 636: @comment --- 索引用キーワード---
1.1 takayama 637: @findex irr_conic
638:
1.2 takayama 639: @comment --- 関数の簡単な説明 ---
1.1 takayama 640: @table @t
641: @item irr_conic(@var{F})
1.2 takayama 642: :: 三元二次形式@var{F}が
1.1 takayama 643: @tex
644: $\overline{Q}[x,y,z]$
645: @end tex
1.2 takayama 646: で既約かどうかを判定する。
1.1 takayama 647: @end table
648:
1.2 takayama 649: @comment --- 引数の簡単な説明 ---
1.1 takayama 650: @table @var
651: @item return
1.2 takayama 652: 文字列
1.1 takayama 653: @item F
1.2 takayama 654: 変数x,y,z の二次の斉次多項式
1.1 takayama 655: @end table
656:
1.2 takayama 657: @comment --- ここで関数の詳しい説明 ---
1.1 takayama 658: @itemize @bullet
1.2 takayama 659: @item 三元二次形式@var{F}が
1.1 takayama 660: @tex
661: $\overline{Q}[x,y,z]$
662: @end tex
1.2 takayama 663: で既約ならば@code{irreducible}を、可約ならば@code{reducible}
664: を返す。
1.1 takayama 665: @end itemize
666:
1.2 takayama 667: @comment --- @example〜@end example は実行例の表示 ---
1.1 takayama 668: @example
669: [1] irr_conic(x^2+y^2+z^2-x*y-y*z-z*x);
670: reducible
671: [2] fctr(x^2+y^2+z^2-x*y-y*z-z*x);
672: [[1,1],[x^2+(-y-z)*x+y^2-z*y+z^2,1]]
673: @end example
674:
675:
1.2 takayama 676: @node lissajou,,, その他の関数
1.1 takayama 677: @subsection @code{lissajou}
1.2 takayama 678: @comment --- 索引用キーワード---
1.1 takayama 679: @findex lissajou
680:
1.2 takayama 681: @comment --- 関数の簡単な説明 ---
1.1 takayama 682: @table @t
683: @item lissajou(M,N)
684: :: @tex
685: $x=\sin(M\theta),y=\cos(N\theta)$
686: @end tex
1.2 takayama 687: によって定義されるリサージュ曲線の陰関数表示
1.1 takayama 688: @end table
689:
1.2 takayama 690: @comment --- 引数の簡単な説明 ---
1.1 takayama 691: @table @var
692: @item return
1.2 takayama 693: 変数x,y,zの斉次多項式
1.1 takayama 694: @item M N
1.2 takayama 695: 互いに素な自然数
1.1 takayama 696: @end table
697:
1.2 takayama 698: @comment --- ここで関数の詳しい説明 ---
1.1 takayama 699: @itemize @bullet
700: @item @tex
701: $x=\sin(M\theta),y=\cos(N\theta)$
702: @end tex
1.2 takayama 703: によって定義されるリサージュ曲線の陰関数表示(変数x,y,zの
704: 斉次多項式)を返す。
1.1 takayama 705: @end itemize
706:
1.2 takayama 707: @comment --- @example〜@end example は実行例の表示 ---
1.1 takayama 708: @example
709: [984] lissajou(3,4);
710: 64*x^8-128*z^2*x^6+80*z^4*x^4-16*z^6*x^2+16*z^2*y^6
711: -24*z^4*y^4+9*z^6*y^2
712: [985] lissajou(2,7);
713: 4096*x^14-14336*z^2*x^12+19712*z^4*x^10-13440*z^6*x^8
714: +4704*z^8*x^6-784*z^10*x^4+49*z^12*x^2+4*z^10*y^4-4*z^12*y^2
715: @end example
716:
717:
1.2 takayama 718: @node restriction,,, その他の関数
1.1 takayama 719: @subsection @code{restriction}
1.2 takayama 720: @comment --- 索引用キーワード---
1.1 takayama 721: @findex restriction
722:
1.2 takayama 723: @comment --- 関数の簡単な説明 ---
1.1 takayama 724: @table @t
725: @item restriction(@var{A},@var{List})
1.2 takayama 726: :: 特定の点を通る随伴曲線の定義多項式を計算したいときに用いる。
1.1 takayama 727: @end table
728:
1.2 takayama 729: @comment --- 引数の簡単な説明 ---
1.1 takayama 730: @table @var
731: @item return
1.2 takayama 732: 線形のパラメーターを含むx,y,zの斉次多項式
1.1 takayama 733: @item A
1.2 takayama 734: @code{adjoint1,adjoint2}から返される形と同様の、線形パラメーター
735: つきの変数x,y,zの斉次多項式
1.1 takayama 736: @item List
1.2 takayama 737: 点@code{[x,y,z]}からなるリスト
1.1 takayama 738: @end table
739:
1.2 takayama 740: @comment --- ここで関数の詳しい説明 ---
1.1 takayama 741: @itemize @bullet
1.2 takayama 742: @item @code{adjoint1,adjoint2}から返される線形パラメーター付の
743: 斉次多項式が、@var{List}に含まれる各点を零点にもつためには、
744: 線形パラメーターの間にいくつかの(Q上の)一次関係式が成り立て
745: ばよい。この条件を加味して、新たな線形パラメーター付の斉次
746: 多項式を作る。
747: @item @var{List}に含まれる点は、@code{intersect}や@code{sing}
748: から返される点を使うことを想定している。
1.1 takayama 749: @end itemize
750:
1.2 takayama 751: @comment --- @example〜@end example は実行例の表示 ---
1.1 takayama 752: @example
753: @end example
754:
1.2 takayama 755: @comment --- 参照(リンク)を書く ---
1.1 takayama 756: @table @t
1.2 takayama 757: @item 参照
1.1 takayama 758: @ref{adjoint1,adjoint2}
759: @end table
760:
761:
1.2 takayama 762: @comment --- ◯◯◯◯ 以下他の関数について真似して記述する. ◯◯◯◯
1.1 takayama 763:
764:
1.2 takayama 765: @comment --- おまじない ---
1.1 takayama 766: @node Index,,, Top
767: @unnumbered Index
768: @printindex fn
769: @printindex cp
770: @iftex
771: @vfill @eject
772: @end iftex
773: @summarycontents
774: @contents
775: @bye
1.2 takayama 776: @comment --- おまじない終り ---
1.1 takayama 777:
778:
779:
780:
781:
782:
783:
784:
785:
786:
787:
788:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>