[BACK]Return to taji_alc-ja.texi CVS log [TXT][DIR] Up to [local] / OpenXM / src / asir-contrib / packages / doc / taji_alc

Annotation of OpenXM/src/asir-contrib/packages/doc/taji_alc/taji_alc-ja.texi, Revision 1.3

1.1       takayama    1: \input texinfo
                      2: @iftex
                      3: @catcode`@#=6
                      4: @def@fref#1{@xrefX[#1,,@code{#1},,,]}
                      5: @def@b#1{{@bf@gt #1}}
                      6: @catcode`@#=@other
                      7: @end iftex
                      8: @overfullrule=0pt
                      9: @c -*-texinfo-*-
1.3     ! takayama   10: @comment $OpenXM: OpenXM/src/asir-contrib/packages/doc/taji_alc/taji_alc-ja.texi,v 1.2 2009/02/22 05:40:48 takayama Exp $
1.1       takayama   11: @comment %**start of header
1.3     ! takayama   12: @comment --- おまじない終り ---
1.1       takayama   13:
1.3     ! takayama   14: @comment --- GNU info ファイルの名前 ---   euc code で記述すること.
1.1       takayama   15: @setfilename asir-contrib-taji_alc_ja
                     16:
1.3     ! takayama   17: @comment --- タイトル ---
        !            18: @settitle 1変数代数的局所コホモロジー類用パッケージ taji_alc
1.1       takayama   19:
                     20: @comment %**end of header
                     21: @comment %@setchapternewpage odd
                     22:
1.3     ! takayama   23: @comment --- おまじない ---
1.1       takayama   24: @ifinfo
                     25: @macro fref{name}
                     26: @ref{\name\,,@code{\name\}}
                     27: @end macro
                     28: @end ifinfo
                     29:
                     30: @iftex
                     31: @comment @finalout
                     32: @end iftex
                     33:
                     34: @titlepage
1.3     ! takayama   35: @comment --- おまじない終り ---
1.1       takayama   36:
1.3     ! takayama   37: @comment --- タイトル, バージョン, 著者名, 著作権表示 ---
        !            38: @title 1変数代数的局所コホモロジー類用パッケージ taji_alc
        !            39: @subtitle 1変数代数的局所コホモロジー類用パッケージ taji_alc
        !            40: @subtitle 1.0 版
        !            41: @subtitle 2007 年 11 月
1.1       takayama   42:
1.3     ! takayama   43: @author  庄司卓夢, 田島慎一
1.1       takayama   44: @page
                     45: @vskip 0pt plus 1filll
                     46: Copyright @copyright{} Takumu Shoji, Shinichi Tajima.
                     47: 2007. All rights reserved.  Licensed by GPL.
                     48: @end titlepage
                     49:
1.3     ! takayama   50: @comment --- おまじない ---
1.1       takayama   51: @synindex vr fn
1.3     ! takayama   52: @comment --- おまじない終り ---
1.1       takayama   53:
1.3     ! takayama   54: @comment --- @node は GNU info, HTML 用 ---
        !            55: @comment --- @node  の引数は node-name,  next,  previous,  up ---
1.1       takayama   56: @node Top,, (dir), (dir)
                     57:
1.3     ! takayama   58: @comment --- @menu は GNU info, HTML 用 ---
        !            59: @comment --- chapter 名を正確に並べる ---
        !            60: @comment --- この文書では chapter XYZ, Chapter Index がある.
        !            61: @comment ---  Chapter XYZ には section XYZについて, section XYZに関する関数がある.
1.1       takayama   62: @menu
1.3     ! takayama   63: * 1変数代数的局所コホモロジー類::
1.1       takayama   64: * Index::
                     65: @end menu
                     66:
1.3     ! takayama   67: @comment --- chapter の開始 ---
        !            68: @comment --- 親 chapter 名を正確に. 親がない場合は Top ---
        !            69: @node 1変数代数的局所コホモロジー類,,, Top
        !            70: @chapter 1変数代数的局所コホモロジー類
1.1       takayama   71:
1.3     ! takayama   72: @comment --- section 名を正確に並べる.  ---
1.1       takayama   73: @menu
1.3     ! takayama   74: * 1変数代数的局所コホモロジー類用のパッケージ taji_alc について::
        !            75: * 1変数代数的局所コホモロジー類用の関数::
1.1       takayama   76: @end menu
                     77:
1.3     ! takayama   78: @comment --- section ``XYZについて'' の開始 ---  section XYZについての親は chapter XYZ
        !            79: @node 1変数代数的局所コホモロジー類用のパッケージ taji_alc について,,, 1変数代数的局所コホモロジー類
        !            80: @section 1変数代数的局所コホモロジー類用のパッケージ taji_alc について
        !            81:
        !            82: @comment --- 書体指定について ---
        !            83: @comment --- @code{} はタイプライタ体表示 ---
        !            84: @comment --- @var{} は斜字体表示 ---
        !            85: @comment --- @b{} はボールド表示 ---
        !            86: @comment --- @samp{} はファイル名などの表示 ---
        !            87:
        !            88: この説明書では
        !            89: 1変数代数的局所コホモロジー類用のパッケージ taji_alc について説明する.
        !            90: 数学的解説や背景については, 解説記事
        !            91: ``1変数代数的局所コホモロジー類用に対する Risa/Asir 用パッケージ taji_alc''
1.1       takayama   92: (Risa/Asir Journal (2007))
1.3     ! takayama   93: およびその参考文献を参照.
1.1       takayama   94:
                     95:
1.3     ! takayama   96: @comment --- section ``実験的関数'' の開始 ---
        !            97: @node 1変数代数的局所コホモロジー類用の関数,,, 1変数代数的局所コホモロジー類
        !            98: @section 1変数代数的局所コホモロジー類用の関数
1.1       takayama   99:
1.3     ! takayama  100: @comment --- section ``実験的関数'' の subsection xyz_abc
        !           101: @comment --- subsection xyz_pqr xyz_stu がある.
1.1       takayama  102: @menu
                    103: * taji_alc.cpfd::
                    104: * taji_alc.snoether::
                    105: * taji_alc.laurent_expansion::
                    106: * taji_alc.residue::
                    107: * taji_alc.invpow::
                    108: * taji_alc.rem_formula::
                    109: * taji_alc.solve_ode_cp::
                    110: * taji_alc.solve_ode_cp_ps::
                    111: * taji_alc.fbt::
                    112: * taji_alc.inv::
                    113: @end menu
                    114:
1.3     ! takayama  115: 本セクションの関数を呼び出すには,
1.1       takayama  116: @example
                    117: import("taji_alc.rr")$
                    118: @end example
1.3     ! takayama  119: を実行してプログラムをロードする.
1.1       takayama  120:
                    121:
                    122: @comment ****************************************************************
1.3     ! takayama  123: @node taji_alc.cpfd,,, 1変数代数的局所コホモロジー類用の関数
1.1       takayama  124: @subsection @code{taji_alc.cpfd}
                    125: @findex taji_alc.cpfd
                    126:
                    127: @table @t
                    128: @item taji_alc.cpfd(@var{num},@var{den})
