version 1.2, 2016/08/25 03:13:54 |
version 1.4, 2017/08/31 06:31:45 |
|
|
%comment $OpenXM: OpenXM/src/asir-contrib/packages/doc/n_wishartd/n_wishartd-ja.texi,v 1.1 2016/08/24 07:39:41 noro Exp $ |
%comment $OpenXM: OpenXM/src/asir-contrib/packages/doc/n_wishartd/n_wishartd-ja.texi,v 1.3 2017/03/30 06:16:36 takayama Exp $ |
%comment --- おまじない --- |
%comment --- 障 --- |
\input ../../../../asir-doc/texinfo |
\input texinfo-ja |
@iftex |
@iftex |
@catcode`@#=6 |
@catcode`@#=6 |
@def@fref#1{@xrefX[#1,,@code{#1},,,]} |
@def@fref#1{@xrefX[#1,,@code{#1},,,]} |
@def@b#1{{@bf@gt #1}} |
@def@b#1{{@bf #1}} |
@catcode`@#=@other |
@catcode`@#=@other |
@end iftex |
@end iftex |
@overfullrule=0pt |
@overfullrule=0pt |
|
@documentlanguage ja |
@c -*-texinfo-*- |
@c -*-texinfo-*- |
@comment %**start of header |
@comment %**start of header |
@comment --- おまじない終り --- |
@comment --- 障腟 --- |
|
|
@comment --- GNU info ファイルの名前 --- |
@comment --- GNU info <ゃ --- |
@setfilename asir-contrib-n_wishartd |
@setfilename asir-contrib-n_wishartd |
|
|
@comment --- タイトル --- |
@comment --- 帥ゃ --- |
@settitle n_wishartd |
@settitle n_wishartd |
|
|
@comment %**end of header |
@comment %**end of header |
@comment %@setchapternewpage odd |
@comment %@setchapternewpage odd |
|
|
@comment --- おまじない --- |
@comment --- 障 --- |
@ifinfo |
@ifinfo |
@macro fref{name} |
@macro fref{name} |
@ref{\name\,,@code{\name\}} |
@ref{\name\,,@code{\name\}} |
|
|
@end iftex |
@end iftex |
|
|
@titlepage |
@titlepage |
@comment --- おまじない終り --- |
@comment --- 障腟 --- |
|
|
@comment --- タイトル, バージョン, 著者名, 著作権表示 --- |
@comment --- 帥ゃ, 若吾с, , 篏罔茵腓 --- |
@title n_wishartd |
@title n_wishartd |
@subtitle n_wishartd User's Manual |
@subtitle n_wishartd User's Manual |
@subtitle Edition 1.0 |
@subtitle Edition 1.0 |
Line 48 Copyright @copyright{} Masayuki Noro |
|
Line 49 Copyright @copyright{} Masayuki Noro |
|
2016. All rights reserved. |
2016. All rights reserved. |
@end titlepage |
@end titlepage |
|
|
@comment --- おまじない --- |
@comment --- 障 --- |
@synindex vr fn |
@synindex vr fn |
@comment --- おまじない終り --- |
@comment --- 障腟 --- |
|
|
@comment --- @node は GNU info, HTML 用 --- |
@comment --- @node GNU info, HTML --- |
@comment --- @node の引数は node-name, next, previous, up --- |
@comment --- @node 綣違 node-name, next, previous, up --- |
@node Top,, (dir), (dir) |
@node Top,, (dir), (dir) |
|
|
@comment --- @menu は GNU info, HTML 用 --- |
@comment --- @menu GNU info, HTML --- |
@comment --- chapter 名を正確に並べる --- |
@comment --- chapter 罩g∈筝鴻 --- |
@menu |
@menu |
* matrix 1F1 の対角領域上への制限パッケージ n_wishartd.rr :: |
* matrix 1F1 絲乗筝吾狗宴若 n_wishartd.rr :: |
* Index:: |
* Index:: |
@end menu |
@end menu |
|
|
@comment --- chapter の開始 --- |
@comment --- chapter 紮 --- |
@comment --- 親 chapter 名を正確に --- |
@comment --- 荀 chapter 罩g∈ --- |
@node matrix 1F1 の対角領域上への制限パッケージ n_wishartd.rr ,,, Top |
@node matrix 1F1 絲乗筝吾狗宴若 n_wishartd.rr ,,, Top |
@chapter matrix 1F1 の対角領域上への制限パッケージ n_wishartd.rr |
@chapter matrix 1F1 絲乗筝吾狗宴若 n_wishartd.rr |
@comment --- section 名を正確に並べる --- |
@comment --- section 罩g∈筝鴻 --- |
@menu |
@menu |
* matrix 1F1 の対角領域上への制限:: |
* matrix 1F1 絲乗筝吾狗:: |
* 制限した関数の数値計算:: |
* 狗∽違医よ膊:: |
* 部分分数係数の微分作用素:: |
* 遺違緇篏膣:: |
* Runge-Kutta 法の試験的実装:: |
* Runge-Kutta 羈荅薑絎茖:: |
@end menu |
@end menu |
|
|
このマニュアルでは, asir-contrib パッケージに収録されている, |
ャ≪с, asir-contrib 宴若吾蚊, |
matrix 1F1 が対角領域上で満たす微分方程式系を計算するパッケージ |
matrix 1F1 絲乗筝ф緇合綣靗祉荐膊宴若 |
@samp{n_wishartd.rr} について解説する. |
@samp{n_wishartd.rr} ゃ茹h. |
このパッケージを使うには, まず @samp{n_wishartd.rr} をロードする. |
宴若吾篏帥, 障 @samp{n_wishartd.rr} 若. |
@example |
@example |
[...] load("n_wishartd.rr"); |
[...] load("n_wishartd.rr"); |
@end example |
@end example |
@noindent |
@noindent |
このパッケージの函数を呼び出すには, 全て @code{n_wishartd.} を先頭につける. |
宴若吾醇違若喝冴, @code{n_wishartd.} ゃ. |
|
|
@comment --- section の開始 --- |
@comment --- section 紮 --- |
@comment --- 書体指定について --- |
@comment --- 娯絎ゃ --- |
@comment --- @code{} はタイプライタ体表示 --- |
@comment --- @code{} 帥ゃゃ推茵腓 --- |
@comment --- @var{} は斜字体表示 --- |
@comment --- @var{} 絖篏茵腓 --- |
@comment --- @b{} はボールド表示 --- |
@comment --- @b{} 若茵腓 --- |
@comment --- @samp{} はファイル名などの表示 --- |
@comment --- @samp{} <ゃ茵腓 --- |
|
|
@node matrix 1F1 の対角領域上への制限,,, matrix 1F1 の対角領域上への制限パッケージ n_wishartd.rr |
@node matrix 1F1 絲乗筝吾狗,,, matrix 1F1 絲乗筝吾狗宴若 n_wishartd.rr |
@section matrix 1F1 の対角領域上への制限 |
@section matrix 1F1 絲乗筝吾狗 |
|
|
@menu |
@menu |
* n_wishartd.diagpf:: |
* n_wishartd.diagpf:: |
* n_wishartd.message:: |
* n_wishartd.message:: |
@end menu |
@end menu |
|
|
@node n_wishartd.n_wishartd.diagpf,,, matrix 1F1 の対角領域上への制限 |
@node n_wishartd.n_wishartd.diagpf,,, matrix 1F1 絲乗筝吾狗 |
|
|
@subsection @code{n_wishartd.diagpf} |
@subsection @code{n_wishartd.diagpf} |
@findex n_wishartd.diagpf |
@findex n_wishartd.diagpf |
|
|
@table @t |
@table @t |
@item n_wishartd.diagpf(@var{m},@var{blocks}) |
@item n_wishartd.diagpf(@var{m},@var{blocks}) |
@var{m}変数の 1F1 が満たす方程式を, @var{blocks} で指定される |
@var{m}紊違 1F1 羣合綣, @var{blocks} ф絎 |
対角領域上に制限した微分方程式系を計算する. |
絲乗筝狗緇合綣靗祉荐膊. |
@end table |
@end table |
|
|
@table @var |
@table @var |
@item return |
@item return |
@var{[E1,E2,...]} なるリスト, 各 @var{Ei} は |
@var{[E1,E2,...]} 鴻, @var{Ei} |
部分分数を係数とする微分作用素で, 制限した 1F1を零化する. |
違篆違緇篏膣, 狗 1F1九. |
|
|
@item m |
@item m |
自然数 |
倶 |
@item vars |
@item vars |
@var{[[s1,e1],[s2,e2],...]} なるリスト. |
@var{[[s1,e1],[s2,e2],...]} 鴻. |
@item options |
@item options |
下の説明参照. |
筝茯. |
@end table |
@end table |
|
|
@itemize @bullet |
@itemize @bullet |
@item @var{m}変数の 1F1 が満たす方程式を, @var{blocks} で指定される |
@item @var{m}紊違 1F1 羣合綣, @var{blocks} ф絎 |
対角領域上に制限した微分方程式系を計算する. |
絲乗筝狗緇合綣靗祉荐膊. |
@item @var{blocks} の各成分 @var{[s,e]} は @var{ys=y(s+1)=...=ye} を意味する. |
@item @var{blocks} @var{[s,e]} @var{ys=y(s+1)=...=ye} 潟. |
このブロックを代表する変数は @var{ye} である. |
篁h;紊違 @var{ye} с. |
@item @var{blocks} には全ての変数が現れるように指定する. 特に, 一つの変数からなる |
@item @var{blocks} 紊違憗絎. 鴻, 筝ゃ紊違 |
ブロックは @var{[s,s]} と指定する. |
@var{[s,s]} 絎. |
@item この関数が常に成功することは証明されていないが, 現在のところ, 各変数ブロックサイズが |
@item ∽違絽吾荐惹, 憜, 紊違泣ゃ冴 |
36 以下なら成功することは証明されている. |
36 篁ヤ荐惹. |
@item 出力される微分作用素のフォーマットに関しては @ref{部分分数を係数とする微分作用素} を |
@item 阪緇篏膣若≪ @ref{違篆違緇篏膣} |
参照. |
. |
@end itemize |
@end itemize |
|
|
@example |
@example |
Line 157 matrix 1F1 が対角領域上で満たす微分方程式系を計算する |
|
Line 158 matrix 1F1 が対角領域上で満たす微分方程式系を計算する |
|
] |
] |
@end example |
@end example |
|
|
@node n_wishartd.message,,, matrix 1F1 の対角領域上への制限 |
@node n_wishartd.message,,, matrix 1F1 絲乗筝吾狗 |
|
|
@subsection @code{n_wishartd.message} |
@subsection @code{n_wishartd.message} |
@findex n_wishartd.message |
@findex n_wishartd.message |
|
|
@table @t |
@table @t |
@item n_wishartd.message(@var{onoff}) |
@item n_wishartd.message(@var{onoff}) |
計算中のメッセージ出力をon/off する. |
荐膊筝<祉若後阪on/off . |
@end table |
@end table |
|
|
@table @var |
@table @var |
@item onoff |
@item onoff |
@var{onoff=1} のときメッセージを出力し, @var{onoff=0} のときしない. |
@var{onoff=1} <祉若吾阪, @var{onoff=0} . |
@end table |
@end table |
|
|
@itemize @bullet |
@itemize @bullet |
@item 計算中のメッセージ出力を on/off する. デフォルトは off である. |
@item 荐膊筝<祉若後阪 on/off . off с. |
@end itemize |
@end itemize |
|
|
@node 制限した関数の計算,,, matrix 1F1 の対角領域上への制限パッケージ n_wishartd.rr |
@node 狗∽違荐膊,,, matrix 1F1 絲乗筝吾狗宴若 n_wishartd.rr |
@section 制限した関数の計算 |
@section 狗∽違荐膊 |
|
|
@menu |
@menu |
* n_wishartd.prob_by_hgm:: |
* n_wishartd.prob_by_hgm:: |
Line 185 matrix 1F1 が対角領域上で満たす微分方程式系を計算する |
|
Line 186 matrix 1F1 が対角領域上で満たす微分方程式系を計算する |
|
* n_wishartd.ps:: |
* n_wishartd.ps:: |
@end menu |
@end menu |
|
|
@node n_wishartd.prob_by_hgm,,, 制限した関数の計算 |
@node n_wishartd.prob_by_hgm,,, 狗∽違荐膊 |
@subsection @code{n_wishartd.prob_by_hgm} |
@subsection @code{n_wishartd.prob_by_hgm} |
@findex n_wishartd.prob_by_hgm |
@findex n_wishartd.prob_by_hgm |
|
|
@table @t |
@table @t |
@item n_wishartd.prob_by_hgm(@var{m},@var{n},@var{[p1,p2,...]},@var{[s1,s2,...]},@var{t}[|@var{options}]) |
@item n_wishartd.prob_by_hgm(@var{m},@var{n},@var{[p1,p2,...]},@var{[s1,s2,...]},@var{t}[|@var{options}]) |
HGM により重複固有値を持つ共分散行列に対する Wishart 行列の最大固有値の |
HGM 茲堺ゃゅ怨h絲障 Wishart 茵紊у堺ゃ |
分布関数の値を計算する. |
絽∽違ゃ荐膊. |
@end table |
@end table |
|
|
@table @var |
@table @var |
@item return |
@item return |
@item m |
@item m |
変数の個数 |
紊違 |
@item n |
@item n |
自由度 |
怨墾 |
@item [p1,p2,...] |
@item [p1,p2,...] |
重複固有値の個数のリスト |
茲堺ゃ違鴻 |
@item [s1,s2,...] |
@item [s1,s2,...] |
各重複固有値 |
茲堺 |
@end table |
@end table |
|
|
@itemize @bullet |
@itemize @bullet |
@item |
@item |
固有値 @var{si} を @var{pi} 個もつ対角行列を共分散行列とする Wishart 行 |
堺 @var{si} @var{pi} ゅ乗茵怨h Wishart 茵 |
列の最大固有値 @var{l1}の分布関数の値 @var{Pr[l1<t]} を計算する. |
紊у堺 @var{l1}絽∽違 @var{Pr[l1<t]} 荐膊. |
|
|
@item ステップ数を指定したルンゲ=クッタ法を, ステップ数を 2 倍しながら |
@item 鴻違絎潟=炊, 鴻違 2 |
一つ前の計算結果との相対誤差が @var{eps} (デフォルトで @var{10^(-4)}) |
筝ゅ荐膊腟後乗ゅ勲 @var{eps} ( @var{10^(-4)}) |
になるまで繰り返す. |
障х弘菴. |
@item |
@item |
@var{eq} オプション指定がない場合, @var{[p1,p2,...]} で指定される対角領 |
@var{eq} 激с恰絎翫, @var{[p1,p2,...]} ф絎絲乗 |
域に制限した微分方程式系を計算する. 指定がある場合, オプションとして指 |
狗緇合綣靗祉荐膊. 絎翫, 激с潟 |
定されたリストをチェックなしに制限した方程式と見なして計算する. |
絎鴻с狗合綣荀荐膊. |
@item @var{eps}オプションが指定された場合, 指定された値を @var{eps} として計算する. |
@item @var{eps}激с潟絎翫, 絎ゃ @var{eps} 荐膊. |
@item @var{td} オプションが指定された場合, 初期ベクトル計算のためのべき級数を @var{td} で |
@item @var{td} 激с潟絎翫, 荐膊鴻膣違 @var{td} |
指定された全次数まで計算する (デフォルトは100). |
絎罨≧違障ц膊 (100). |
@item @var{rk} オプションが指定された場合, 指定された次数のルンゲ=クッタ法を用いる. |
@item @var{rk} 激с潟絎翫, 絎罨≧違潟=炊. |
許される値は 4 または 5, でデフォルトは 5である. |
荐宴ゃ 4 障 5, с 5с. |
@item べき級数解の計算の困難さ, およびパフィアン行列の計算の困難さから, ブロック数が 2 以下の場合にのみ |
@item 鴻膣域В荐膊育c, 潟c≪活荐膊育c, 違 2 篁ヤ翫 |
実用性がある. |
絎с. |
@end itemize |
@end itemize |
|
|
@example |
@example |
|
|
266.4sec + gc : 8.277sec(276.8sec) |
266.4sec + gc : 8.277sec(276.8sec) |
@end example |
@end example |
|
|
@node n_wishartd.prob_by_ps,,, 制限した関数の計算 |
@node n_wishartd.prob_by_ps,,, 狗∽違荐膊 |
@subsection @code{n_wishartd.prob_by_ps} |
@subsection @code{n_wishartd.prob_by_ps} |
@findex n_wishartd.prob_by_ps |
@findex n_wishartd.prob_by_ps |
|
|
@table @t |
@table @t |
@item n_wishartd.prrob_by_ps(@var{m},@var{n},@var{[p1,p2,...]},@var{[s1,s2,...]},@var{t}[|@var{options}]) |
@item n_wishartd.prrob_by_ps(@var{m},@var{n},@var{[p1,p2,...]},@var{[s1,s2,...]},@var{t}[|@var{options}]) |
べき級数により重複固有値を持つ共分散行列に対する Wishart 行列の最大固有値の |
鴻膣違茲堺ゃゅ怨h絲障 Wishart 茵紊у堺ゃ |
分布関数の値を計算する. |
絽∽違ゃ荐膊. |
@end table |
@end table |
|
|
@table @var |
@table @var |
@item m |
@item m |
変数の個数 |
紊違 |
@item n |
@item n |
自由度 |
怨墾 |
@item [p1,p2,...] |
@item [p1,p2,...] |
重複固有値の個数のリスト |
茲堺ゃ違鴻 |
@item [s1,s2,...] |
@item [s1,s2,...] |
各重複固有値 |
茲堺 |
@end table |
@end table |
|
|
@itemize @bullet |
@itemize @bullet |
@item |
@item |
直前の値との相対誤差が @var{eps} (デフォルト値は @var{10^(-4)}) 以下に |
翫ゃ後乗ゅ勲 @var{eps} (ゃ @var{10^(-4)}) 篁ヤ |
なるまで, べき級数を全次数ごとに計算する. その値から分布関数の値を計算 |
障, 鴻膣違罨≧違荐膊. ゃ絽∽違ゃ荐膊 |
して返す. |
菴. |
@item @var{eps}オプションが指定された場合, 指定された値を @var{eps} として計算する. |
@item @var{eps}激с潟絎翫, 絎ゃ @var{eps} 荐膊. |
@var{eq} オプション指定がない場合, @var{[p1,p2,...]} で指定される対角領 |
@var{eq} 激с恰絎翫, @var{[p1,p2,...]} ф絎絲乗 |
域に制限した微分方程式系を計算する. 指定がある場合, オプションとして指 |
狗緇合綣靗祉荐膊. 絎翫, 激с潟 |
定されたリストをチェックなしに制限した方程式と見なして計算する. |
絎鴻с狗合綣荀荐膊. |
@item @var{t} の値が小さい場合にのみ実用的に用いることができる. |
@item @var{t} ゃ絨翫水с. |
@end itemize |
@end itemize |
|
|
@example |
@example |
|
|
23.07sec + gc : 1.136sec(24.25sec) |
23.07sec + gc : 1.136sec(24.25sec) |
@end example |
@end example |
|
|
@node n_wishartd.ps,,, 制限した関数の計算 |
@node n_wishartd.ps,,, 狗∽違荐膊 |
@subsection @code{n_wishartd.ps} |
@subsection @code{n_wishartd.ps} |
@findex n_wishartd.ps |
@findex n_wishartd.ps |
|
|
@table @t |
@table @t |
@item n_wishartd.ps(@var{z},@var{v},@var{td}) |
@item n_wishartd.ps(@var{z},@var{v},@var{td}) |
微分方程式系のべき級数解を指定された全次数まで計算する. |
緇合綣靗祉鴻膣域В絎罨≧違障ц膊. |
@end table |
@end table |
|
|
@table @var |
@table @var |
@item return |
@item return |
多項式リスト |
紊綣鴻 |
|
|
@item z |
@item z |
部分分数係数の微分作用素のリスト |
遺違緇篏膣鴻 |
@item v |
@item v |
変数リスト |
紊違鴻 |
@end table |
@end table |
|
|
@itemize @bullet |
@itemize @bullet |
@item |
@item |
結果は @var{[p,pd]} なるリストで, @var{p} は @var{td} 次まで求めたべき級数解, @var{pd} は |
腟 @var{[p,pd]} 鴻, @var{p} @var{td} 罨<障ф鴻膣域В, @var{pd} |
@var{p} の @var{td} 次部分である. |
@var{p} @var{td} 罨♂с. |
@item @var{z} は, @var{v} に指定される変数以外のパラメタを含んではいけない. |
@item @var{z} , @var{v} 絎紊遺札紊<帥с. |
@end itemize |
@end itemize |
|
|
@example |
@example |
|
|
+...+1395815/62890602*y6^3+3175/25086*y6^2+55/111*y6+1 |
+...+1395815/62890602*y6^3+3175/25086*y6^2+55/111*y6+1 |
@end example |
@end example |
|
|
@node 部分分数係数の微分作用素,,, matrix 1F1 の対角領域上への制限パッケージ n_wishartd.rr |
@node 遺違緇篏膣,,, matrix 1F1 絲乗筝吾狗宴若 n_wishartd.rr |
@section 部分分数係数の微分作用素 |
@section 遺違緇篏膣 |
|
|
@menu |
@menu |
* 部分分数の表現:: |
* 違茵:: |
* 部分分数係数の微分作用素の表現:: |
* 遺違緇篏膣茵:: |
* 部分分数係数の微分作用素の演算:: |
* 遺違緇篏膣羲膊:: |
@end menu |
@end menu |
|
|
@node 部分分数の表現,,, 部分分数係数の微分作用素 |
@node 違茵,,, 遺違緇篏膣 |
@subsection 部分分数の表現 |
@subsection 違茵 |
|
|
matrix 1F1 が満たす微分方程式の係数は @var{1/yi}, @var{1/(yi-yj)} の定 |
matrix 1F1 羣緇合綣篆違 @var{1/yi}, @var{1/(yi-yj)} 絎 |
数倍の和として書かれている. さらに, ロピタル則を用いた対角領域への制限 |
医吾. , 帥絲乗吾狗 |
アルゴリズムの結果も同様に部分分数の和として書ける. |
≪眼冴腟罕違吾. |
|
|
@itemize @bullet |
@itemize @bullet |
@item |
@item |
分母に現れる @var{yi0^n0(yi1-yj1)^n1(yi2-yj2)^n2...(yik-yjk)^nk} は |
罸憗 @var{yi0^n0(yi1-yj1)^n1(yi2-yj2)^n2...(yik-yjk)^nk} |
@var{[[yi0,n0],[yi1-yj1,n1],...,[yik-yjk,nk]]} なる形のリストとして表現 |
@var{[[yi0,n0],[yi1-yj1,n1],...,[yik-yjk,nk]]} 綵≪鴻茵 |
される. ここで, 各因子 @var{yi-yj} は @var{i>j} を満たし, さらに因子は |
. , 絖 @var{yi-yj} @var{i>j} 羣, 絖 |
ある一定の順序で整列される. |
筝絎綺ф翫. |
@item |
@item |
@var{f} を上のようなべき積とし, @var{c} を定数とするとき, 単項式にあた |
@var{f} 筝鴻腥, @var{c} 絎違, 綣 |
る @var{c/f} は @var{[c,f]} で表現される. @var{f=[]} の場合, 分母が 1 |
@var{c/f} @var{[c,f]} ц;憗. @var{f=[]} 翫, 罸 1 |
であることを意味する. |
с潟. |
@item |
@item |
最後に, @var{c1/f1+...+ck/fk} は @var{[[c1,f1],...,[ck,fk]]} と表現され |
緇, @var{c1/f1+...+ck/fk} @var{[[c1,f1],...,[ck,fk]]} 茵憗 |
る. ここでも, 各項はある一定の順序で整列される. |
. с, 筝絎綺ф翫. |
@item |
@item |
部分分数を通分して簡約した結果, 0 になることもあることに注意する. |
違膂∞腟, 0 羈. |
@end itemize |
@end itemize |
|
|
@node 部分分数係数の微分作用素の表現,,, 部分分数係数の微分作用素 |
@node 遺違緇篏膣茵,,, 遺違緇篏膣 |
@subsection 部分分数係数の微分作用素の表現 |
@subsection 遺違緇篏膣茵 |
|
|
前節の部分分数を用いて, それらを係数とする微分作用素が表現できる. |
膀違, 篆違緇篏膣茵憗с. |
@var{f1,...,fk} を部分分数の表現, @var{d1,...,dk} を分散表現単項式 (現 |
@var{f1,...,fk} 違茵, @var{d1,...,dk} h;憜綣 ( |
在設定されている項順序で @var{d1>...>dk}) とするとき, 微分作用素 |
荐絎綺 @var{d1>...>dk}) , 緇篏膣 |
@var{f1*d1+...+fk*dk} が@var{[f1,d1],...[fk,dk]]}で表現される. |
@var{f1*d1+...+fk*dk} @var{[f1,d1],...[fk,dk]]}ц;憗. |
|
|
@node 部分分数係数の微分作用素の演算,,, 部分分数係数の微分作用素 |
@node 遺違緇篏膣羲膊,,, 遺違緇篏膣 |
@subsection 部分分数係数の微分作用素の演算 |
@subsection 遺違緇篏膣羲膊 |
|
|
@menu |
@menu |
* n_wishartd.wsetup:: |
* n_wishartd.wsetup:: |
Line 387 matrix 1F1 が満たす微分方程式の係数は @var{1/yi}, @var |
|
Line 388 matrix 1F1 が満たす微分方程式の係数は @var{1/yi}, @var |
|
* n_wishartd.muldpf:: |
* n_wishartd.muldpf:: |
@end menu |
@end menu |
|
|
@node n_wishartd.wsetup,,, 部分分数係数の微分作用素の演算 |
@node n_wishartd.wsetup,,, 遺違緇篏膣羲膊 |
@subsubsection @code{n_wishartd.wsetup} |
@subsubsection @code{n_wishartd.wsetup} |
@findex n_wishartd.wsetup |
@findex n_wishartd.wsetup |
|
|
Line 397 matrix 1F1 が満たす微分方程式の係数は @var{1/yi}, @var |
|
Line 398 matrix 1F1 が満たす微分方程式の係数は @var{1/yi}, @var |
|
|
|
@table @var |
@table @var |
@item m |
@item m |
自然数 |
倶 |
@end table |
@end table |
|
|
@itemize @bullet |
@itemize @bullet |
@item @var{m} 変数の計算環境をセットする. 変数は @var{y0,y1,...,ym}, @var{dy0,...,dym} |
@item @var{m} 紊違荐膊医祉. 紊違 @var{y0,y1,...,ym}, @var{dy0,...,dym} |
で @var{y0, dy0} は中間結果の計算のためのダミー変数である. |
@var{y0, dy0} 筝腟荐膊弱違с. |
@end itemize |
@end itemize |
|
|
@node n_wishartd.addpf,,, 部分分数係数の微分作用素の演算 |
@node n_wishartd.addpf,,, 遺違緇篏膣羲膊 |
@subsubsection @code{n_wishartd.addpf} |
@subsubsection @code{n_wishartd.addpf} |
@findex n_wishartd.addpf |
@findex n_wishartd.addpf |
@table @t |
@table @t |
Line 414 matrix 1F1 が満たす微分方程式の係数は @var{1/yi}, @var |
|
Line 415 matrix 1F1 が満たす微分方程式の係数は @var{1/yi}, @var |
|
|
|
@table @var |
@table @var |
@item return |
@item return |
部分分数係数の微分作用素 |
遺違緇篏膣 |
@item p1, p2 |
@item p1, p2 |
部分分数係数の微分作用素 |
遺違緇篏膣 |
@end table |
@end table |
|
|
@itemize @bullet |
@itemize @bullet |
@item 微分作用素 @var{p1}, @var{p2} の和を求める. |
@item 緇篏膣 @var{p1}, @var{p2} 羆. |
@end itemize |
@end itemize |
|
|
@node n_wishartd.mulcpf,,, 部分分数係数の微分作用素の演算 |
@node n_wishartd.mulcpf,,, 遺違緇篏膣羲膊 |
@subsubsection @code{n_wishartd.mulcpf} |
@subsubsection @code{n_wishartd.mulcpf} |
@findex n_wishartd.mulcpf |
@findex n_wishartd.mulcpf |
@table @t |
@table @t |
Line 432 matrix 1F1 が満たす微分方程式の係数は @var{1/yi}, @var |
|
Line 433 matrix 1F1 が満たす微分方程式の係数は @var{1/yi}, @var |
|
|
|
@table @var |
@table @var |
@item return |
@item return |
部分分数係数の微分作用素 |
遺違緇篏膣 |
@item c |
@item c |
部分分数 |
|
@item p |
@item p |
部分分数係数の微分作用素 |
遺違緇篏膣 |
@end table |
@end table |
|
|
@itemize @bullet |
@itemize @bullet |
@item 部分分数 @var{c} と微分作用素 @var{p} の積を計算する. |
@item @var{c} 緇篏膣 @var{p} 腥荐膊. |
@end itemize |
@end itemize |
|
|
@node n_wishartd.mulpf,,, 部分分数係数の微分作用素の演算 |
@node n_wishartd.mulpf,,, 遺違緇篏膣羲膊 |
@subsubsection @code{n_wishartd.mulpf} |
@subsubsection @code{n_wishartd.mulpf} |
@findex n_wishartd.mulpf |
@findex n_wishartd.mulpf |
@table @t |
@table @t |
Line 452 matrix 1F1 が満たす微分方程式の係数は @var{1/yi}, @var |
|
Line 453 matrix 1F1 が満たす微分方程式の係数は @var{1/yi}, @var |
|
|
|
@table @var |
@table @var |
@item return |
@item return |
部分分数係数の微分作用素 |
遺違緇篏膣 |
@item p1, p2 |
@item p1, p2 |
部分分数係数の微分作用素 |
遺違緇篏膣 |
@end table |
@end table |
|
|
@itemize @bullet |
@itemize @bullet |
@item 微分作用素 @var{p1}, @var{p2} の積を計算する. |
@item 緇篏膣 @var{p1}, @var{p2} 腥荐膊. |
@end itemize |
@end itemize |
|
|
@node n_wishartd.muldpf,,, 部分分数係数の微分作用素の演算 |
@node n_wishartd.muldpf,,, 遺違緇篏膣羲膊 |
@subsubsection @code{n_wishartd.muldpf} |
@subsubsection @code{n_wishartd.muldpf} |
@findex n_wishartd.muldpf |
@findex n_wishartd.muldpf |
@table @t |
@table @t |
Line 470 matrix 1F1 が満たす微分方程式の係数は @var{1/yi}, @var |
|
Line 471 matrix 1F1 が満たす微分方程式の係数は @var{1/yi}, @var |
|
|
|
@table @var |
@table @var |
@item return |
@item return |
部分分数係数の微分作用素 |
遺違緇篏膣 |
@item y |
@item y |
変数 |
紊 |
@item p |
@item p |
部分分数係数の微分作用素 |
遺違緇篏膣 |
@end table |
@end table |
|
|
@itemize @bullet |
@itemize @bullet |
@item 変数 @var{y} に対し, 微分作用素 @var{dy} と @var{p} の微分作用素としての |
@item 紊 @var{y} 絲障, 緇篏膣 @var{dy} @var{p} 緇篏膣 |
積を計算する. |
腥荐膊. |
@end itemize |
@end itemize |
|
|
@example |
@example |
Line 492 matrix 1F1 が満たす微分方程式の係数は @var{1/yi}, @var |
|
Line 493 matrix 1F1 が満たす微分方程式の係数は @var{1/yi}, @var |
|
...,[[[a,[[y1,2]]]],(1)*<<0,0,0,0,0>>]] |
...,[[[a,[[y1,2]]]],(1)*<<0,0,0,0,0>>]] |
@end example |
@end example |
|
|
@node Runge-Kutta 法の試験的実装,,, matrix 1F1 の対角領域上への制限パッケージ n_wishartd.rr |
@node Runge-Kutta 羈荅薑絎茖,,, matrix 1F1 絲乗筝吾狗宴若 n_wishartd.rr |
@section Runge-Kutta 法の試験的実装 |
@section Runge-Kutta 羈荅薑絎茖 |
|
|
@menu |
@menu |
* rk_ratmat:: |
* rk_ratmat:: |
@end menu |
@end menu |
|
|
@node rk_ratmat,,, Runge-Kutta 法の試験的実装 |
@node rk_ratmat,,, Runge-Kutta 羈荅薑絎茖 |
|
|
@code{n_wishartd.ps_by_hgm} では, パフィアン行列を計算したあと, 与えられたステップ数で |
@code{n_wishartd.ps_by_hgm} с, c≪活荐膊, 筝鴻違 |
Runge-Kutta 法を実行して近似解の値を計算する組み込み関数 @code{rk_ratmat} を実行している. |
Runge-Kutta 羈絎茵菴篌取Вゃ荐膊腟粋昭翠∽ @code{rk_ratmat} 絎茵. |
この関数を, 値が与えられた精度で安定するまでステップ数を2倍しながら繰り返して実行する. |
∽違, ゃ筝膕上墾у絎障с鴻違2膵違菴絎茵. |
@code{rk_ratmat} 自体, ある程度汎用性があるので, ここでその使用法を解説する. |
@code{rk_ratmat} 篏, 腮綺羆с, с篏睡羈茹h. |
|
|
@subsection @code{rk_ratmat} |
@subsection @code{rk_ratmat} |
@findex rk_ratmat |
@findex rk_ratmat |
|
|
@table @t |
@table @t |
@item rk_ratmat(@var{rk45},@var{num},@var{den},@var{x0},@var{x1},@var{s},@var{f0}) |
@item rk_ratmat(@var{rk45},@var{num},@var{den},@var{x0},@var{x1},@var{s},@var{f0}) |
有理関数係数のベクトル値一階線形常微分方程式系を Runge-Kutta 法で解く |
∽遺違や膩綵√幻緇合綣靗祉 Runge-Kutta 羈цВ |
@end table |
@end table |
|
|
@table @var |
@table @var |
@item return |
@item return |
実数のリスト |
絎違鴻 |
|
|
@item rk45 |
@item rk45 |
4 または 5 |
4 障 5 |
@item num |
@item num |
定数行列の配列 |
絎域 |
@item den |
@item den |
多項式 |
紊綣 |
@item x0, x1 |
@item x0, x1 |
実数 |
絎 |
@item s |
@item s |
自然数 |
倶 |
@item f0 |
@item f0 |
実ベクトル |
絎 |
@end table |
@end table |
|
|
@itemize @bullet |
@itemize @bullet |
@item |
@item |
配列 @var{num} のサイズを @var{k} とするとき, |
@var{num} 泣ゃ冴 @var{k} , |
@var{P(x)=1/den(num[0]+num[1]x+...+num[k-1]x^(k-1))} に対し @var{dF/dx = P(x)F}, @var{F(x0)=f0} を |
@var{P(x)=1/den(num[0]+num[1]x+...+num[k-1]x^(k-1))} 絲障 @var{dF/dx = P(x)F}, @var{F(x0)=f0} |
Runge-Kutta 法で解く. |
Runge-Kutta 羈цВ. |
@item |
@item |
@var{rk45} が 4 のとき 4 次 Runge-Kutta, 5 のとき 5 次 Runge-Kutta アルゴリズムを実行する. |
@var{rk45} 4 4 罨 Runge-Kutta, 5 5 罨 Runge-Kutta ≪眼冴絎茵. |
実験的実装のため, adaptive アルゴリズムは実装されていない. |
絎薑絎茖, adaptive ≪眼冴絎茖. |
@item |
@item |
@var{s} はステップ数で, 刻み幅は@var{(x1-x0)/s} である. |
@var{s} 鴻違, 祉水@var{(x1-x0)/s} с. |
@item |
@item |
@var{f0} がサイズ@var{n} のとき, @var{num} の各成分は @var{n} 次正方行列である. |
@var{f0} 泣ゃ@var{n} , @var{num} @var{n} 罨≧f壕с. |
@item |
@item |
結果は, 長さ @var{s} の実数リスト @var{[r1,...,rs]} で, @var{ri} は @var{i} ステップ目に計算された |
腟, 激 @var{s} 絎違鴻 @var{[r1,...,rs]} , @var{ri} @var{i} 鴻荐膊 |
解ベクトルの第0成分である. 次のステップに進む前に解ベクトルを @var{ri} で割るので, 最終的に |
茹c膃0с. 罨<鴻蚊茹c @var{ri} у蚊, 腟 |
解 @var{F(x1)} の第 0 成分が @var{rs*r(s-1)*...*r1} となる. |
茹 @var{F(x1)} 膃 0 @var{rs*r(s-1)*...*r1} . |
@item 方程式が線形なので, Runge-Kutta の各ステップも線形となることを利用し, |
@item 合綣膩綵≪, Runge-Kutta 鴻膩綵≪, |
第0成分を1に正規化することで, 途中の解の成分が倍精度浮動小数の |
膃01罩h, 筝茹c膕上墾羌絨違 |
範囲に収まることを期待している. 初期ベクトル @var{f0} の成分が倍精度浮動小数に収まらない場合 |
膀蚊障緇. @var{f0} 膕上墾羌絨違障翫 |
は, @var{f0} を正規化してから @code{rk_ratmat} を実行し, 前項の結果に @var{f0} の第 0 成分をかければ |
, @var{f0} 罩h @code{rk_ratmat} 絎茵, 腟 @var{f0} 膃 0 |
よい. |
. |
@end itemize |
@end itemize |
|
|
@example |
@example |
Line 573 Runge-Kutta 法で解く. |
|
Line 574 Runge-Kutta 法で解く. |
|
@end example |
@end example |
|
|
|
|
@comment --- おまじない --- |
@comment --- 障 --- |
@node Index,,, Top |
@node Index,,, Top |
@unnumbered Index |
@unnumbered Index |
@printindex fn |
@printindex fn |
Line 584 Runge-Kutta 法で解く. |
|
Line 585 Runge-Kutta 法で解く. |
|
@summarycontents |
@summarycontents |
@contents |
@contents |
@bye |
@bye |
@comment --- おまじない終り --- |
@comment --- 障腟 --- |
|
|