Go to the first, previous, next, last section, table of contents.

### `tk_pfn.rkn`

`tk_pfn.rkn(F,X,Y,Xs,Ys,Ht,H)`
  :: Pfaffian 方程式に対する Runge-Kutta 法

return
  リスト 独立変数と解の組
F, X, Y, Xs, Ys, Ht, H
  F は Pfaffian 方程式の係数行列リスト. X は独立変数リスト. Y は従属変数リスト. Xs 独立変数の出発値リスト. Ys は出発時の従属変数の値リスト. Xt は停止する独立変数の値リスト. H は微少数.

- この関数は連立Pfaffian方程式 dY/d X[i] = F[i] Y を数値的に解く.
- 任意の holonomic system は Pfaffian 方程式に変換できる ([SST, Chap 1]).　変換には yang.rr パッケージを用いる.
- d F[i]/d X[j] + F[i] F[j] = d F[j]/d X[i] + F[j] F[i] = 0 が任意の i, j に対して成立していることが解が存在する必要十分条件である. この条件が成立しないときにこの関数を用いて解を計算してもその解は偽物である.
- X[i] が動く範囲は実数でないといけない.
- Xs[i] <= X[i] <= Xt[i] または Xt[i] <= X[i] <= Xs[i] である.
- 引数の与え方の例はソースコード (`OpenXM/lib/asir-contrib/tk_pfn.rr` )の `tk_pfn.test1`, `tk_pfn.test2` を参照.
- 下の例の出力は X=(1,3) での値が Y=(-8,2,-6) であることを意味する.
- 参考. taka_runge_kutta.rr, yang.rr

    [1355] import("tk_pfn.rr");
    [1590]  tk_pfn.test1();
    Value at (3,0.1)[8.99,6,-0.2]
    Value at (1,3)[-8,2,-6]
    [[[1,3],-8,2,-6],
     [[1,2.9],-7.41,2,-5.8],
     --- snip ---
     [[3,0.1],8.99,6,-0.2]]

ChangeLog

- この関数は 2009-12 から 2010-01 にかけて最初の版が書かれた.
- `OpenXM/src/asir-contrib/packages/src/tk_pfn.rr` 1.1, 1.2
- このモジュールの前身は `tk_pf2.rr` である. これは独立変数が 2 個の場合である.

Go to the first, previous, next, last section, table of contents.