1.3     ! takayama  129: :: 有理関数@var{num}/@var{den}の部分分数分解を求める.
1.1       takayama  130: @end table
                    131:
                    132: @table @var
                    133: @item return
1.3     ! takayama  134: @var{switch}が0か1ならば, [[[分子,[分母の因子,重複度]],...],...] なるリスト.
1.1       takayama  135:
1.3     ! takayama  136: @var{switch}が10か11ならば, [[分子,[分母の因子,重複度]],...] なるリスト.
1.1       takayama  137:
                    138: @item num
1.3     ! takayama  139: (有理関数の分子の) 多項式
1.1       takayama  140: @item den
1.3     ! takayama  141: (有理関数の分母の) 多項式
1.1       takayama  142:
1.3     ! takayama  143: または (有理関数の分母をQ上で既約分解した)  [[因子,重複度],...] なるリスト
1.1       takayama  144: @item switch
1.3     ! takayama  145: オプション指定
1.1       takayama  146:
1.3     ! takayama  147: case 0 : completeな部分分数分解を返す. (分子は有理数係数多項式)
1.1       takayama  148:
1.3     ! takayama  149: case 1 : completeな部分分数分解を返す. (分子は整数係数化リスト)
1.1       takayama  150:
1.3     ! takayama  151: case 10 : 分母を冪展開しない部分分数分解を返す. (分子は有理数係数多項式)
1.1       takayama  152:
1.3     ! takayama  153: case 11 : 分母を冪展開しない部分分数分解を返す. (分子は整数係数化リスト)
1.1       takayama  154:
                    155: default : case 0
                    156: @end table
                    157:
                    158: @itemize @bullet
1.3     ! takayama  159: @item taji_alc.cpfd()は, properな有理関数を対象とする.
        !           160: 入力値がproperでない場合でも正常に動作するが, 多項式として出てくる部分は表示しない.
        !           161: @item 部分分数分解は, 冪展開をするcompleteなタイプと, 冪展開をしないタイプの2つのタイプがある.
        !           162: taji_alc.cpfd()で採用しているアルゴリズムでは, 前者が先に求まる.
        !           163: 後者は, 前者のデータをホーナー法で足し上げて求める.
        !           164: @item @var{den}は, リストでの入力が望ましい.
        !           165: (多項式で入力すると, 簡約化の処理が生じるため重くなる.)
        !           166: ただしその場合には, 既約チェック, 有理式の約分, 整数係数化は行わないので注意する.
        !           167: 入力値はユーザ側が責任をもつ.
1.1       takayama  168: @end itemize
                    169:
                    170: @example
                    171: [235] taji_alc.cpfd(x^3-x-1,x^4+2*x^3+2*x^2+2*x+1);
                    172: [[[1/2*x-1,[x^2+1,1]]],[[-1/2,[x+1,2]],[1/2,[x+1,1]]]]
                    173: [236] taji_alc.cpfd(x^3-x-1,x^4+2*x^3+2*x^2+2*x+1|switch=1);
                    174: [[[[x-2,2],[x^2+1,1]]],[[[-1,2],[x+1,2]],[[1,2],[x+1,1]]]]
                    175: [237] taji_alc.cpfd(x^3-x-1,x^4+2*x^3+2*x^2+2*x+1|switch=10);
                    176: [[1/2*x-1,[x^2+1,1]],[1/2*x,[x+1,2]]]
                    177: [238] taji_alc.cpfd(x^3-x-1,x^4+2*x^3+2*x^2+2*x+1|switch=11);
                    178: [[[x-2,2],[x^2+1,1]],[[x,2],[x+1,2]]]
                    179: @end example
                    180:
                    181: @table @t
1.3     ! takayama  182: @item 参照
1.1       takayama  183: @end table
                    184:
1.3     ! takayama  185: @comment --- ChangeLog を書く. 動機. ソースコードの位置. 変更日時 など CVSサーバを見るため
        !           186: @comment --- openxm の外部からの寄与も述べる. Credit.
1.1       takayama  187: @noindent
                    188: ChangeLog
                    189: @itemize @bullet
                    190: @end itemize
                    191: @comment ****************************************************************
                    192:
                    193:
                    194: @page
                    195: @comment ****************************************************************
1.3     ! takayama  196: @node taji_alc.snoether,,, 1変数代数的局所コホモロジー類用の関数
1.1       takayama  197: @subsection @code{taji_alc.snoether}
                    198: @findex taji_alc.snoether
                    199:
                    200: @table @t
                    201: @item taji_alc.snoether(@var{num},@var{den})
1.3     ! takayama  202: :: 有理関数@var{num}/@var{den}が定める代数的局所コホモロジー類のネーター作用素を求める.
1.1       takayama  203: @end table
                    204:
                    205: @table @var
                    206: @item return
1.3     ! takayama  207: [[因子,ネーター作用素],...] なるリスト.
1.1       takayama  208:
1.3     ! takayama  209: ネーター作用素は, 係数を高階の部分から降順に並べたリスト
1.1       takayama  210:
                    211: @item num
1.3     ! takayama  212: (有理関数の分子の)多項式
1.1       takayama  213: @item den
1.3     ! takayama  214: (有理関数の分母の)多項式
1.1       takayama  215:
1.3     ! takayama  216: または (有理関数の分母をQ上で既約分解した)  [[因子,重複度],...] なるリスト.
1.1       takayama  217: @item switch
1.3     ! takayama  218: オプション指定
1.1       takayama  219:
1.3     ! takayama  220: case 0 : ネーター作用素を [有理数係数多項式,...] なるリストで返す.
1.1       takayama  221:
1.3     ! takayama  222: case 1 : ネーター作用素を [整数係数化リスト,...] なるリストで返す.
1.1       takayama  223:
1.3     ! takayama  224: case 10 : ネーター作用素を [[整数係数多項式,...],整数] なるリストで返す.
1.1       takayama  225:
1.3     ! takayama  226: case 20 : ネーター作用素を [[整数係数化リスト,...],整数] なるリストで返す.
1.1       takayama  227:
                    228: default : case 0
                    229: @end table
                    230:
                    231: @itemize @bullet
1.3     ! takayama  232: @item taji_alc.snoether()は, @var{den}をQ上で既約分解し,
        !           233: 各因子に対応するネーター作用素を返す.
        !           234: @item @var{den}は, リストでの入力が望ましい.
        !           235: (多項式で入力すると, 簡約化の処理が生じるため重くなる.)
        !           236: ただしその場合には, 既約チェック, 有理式の約分, 整数係数化は行わないので注意する.
        !           237: 入力値はユーザ側が責任をもつ.
        !           238: @item 戻り値の型は@var{switch}で選択できる.
1.1       takayama  239:
1.3     ! takayama  240: case 10は, ネーター作用素の各係数全体を通分し, その分母部分と階乗の積をリストで分けた表現である.
        !           241: わかりやすいが, 通分値と係数部分とで約分できる部分がある(特に高階の部分に多い)ので, 冗長性をもっている.
