[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.4

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

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