1.1       takayama  242:
1.3     ! takayama  243: case 20は, 階乗の部分で全体をくくり(リストで分け), ネーター作用素の各係数を個別に通分しリスト化する.
        !           244: 階乗の部分と係数部分とで約分できる部分がある(特に低階の部分に多い)ので,
        !           245: 冗長と言えなくもない(case 10よりはまし)が, 数学的な構造が綺麗に見える表現である.
1.1       takayama  246: @end itemize
                    247:
                    248: @example
                    249: [296] taji_alc.snoether(1,[[x^3-x-1,3]]);
                    250: [[x^3-x-1,[9/529*x^2-27/1058*x+11/1058,-81/529*x^2-9/529*x+135/529,-49
                    251: 05/12167*x^2+4563/12167*x+3270/12167]]]
                    252: [299] taji_alc.snoether(1,[[x^3-x-1,3]]|switch=1);
                    253: [[x^3-x-1,[[18*x^2-27*x+11,1058],[-81*x^2-9*x+135,529],[-4905*x^2+4563
                    254: *x+3270,12167]]]]
                    255: [297] taji_alc.snoether(1,[[x^3-x-1,3]]|switch=10);
                    256: [[x^3-x-1,[[414*x^2-621*x+253,-3726*x^2-414*x+6210,-9810*x^2+9126*x+65
                    257: 40],24334]]]
                    258: [298] taji_alc.snoether(1,[[x^3-x-1,3]]|switch=20);
                    259: [[x^3-x-1,[[[18*x^2-27*x+11,529],[-162*x^2-18*x+270,529],[-9810*x^2+91
                    260: 26*x+6540,12167]],2]]]
                    261:
                    262: [241] taji_alc.snoether(x^3+1,x^18-2*x^14+x^10-x^8+2*x^4-1|switch=10);
                    263: [[x^4+x^3+x^2+x+1,[[-2*x^2-x-2],50]],[x^4-x^3+x^2-x+1,[[-2*x^3+4*x^2-x
                    264: -2],50]],[x^2+1,[[-x+1,8*x+5],32]],[x+1,[[-6,-39],320]],[x-1,[[2,-24,6
                    265: 7],320]]]
                    266: @end example
                    267:
                    268: @table @t
1.3     ! takayama  269: @item 参照
1.1       takayama  270: @end table
                    271:
1.3     ! takayama  272: @comment --- ChangeLog を書く. 動機. ソースコードの位置. 変更日時 など CVSサーバを見るため
        !           273: @comment --- openxm の外部からの寄与も述べる. Credit.
1.1       takayama  274: @noindent
                    275: ChangeLog
                    276: @itemize @bullet
                    277: @end itemize
                    278: @comment ****************************************************************
                    279:
                    280:
                    281: @page
                    282: @comment ****************************************************************
1.3     ! takayama  283: @node taji_alc.laurent_expansion,,, 1変数代数的局所コホモロジー類用の関数
1.1       takayama  284: @subsection @code{taji_alc.laurent_expansion}
                    285: @findex taji_alc.laurent_expansion
                    286:
                    287: @table @t
                    288: @item taji_alc.laurent_expansion(@var{num},@var{den})
1.3     ! takayama  289: :: 有理関数@var{num}/@var{den}の極におけるローラン展開の主要部の係数を求める.
1.1       takayama  290: @end table
                    291:
                    292: @table @var
                    293: @item return
1.3     ! takayama  294: [[因子,ローラン展開の係数],...] なるリスト.
1.1       takayama  295:
1.3     ! takayama  296: ローラン展開の係数は, 高位の係数から順に並べたリスト.
1.1       takayama  297:
                    298: @item num
1.3     ! takayama  299: (有理関数の分子の)多項式
1.1       takayama  300: @item den
1.3     ! takayama  301: (有理関数の分母の)多項式
1.1       takayama  302:
1.3     ! takayama  303: または (有理関数の分母をQ上で既約分解した)  [[因子,重複度],...] なるリスト
1.1       takayama  304:
                    305: @item switch
1.3     ! takayama  306: オプション指定
1.1       takayama  307:
1.3     ! takayama  308: case 0 : ローラン展開の係数を [有理数係数多項式,...] なるリストで返す.
1.1       takayama  309:
1.3     ! takayama  310: case 1 : ローラン展開の係数を [整数係数化リスト,...] なるリストで返す.
1.1       takayama  311:
1.3     ! takayama  312: case 10 : ローラン展開の係数を [[整数係数多項式,...],整数] なるリストで返す.
1.1       takayama  313:
1.3     ! takayama  314: case 20 : ローラン展開の係数を [[整数係数化リスト,...],整数] なるリストで返す.
1.1       takayama  315:
                    316: default : case 0
                    317: @end table
                    318:
                    319: @itemize @bullet
1.3     ! takayama  320: @item taji_alc.laurent_expansion()は, taji_alc.snoether()を使って, ローラン展開の係数を求める.
        !           321: @item taji_alc.laurent_expansion()では,
        !           322: C上の1点に注目するのではなく, Q上での既約因子自体に注目してローラン展開の係数を求める.
        !           323: 戻り値の係数リストの各成分は, その因子の全ての零点が共通に満たすローラン展開の係数多項式である.
        !           324: 従って, 1点ごとのローラン展開の係数をさらに求めたい場合には,
        !           325: 求めたローラン展開の係数多項式に因子の零点(即ち特異点)の値を代入する必要がある.
1.1       takayama  326: @end itemize
                    327:
                    328: @example
                    329: [354] taji_alc.laurent_expansion(x,(x-1)^3);
                    330: [[x-1,[1,1,0]]]
                    331: [356] taji_alc.laurent_expansion(x^5+x^4+x^3+x^2+x+1,(x^4+1)^3);
                    332: [[x^4+1,[1/64*x^2+1/64*x,1/16*x^3+1/16*x^2-3/128*x-5/128,-5/128*x^3-1/
                    333: 8*x^2-3/16*x]]]
                    334: @end example
                    335:
                    336: @table @t
1.3     ! takayama  337: @item 参照
1.1       takayama  338: @ref{taji_alc.snoether}
                    339: @end table
                    340:
1.3     ! takayama  341: @comment --- ChangeLog を書く. 動機. ソースコードの位置. 変更日時 など CVSサーバを見るため
        !           342: @comment --- openxm の外部からの寄与も述べる. Credit.
1.1       takayama  343: @noindent
                    344: ChangeLog
                    345: @itemize @bullet
                    346: @end itemize
                    347: @comment ****************************************************************
                    348:
                    349:
                    350: @page
                    351: @comment ****************************************************************
1.3     ! takayama  352: @node taji_alc.residue,,, 1変数代数的局所コホモロジー類用の関数
1.1       takayama  353: @subsection @code{taji_alc.residue}
                    354: @findex taji_alc.residue
                    355:
                    356: @table @t
                    357: @item taji_alc.residue(@var{num},@var{den})
1.3     ! takayama  358: :: 有理関数@var{num}/@var{den}の極における留数を求める.
1.1       takayama  359: @end table
                    360:
                    361: @table @var
                    362: @item return
1.3     ! takayama  363: [[因子,留数],...] なるリスト
1.1       takayama  364:
                    365: @item num
1.3     ! takayama  366: (有理関数の分子の) 多項式
1.1       takayama  367: @item den
1.3     ! takayama  368: (有理関数の分母の) 多項式
1.1       takayama  369:
1.3     ! takayama  370: または (有理関数の分母をQ上で既約分解した)  [[因子,重複度],...] なるリスト
1.1       takayama  371: @item switch
1.3     ! takayama  372: オプション指定
1.1       takayama  373:
1.3     ! takayama  374: case 0 : 留数を有理数係数多項式で返す.
1.1       takayama  375:
1.3     ! takayama  376: case 1 : 留数を整数係数化リストで返す.
1.1       takayama  377:
                    378: default : case 0
                    379:
                    380: @item pole
1.3     ! takayama  381: オプション指定
1.1       takayama  382:
1.3     ! takayama  383: [因子,...] なるオプションリスト
1.1       takayama  384: @end table
                    385:
                    386: @itemize @bullet
1.3     ! takayama  387: @item taji_alc.residue()は, @var{den}をQ上で既約分解し, 各因子の零点(即ち有理関数の極)における留数を返す.
        !           388: @item オプションで@var{pole}を指定すればその因子のみの留数を返す. 指定が不適当だと0を返す.
        !           389: @item taji_alc.residue()で採用しているアルゴリズムでは,
        !           390: C上の1点に注目するのではなく, Q上での既約因子自体に注目して留数を求める.
        !           391: 戻り値の留数は, その因子の全ての零点が共通に満たす留数多項式である.
        !           392: 従って, 1点ごとの留数値をさらに求めたい場合には,
        !           393: 求めた留数多項式に因子の零点(即ち特異点)の値を代入する必要がある.
1.1       takayama  394:
                    395: @example
                    396: [219] taji_alc.residue(1,x^4+1);
                    397: [[x^4+1,-1/4*x]]
                    398: @end example
                    399:
1.3     ! takayama  400: この例で言うと, 求めた留数多項式-1/4*xに, x^4+1の(4つある)零点をそれぞれ代入したものが個別の留数値である.
        !           401: @item @var{den}は, リストでの入力が望ましい.
        !           402: (多項式で入力すると, 簡約化の処理が生じるため重くなる.)
        !           403: ただしその場合には, 既約チェック, 有理式の約分, 整数係数化は行わないので注意する.
        !           404: 入力値はユーザ側が責任をもつ.
1.1       takayama  405: @end itemize
                    406:
                    407: @example
                    408: [221] taji_alc.residue(x^8,[[x^3-x-1,3]]);
                    409: [[x^3-x-1,-2243/12167*x^2+2801/12167*x+5551/12167]]
                    410: [222] taji_alc.residue(x^2+x,[[x+1,3],[x-1,3],[x^2+3*x-1,2]]);
                    411: [[x^2+3*x-1,-284/4563*x-311/1521],[x-1,89/432],[x+1,7/432]]
                    412: [223] taji_alc.residue(x^2+x,[[x+1,3],[x-1,3],[x^2+3*x-1,2]]|switch=1)
                    413: ;
                    414: [[x^2+3*x-1,[-284*x-933,4563]],[x-1,[89,432]],[x+1,[7,432]]]
                    415: [234] taji_alc.residue(x^2+x,[[x+1,3],[x-1,3],[x^2+3*x-1,2]]|switch=1,
                    416: pole=[x+1]);
                    417: [[x+1,[7,432]]]
                    418: [225] taji_alc.residue(x^3+1,x^18-2*x^14+x^10-x^8+2*x^4-1);
                    419: [[x^4+x^3+x^2+x+1,-1/25*x^2-1/50*x-1/25],[x^4-x^3+x^2-x+1,-1/25*x^3+2/
                    420: 25*x^2-1/50*x-1/25],[x^2+1,1/4*x+5/32],[x+1,-39/320],[x-1,67/320]]
                    421: @end example
                    422:
                    423: @table @t
1.3     ! takayama  424: @item 参照
1.1       takayama  425: @end table
                    426:
1.3     ! takayama  427: @comment --- ChangeLog を書く. 動機. ソースコードの位置. 変更日時 など CVSサーバを見るため
        !           428: @comment --- openxm の外部からの寄与も述べる. Credit.
1.1       takayama  429: @noindent
                    430: ChangeLog
                    431: @itemize @bullet
                    432: @end itemize
                    433: @comment ****************************************************************
                    434:
                    435:
                    436: @page
                    437: @comment ****************************************************************
1.3     ! takayama  438: @node taji_alc.invpow,,, 1変数代数的局所コホモロジー類用の関数
1.1       takayama  439: @subsection @code{taji_alc.invpow}
                    440: @findex taji_alc.invpow
                    441:
                    442: @table @t
                    443: @item taji_alc.invpow(@var{poly},@var{f},@var{m})
1.3     ! takayama  444: :: 剰余体Q[x]/<@var{f}>上での@var{poly}の逆元の@var{m}乗を求める.
1.1       takayama  445: @end table
                    446:
                    447: @table @var
                    448: @item return
1.3     ! takayama  449: 逆冪
1.1       takayama  450:
                    451: @item poly
1.3     ! takayama  452: 多項式
1.1       takayama  453: @item f
1.3     ! takayama  454: Q上で既約な多項式
1.1       takayama  455: @item m
1.3     ! takayama  456: 自然数
1.1       takayama  457: @item switch
1.3     ! takayama  458: オプション指定
1.1       takayama  459:
1.3     ! takayama  460: case 0 : 逆冪を有理数係数多項式で返す.
1.1       takayama  461:
1.3     ! takayama  462: case 1 : 逆冪を整数係数化リストで返す.
1.1       takayama  463:
                    464: default : case 0
                    465: @end table
                    466:
                    467: @itemize @bullet
1.3     ! takayama  468: @item @var{poly}と@var{f}は互いに素でなければならない.
        !           469: @item アルゴリズムの骨格は繰り返し2乗法である. そこに最小多項式の理論を応用して高速化している.
1.1       takayama  470: @end itemize
                    471:
                    472: @example
                    473: [236] taji_alc.invpow(3*x^2-1,x^3-x-1,1);
                    474: -6/23*x^2+9/23*x+4/23
                    475: [237] taji_alc.invpow(3*x^2-1,x^3-x-1,1|switch=1);
                    476: [-6*x^2+9*x+4,23]
                    477: [238] taji_alc.invpow(3*x^2-1,x^3-x-1,30|switch=1);
                    478: [1857324483*x^2-2100154824*x-477264412,266635235464391245607]
                    479: @end example
                    480:
                    481: @table @t
1.3     ! takayama  482: @item 参照
1.1       takayama  483: @end table
                    484:
1.3     ! takayama  485: @comment --- ChangeLog を書く. 動機. ソースコードの位置. 変更日時 など CVSサーバを見るため
        !           486: @comment --- openxm の外部からの寄与も述べる. Credit.
1.1       takayama  487: @noindent
                    488: ChangeLog
                    489: @itemize @bullet
                    490: @end itemize
                    491: @comment ****************************************************************
                    492:
                    493:
                    494: @page
                    495: @comment ****************************************************************
1.3     ! takayama  496: @node taji_alc.rem_formula,,, 1変数代数的局所コホモロジー類用の関数
1.1       takayama  497: @subsection @code{taji_alc.rem_formula}
                    498: @findex taji_alc.rem_formula
                    499:
                    500: @table @t
                    501: @item taji_alc.rem_formula(@var{polylist})
1.3     ! takayama  502: :: 多項式f(x)を与えたときの剰余公式を求める.
1.1       takayama  503: @end table
                    504:
                    505: @table @var
                    506: @item return
1.3     ! takayama  507: @var{switch} および 説明文を参照
1.1       takayama  508:
                    509: @item polylist
1.3     ! takayama  510: f(x)をQ上で既約分解した [[因子,重複度,零点の記号],...] なるリスト
1.1       takayama  511:
                    512: @item switch
1.3     ! takayama  513: オプション指定
1.1       takayama  514:
1.3     ! takayama  515: case 0 : xの冪で整理し, リストで返す.
1.1       takayama  516:
1.3     ! takayama  517: case 10 : f(x)の冪で整理し, リストで返す. (一因子の場合のみ対応)
1.1       takayama  518:
1.3     ! takayama  519: case 20 : xの冪で整理し, symbolicな表現で返す.
1.1       takayama  520:
                    521: default : case 0
                    522: @end table
                    523:
                    524: @itemize @bullet
1.3     ! takayama  525: @item アルゴリズムは, エルミートの補間剰余を用いている.
        !           526: @item 剰余公式の表現方法はいくつか考えられるため, @var{switch}で選択式とした.
        !           527: @item @var{switch}=0 の戻り値の見方を述べる. 例として, f(x)=f1(x)^m1*f2(x)^m2を考える.
        !           528: 入力は [[f1(x),m1,z1],[f2(x),m2,z2]] となる. そのとき戻り値は,
1.1       takayama  529:
                    530: [r_{f1}(x,z1),r_{f2}(x,z2)]
                    531:
1.3     ! takayama  532: なるリストで返される. これは, 剰余公式が
1.1       takayama  533:
                    534: @tex
                    535: $r(x)=r_{f1}(x,z1)+r_{f2}(x,z2)$
                    536: @end tex
                    537:
1.3     ! takayama  538: なる形で与えられることを意味している.
        !           539: 各成分のr_{fi}(x,zi)は,
1.1       takayama  540:
1.3     ! takayama  541: [p^(mi-1)(zi)の係数となるxとziの多項式,...,p^(0)(zi)の係数となるxとziの多項式]
1.1       takayama  542:
1.3     ! takayama  543: なるリストである.
        !           544: @item @var{switch}=10 の戻り値の見方を述べる. 例として, f(x)=f1(x)^mを考える.
        !           545: 入力は [[f1(x),m,z]] となる. そのとき戻り値は,
1.1       takayama  546:
                    547: [r_(m-1)(x,z),...,r_0(x,z)]
                    548:
1.3     ! takayama  549: なるリストで返される. 各成分は, 剰余公式を
1.1       takayama  550:
                    551: @tex
                    552: $r(x)=r_{m-1}(x,z)f_1(x)^{m-1}+\cdots+r_0(x,z)$
                    553: @end tex
                    554:
1.3     ! takayama  555: のようにf1(x)の冪で展開したときの各係数を意味している.
        !           556: 各成分のr_{i}(x,z)は,
1.1       takayama  557:
1.3     ! takayama  558: [p^(m-1)(z)の係数となるxとzの多項式,...,p^(0)(z)の係数となるxとzの多項式]
1.1       takayama  559:
1.3     ! takayama  560: なるリストである.
        !           561: @item @var{switch}=20 の戻り値の見方を述べる.
        !           562: symbolicな出力のp^(m)(z)は, p(x)のm階の導関数にzを代入した値という意味である.
        !           563: @item 戻り値は, 与えた因子の全ての零点を代入したものの和として見る.
        !           564: これは因子が2次以上の多項式の場合に関係してくる. 例えば,
1.1       takayama  565:
                    566: @example
                    567: [228] taji_alc.rem_formula([[x^2+1,1,z]]);
                    568: [[-1/2*z*x+1/2]]
                    569: @end example
                    570:
1.3     ! takayama  571: の正しい見方は, x^2+1の零点をa1,a2とおいたときに, zにa1とa2を代入した,
1.1       takayama  572:
                    573: r(x)=(-1/2*a1*x+1/2)+(-1/2*a2*x+1/2)
1.3     ! takayama  574: である. しかし出力では, 零点の和の部分を便宜上省略して返す.
1.1       takayama  575: @end itemize
                    576:
                    577: @example
                    578: [583] taji_alc.rem_formula([[x-1,1,z1],[x-2,1,z2]]);
                    579: [[-x+2],[x-1]]
                    580: [584] taji_alc.rem_formula([[x-1,1,z1],[x-2,1,z2]]|switch=20);
                    581: (-p^(0)(z1)+p^(0)(z2))*x+2*p^(0)(z1)-p^(0)(z2)
                    582:
                    583: [587] taji_alc.rem_formula([[x-1,2,z1]]);
                    584: [[x-1,1]]
                    585: [588] taji_alc.rem_formula([[x-1,2,z1]]|switch=20);
                    586: p^(1)(z1)*x-p^(1)(z1)+p^(0)(z1)
                    587:
                    588: [494] taji_alc.rem_formula([[x-1,3,z1]]|switch=20);
                    589: 1/2*p^(2)(z1)*x^2+(-p^(2)(z1)+p^(1)(z1))*x+1/2*p^(2)(z1)-p^(1)(z1)+p^(
                    590: 0)(z1)
                    591:
                    592: [229] taji_alc.rem_formula([[x+1,2,z1],[x^3-x-1,1,z2]]);
                    593: [[-x^4-x^3+x^2+2*x+1,-2*x^4-3*x^3+2*x^2+5*x+3],[(-1/23*z2^2-10/23*z2+1
                    594: 6/23)*x^4+(-12/23*z2^2-5/23*z2+31/23)*x^3+(-5/23*z2^2+19/23*z2-12/23)*
                    595: x^2+(22/23*z2^2+13/23*z2-53/23)*x+16/23*z2^2-1/23*z2-26/23]]
                    596: [230] taji_alc.rem_formula([[x+1,2,z1],[x^3-x-1,1,z2]]|switch=20);
                    597: (-1/23*p^(0)(z2)*z2^2-10/23*p^(0)(z2)*z2-2*p^(0)(z1)+16/23*p^(0)(z2)-p
                    598: ^(1)(z1))*x^4+(-12/23*p^(0)(z2)*z2^2-5/23*p^(0)(z2)*z2-3*p^(0)(z1)+31/
                    599: 23*p^(0)(z2)-p^(1)(z1))*x^3+(-5/23*p^(0)(z2)*z2^2+19/23*p^(0)(z2)*z2+2
                    600: *p^(0)(z1)-12/23*p^(0)(z2)+p^(1)(z1))*x^2+(22/23*p^(0)(z2)*z2^2+13/23*
                    601: p^(0)(z2)*z2+5*p^(0)(z1)-53/23*p^(0)(z2)+2*p^(1)(z1))*x+16/23*p^(0)(z2
                    602: )*z2^2-1/23*p^(0)(z2)*z2+3*p^(0)(z1)-26/23*p^(0)(z2)+p^(1)(z1)
                    603:
                    604: [231] taji_alc.rem_formula([[x^3-x-1,2,z]]|switch=10);
                    605: [[[(3/23*z^2-4/23)*x^2+(-1/23*z+3/23)*x-4/23*z^2+3/23*z+4/23,(162/529*
                    606: z^2-174/529*z-108/529)*x^2+(-105/529*z^2+54/529*z+70/529)*x-108/529*z^
                    607: 2+116/529*z+72/529],[(-6/23*z^2+9/23*z+4/23)*x^2+(9/23*z^2-2/23*z-6/23
                    608: )*x+4/23*z^2-6/23*z+5/23]]]
                    609: @end example
                    610:
                    611: @table @t
1.3     ! takayama  612: @item 参照
1.1       takayama  613: @end table
                    614:
1.3     ! takayama  615: @comment --- ChangeLog を書く. 動機. ソースコードの位置. 変更日時 など CVSサーバを見るため
        !           616: @comment --- openxm の外部からの寄与も述べる. Credit.
1.1       takayama  617: @noindent
                    618: ChangeLog
                    619: @itemize @bullet
                    620: @end itemize
                    621: @comment ****************************************************************
                    622:
                    623:
                    624: @page
                    625: @comment ****************************************************************
1.3     ! takayama  626: @node taji_alc.solve_ode_cp,,, 1変数代数的局所コホモロジー類用の関数
1.1       takayama  627: @subsection @code{taji_alc.solve_ode_cp}
                    628: @findex taji_alc.solve_ode_cp
                    629:
                    630: @table @t
                    631: @item taji_alc.solve_ode_cp(@var{poly},@var{var},@var{exppoly})
1.3     ! takayama  632: :: 有理数係数の線形常微分方程式のコーシー問題
1.1       takayama  633:
                    634: @tex
                    635: $Pu(z)=f(z)$, $u^{(0)}(0)=c_0,\ldots,u^{(n-1)}(0)=c_{n-1}$
                    636: @end tex
                    637:
1.3     ! takayama  638: の解を求める.
1.1       takayama  639:
1.3     ! takayama  640: ただし, Pはn階の有理数係数の線形常微分作用素, f(z)は指数多項式とする.
1.1       takayama  641: @end table
                    642:
                    643: @table @var
                    644: @item return
1.3     ! takayama  645: 2通りの表現がある.
1.1       takayama  646:
1.3     ! takayama  647: ・表現1 (コーシーデータで整理した形)
1.1       takayama  648:
1.3     ! takayama  649: コーシー問題の一般解u(z)は,
1.1       takayama  650:
                    651: @tex$u(z)=c_0u_0(z)+\cdots+c_{n-1}u_{n-1}(z)+v(z)$@end tex
                    652:
1.3     ! takayama  653: なる線形結合の形で与えられる.
1.1       takayama  654: @tex$u_0(z),\ldots,u_{n-1}(z)$@end tex
1.3     ! takayama  655: をコーシー問題の基本解,
1.1       takayama  656: @tex$v(z)$@end tex
1.3     ! takayama  657: をコーシー問題の特殊解といい,
1.1       takayama  658:
                    659: [u_0(z),...,u_(n-1)(z),v(z)]
                    660:
1.3     ! takayama  661: なるリストで返す.
        !           662: 基本解と特殊解は, 指数多項式リストである.
1.1       takayama  663:
1.3     ! takayama  664: ・表現2 (指数関数で整理した形)
1.1       takayama  665:
1.3     ! takayama  666: @var{data}にコーシーデータを与えると,
        !           667: コーシー問題の一般解u(z)の
1.1       takayama  668: @tex$c_0,\ldots,c_{n-1}$@end tex
1.3     ! takayama  669: のところにデータを代入し,
        !           670: それを指数関数で整理し直した指数多項式リストを返す.
1.1       takayama  671:
                    672: @item poly
1.3     ! takayama  673: 多項式 (Pの特性多項式)
1.1       takayama  674:
1.3     ! takayama  675: または (Pの特性多項式をQ上で既約分解した) [[因子,重複度],...] なるリスト
1.1       takayama  676:
                    677: @item var
1.3     ! takayama  678: 不定元 (関数の独立変数)
1.1       takayama  679:
                    680: @item exppoly
1.3     ! takayama  681: 斉次形のとき0, 非斉次形のときf(z)の指数多項式リスト.
1.1       takayama  682:
                    683: @item switch
1.3     ! takayama  684: オプション指定
1.1       takayama  685:
1.3     ! takayama  686: case 0 : 指数多項式リストの2番目の成分を有理数係数多項式で返す.
1.1       takayama  687:
1.3     ! takayama  688: case 1 : 指数多項式リストの2番目の成分を整数係数化リストで返す.
1.1       takayama  689:
                    690: default : case 0
                    691: @item data
1.3     ! takayama  692: オプション指定
1.1       takayama  693:
1.3     ! takayama  694: コーシーデータを [c_0,...,c_(n-1)] の順に並べたリスト.
1.1       takayama  695: @end table
                    696:
                    697: @itemize @bullet
1.3     ! takayama  698: @item 解法はエルミートの方法(留数計算に帰着させる方法)を採用している.
        !           699: @item 変数は2種類必要(特性多項式の変数と関数の独立変数).
        !           700: @var{poly}の不定元と@var{var}の不定元が衝突しないよう注意.
        !           701: @item 戻り値の特殊解
1.1       takayama  702: @tex
                    703: $v(z)$
                    704: @end tex
1.3     ! takayama  705: は, コーシー条件
1.1       takayama  706: @tex
                    707: $v(0)=0,\ldots,v^{(n-1)}(0)=0$
                    708: @end tex
1.3     ! takayama  709: を満たすコーシー問題の特殊解である.
1.1       takayama  710: @end itemize
                    711:
                    712: @example
                    713: [287] taji_alc.solve_ode_cp(x*(x-3)^2,z,0);
                    714: [[[x-3,0],[x,1]],[[x-3,-z+2/3],[x,-2/3]],[[x-3,1/3*z-1/9],[x,1/9]]]
                    715:
                    716: [289] taji_alc.solve_ode_cp((x^3-x-1)^2,z,0|switch=1);
                    717: [[[x^3-x-1,[(92*z+200)*x^2+(-69*z-254)*x-92*z+43,529]]],[[x^3-x-1,[(92
                    718: *z+420)*x^2+(-46*z-216)*x-161*z-280,529]]],[[x^3-x-1,[(-69*z-195)*x^2+
                    719: (23*z+327)*x+23*z+130,529]]],[[x^3-x-1,[(-161*z-270)*x^2+(69*z+290)*x+
                    720: 184*z+180,529]]],[[x^3-x-1,[-105*x^2+(-23*z+54)*x+69*z+70,529]]],[[x^3
                    721: -x-1,[(69*z+162)*x^2-174*x-92*z-108,529]]]]
                    722:
                    723: [277] taji_alc.solve_ode_cp(x^2-4,z,0);
                    724: [[[x+2,1/2],[x-2,1/2]],[[x+2,-1/4],[x-2,1/4]]]
                    725: [278] taji_alc.solve_ode_cp(x^2-4,z,0|data=[1,-1]);
                    726: [[x+2,3/4],[x-2,1/4]]
                    727: [279] taji_alc.solve_ode_cp(x^2-4,z,0|data=[c0,c1]);
                    728: [[x+2,1/2*c0-1/4*c1],[x-2,1/2*c0+1/4*c1]]
                    729: @end example
                    730:
                    731: @table @t
1.3     ! takayama  732: @item 参照
1.1       takayama  733: @end table
                    734:
1.3     ! takayama  735: @comment --- ChangeLog を書く. 動機. ソースコードの位置. 変更日時 など CVSサーバを見るため
        !           736: @comment --- openxm の外部からの寄与も述べる. Credit.
1.1       takayama  737: @noindent
                    738: ChangeLog
                    739: @itemize @bullet
                    740: @end itemize
                    741: @comment ****************************************************************
                    742:
                    743:
                    744: @page
                    745: @comment ****************************************************************
1.3     ! takayama  746: @node taji_alc.solve_ode_cp_ps,,, 1変数代数的局所コホモロジー類用の関数
1.1       takayama  747: @subsection @code{taji_alc.solve_ode_cp_ps}
                    748: @findex taji_alc.solve_ode_cp_ps
                    749:
                    750: @table @t
                    751: @item taji_alc.solve_ode_cp_ps(@var{poly},@var{var},@var{exppoly})
1.3     ! takayama  752: :: 有理数係数の線形常微分方程式のコーシー問題
1.1       takayama  753:
                    754: @tex
                    755: $Pu(z)=f(z)$, $u^{(0)}(0)=c_0,\ldots,u^{(n-1)}(0)=c_{n-1}$
                    756: @end tex
                    757:
1.3     ! takayama  758: の特殊解を求める.
1.1       takayama  759:
1.3     ! takayama  760: ただし, 非斉次形のみを対象としているので,
1.1       takayama  761: @tex
                    762: $f(z)\neq0$
                    763: @end tex
1.3     ! takayama  764: とする.
1.1       takayama  765:
                    766: @end table
                    767:
                    768: @table @var
                    769: @item return
1.3     ! takayama  770: 指数多項式リスト
1.1       takayama  771:
                    772: @item poly
1.3     ! takayama  773: 多項式 (Pの特性多項式)
1.1       takayama  774:
1.3     ! takayama  775: または (Pの特性多項式をQ上で既約分解した) [[因子,重複度],...] なるリスト
1.1       takayama  776:
                    777: @item var
1.3     ! takayama  778: 不定元 (関数の独立変数)
1.1       takayama  779:
                    780: @item exppoly
1.3     ! takayama  781: f(z)の指数多項式リスト
1.1       takayama  782:
                    783: @item switch
1.3     ! takayama  784: オプション指定
1.1       takayama  785:
1.3     ! takayama  786: case 0 : 指数多項式リストの2番目の成分を有理数係数多項式で返す.
1.1       takayama  787:
1.3     ! takayama  788: case 1 : 指数多項式リストの2番目の成分を整数係数化リストで返す.
1.1       takayama  789:
                    790: default : case 0
                    791:
                    792: @item switch2
1.3     ! takayama  793: オプション指定
1.1       takayama  794:
1.3     ! takayama  795: case 0 : コーシー問題の特殊解を返す.
1.1       takayama  796:
1.3     ! takayama  797: case 1 : 簡単な形の特殊解を返す.
1.1       takayama  798:
                    799: default : case 0
                    800: @end table
                    801:
                    802: @itemize @bullet
1.3     ! takayama  803: @item 変数は2種類必要(特性多項式の変数と関数の独立変数).
        !           804: @var{poly}の不定元と@var{var}の不定元が衝突しないよう注意.
1.1       takayama  805: @end itemize
                    806:
                    807: @example
                    808: [345] taji_alc.solve_ode_cp_ps((x-2)*(x+3),z,[[x-1,1]]);
                    809: [[x+3,1/20],[x-1,-1/4],[x-2,1/5]]
                    810: [346] taji_alc.solve_ode_cp_ps((x-2)*(x+3),z,[[x-1,1]]|switch2=1);
                    811: [[x-1,-1/4]]
                    812: [347] taji_alc.solve_ode_cp_ps((x-2)*(x+3),z,[[x-2,1]]);
                    813: [[x+3,1/25],[x-2,1/5*z-1/25]]
                    814: [348] taji_alc.solve_ode_cp_ps((x-2)*(x+3),z,[[x-2,1]]|switch2=1);
                    815: [[x-2,1/5*z-1/25]]
                    816: [349] taji_alc.solve_ode_cp_ps((x-2)*(x+3),z,[[x+1,1],[x-2,1]]|switch2
                    817: =1);
                    818: [[x+1,-1/6],[x-2,1/5*z+2/75]]
                    819:
                    820: [350] taji_alc.solve_ode_cp_ps((x^3-x-1)*(x-3)^2,z,[[x-3,2],[x-1,3*z^2
                    821: +1]]);
                    822: [[x-1,[-6*z^2-36*z-119,8]],[x^3-x-1,[42291*x^2+55504*x+32313,12167]],[
                    823: x-3,[4232*z^2-4278*z-4295,97336]]]
                    824: @end example
                    825:
                    826: @table @t
1.3     ! takayama  827: @item 参照
1.1       takayama  828: @end table
                    829:
1.3     ! takayama  830: @comment --- ChangeLog を書く. 動機. ソースコードの位置. 変更日時 など CVSサーバを見るため
        !           831: @comment --- openxm の外部からの寄与も述べる. Credit.
1.1       takayama  832: @noindent
                    833: ChangeLog
                    834: @itemize @bullet
                    835: @end itemize
                    836: @comment ****************************************************************
                    837:
                    838:
                    839: @page
                    840: @comment ****************************************************************
1.3     ! takayama  841: @node taji_alc.fbt,,, 1変数代数的局所コホモロジー類用の関数
1.1       takayama  842: @subsection @code{taji_alc.fbt}
                    843: @findex taji_alc.fbt
                    844:
                    845: @table @t
                    846: @item taji_alc.fbt(@var{num},@var{den},@var{var})
1.3     ! takayama  847: :: 有理関数@var{num}/@var{den}が定める代数的局所コホモロジー類のフーリエ・ボレル変換を行う.
1.1       takayama  848: @end table
                    849:
                    850: @table @var
                    851: @item return
1.3     ! takayama  852: [指数多項式リスト,...] なるリスト
1.1       takayama  853:
                    854: @item num
1.3     ! takayama  855: (有理関数の分子の) 多項式
1.1       takayama  856: @item den
1.3     ! takayama  857: (有理関数の分母の) 多項式
1.1       takayama  858:
1.3     ! takayama  859: または (有理関数の分母をQ上で既約分解した)  [[因子,重複度],...] なるリスト
1.1       takayama  860: @item var
1.3     ! takayama  861: 不定元 (像の独立変数)
1.1       takayama  862: @item switch
1.3     ! takayama  863: オプション指定
1.1       takayama  864:
1.3     ! takayama  865: case 0 : 指数多項式リストの2番目の成分を有理数係数多項式で返す.
1.1       takayama  866:
1.3     ! takayama  867: case 1 : 指数多項式リストの2番目の成分を整数係数化リストで返す.
1.1       takayama  868:
                    869: default : case 0
                    870: @end table
                    871:
                    872: @itemize @bullet
1.3     ! takayama  873: @item 変数は2種類必要(代数的局所コホモロジー類の変数と像の独立変数).
        !           874: @var{num/den}の不定元と@var{var}の不定元が衝突しないよう注意.
        !           875: @item taji_alc.fbt()は, Res(Rat*exp(z*x))なる形の有理形関数の留数を求める.
        !           876: この有理形関数の留数は指数多項式となるため, 指数多項式リストで返す.
        !           877: @item 内部のアルゴリズムはtaji_alc.residue()とほぼ同じであり, 実際にtaji_alc.residue()を呼び出して計算を行っている.
1.1       takayama  878: @end itemize
                    879:
                    880: @example
                    881: [235] taji_alc.fbt(1,(x^3-x-1)^3,z);
                    882: [[x^3-x-1,(9/529*z^2-81/529*z-4905/12167)*x^2+(-27/1058*z^2-9/529*z+45
                    883: 63/12167)*x+11/1058*z^2+135/529*z+3270/12167]]
                    884: @end example
                    885:
                    886: @table @t
1.3     ! takayama  887: @item 参照
1.1       takayama  888: @ref{taji_alc.residue, taji_alc.invfbt}
                    889: @end table
                    890:
1.3     ! takayama  891: @comment --- ChangeLog を書く. 動機. ソースコードの位置. 変更日時 など CVSサーバを見るため
        !           892: @comment --- openxm の外部からの寄与も述べる. Credit.
1.1       takayama  893: @noindent
                    894: ChangeLog
                    895: @itemize @bullet
                    896: @end itemize
                    897: @comment ****************************************************************
                    898:
                    899:
                    900: @page
                    901: @comment ****************************************************************
1.3     ! takayama  902: @node taji_alc.inv,,, 1変数代数的局所コホモロジー類用の関数
1.1       takayama  903: @subsection @code{taji_alc.invfbt}
                    904: @findex taji_alc.invfbt
                    905:
                    906: @table @t
                    907: @item taji_alc.invfbt(@var{exppoly},@var{var})
1.3     ! takayama  908: :: 指数多項式の逆フーリエ・ボレル変換を行う.
1.1       takayama  909: @end table
                    910:
                    911: @table @var
                    912: @item return
1.3     ! takayama  913: 有理関数
1.1       takayama  914:
                    915: @item exppoly
1.3     ! takayama  916: 指数多項式リスト
1.1       takayama  917: @item var
1.3     ! takayama  918: 不定元 (指数多項式の独立変数)
1.1       takayama  919:
                    920: @item switch
1.3     ! takayama  921: オプション指定
1.1       takayama  922:
1.3     ! takayama  923: case 0 : 有理関数で返す.
1.1       takayama  924:
1.3     ! takayama  925: case 1 : 有理関数を[分子,分母をQ上で既約分解したリスト]なるリストで返す.
1.1       takayama  926:
                    927: default : case 0
                    928: @end table
                    929:
                    930: @itemize @bullet
1.3     ! takayama  931: @item 変数は2種類必要(代数的数の最小多項式の変数と指数多項式の独立変数).
        !           932: 衝突しないよう注意.
        !           933: @item taji_alc.invfbt()は, exppolyを, Res(Rat*exp(z*x))なる形の留数表示に変換し, Rat部分を返す.
        !           934: @item taji_alc.fbt()の逆演算である.
1.1       takayama  935: @end itemize
                    936:
                    937: @example
                    938: [8] taji_alc.invfbt([[x^3-x-1,2*x^2*z^2+x*z+1],[x^2+1,z*x+z^2]],z|swit
                    939: ch=1);
                    940: [3*x^14+14*x^12+39*x^11+33*x^10+179*x^9+206*x^8+350*x^7+223*x^6+126*x^
                    941: 5+176*x^4+107*x^3+101*x^2+15*x-4,[[x^2+1,3],[x^3-x-1,3]]]
                    942:
                    943: [9] taji_alc.fbt(3*x^14+14*x^12+39*x^11+33*x^10+179*x^9+206*x^8+350*x^
                    944: 7+223*x^6+126*x^5+176*x^4+107*x^3+101*x^2+15*x-4,[[x^2+1,3],[x^3-x-1,3
                    945: ]],z);
                    946: [[x^3-x-1,2*z^2*x^2+z*x+1],[x^2+1,z*x+z^2]]
                    947: @end example
                    948:
                    949: @table @t
1.3     ! takayama  950: @item 参照
1.1       takayama  951: @ref{taji_alc.fbt}
                    952: @end table
                    953:
1.3     ! takayama  954: @comment --- ChangeLog を書く. 動機. ソースコードの位置. 変更日時 など CVSサーバを見るため
        !           955: @comment --- openxm の外部からの寄与も述べる. Credit.
1.1       takayama  956: @noindent
                    957: ChangeLog
                    958: @itemize @bullet
                    959: @end itemize
                    960: @comment ****************************************************************
                    961:
                    962:
                    963:
                    964:
                    965:
                    966:
1.3     ! takayama  967: @comment --- おまじない ---
1.1       takayama  968: @node Index,,, Top
                    969: @unnumbered Index
                    970: @printindex fn
                    971: @printindex cp
                    972: @iftex
                    973: @vfill @eject
                    974: @end iftex
                    975: @summarycontents
                    976: @contents
                    977: @bye
1.3     ! takayama  978: @comment --- おまじない終り ---

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