2014/10/26(日)kv-0.4.11

というわけで、kvライブラリを0.4.11にアップデートしました。

前の記事に書いたように、rkf45を修正しました。
また、ベキ級数演算のhistory関連にバグがあって、sin等の数学関数のみから成る加減乗除を全く含まない右辺を持つ常微分方程式に対して、内部エラーで計算を行えなかった問題を修正しました。

2014/10/26(日)rkf45

kvライブラリに内に、rkf45.hppというファイルがあります。
これは、Runge–Kutta–Fehlberg法という有名なもので、6段5次の公式と5段4次の公式が同時に計算できるように工夫されていて、両者の差を観察することによって(大雑把ではあるが)混入した誤差の評価も出来るという優れものです。
この手法を使ったからと言って精度保証出来るわけでは無いのですが、楽しそうだったのでステップ幅調節らしきものも付けて試しに書いてみて、せっかくなのでkvライブラリ内に混ぜておいたものです。

先日、ちょうどオイラー法やルンゲクッタ法など、初期値問題の解法を講義でやったので、このrkf45を講義内で実演してみたら、なぜか精度が出ない! ステップ幅調整もしていない素の4段4次ルンゲクッタに負けてる! 講義中は、「やっぱデモやめた」と誤魔化して先へ進んだのですが、後でチェックしてみたら係数が一箇所間違ってました。精度がでないわけです。

精度保証とは関係ないところですが、ちょっと気分が悪いので、近日中にアップデートしてkv-0.4.11としたいと思います。

2014/10/09(木)kv-0.4.10

kvライブラリを0.4.10にアップデートしました。

webデモ内でlog(対数)が使えなかったバグが見つかったので、修正しました。これはkvライブラリ本体ではなくCGIで書いたpythonからC++へのコンバータのバグなので、本体の問題ではありません。

ライブラリ本体の方はlgammaを追加したり、特異点を持つ関数の数値積分関連を整理したりしてますが、これらはまだ発展途上でドキュメントもありません。更新が落ち着いたらきちんと書きたいと考えています。

2014/10/01(水)山梨精度保証研究会のスライド

9月15日の山梨精度保証研究会のスライドを今更だけど上げておきます。

yamanashi.pdf

kvライブラリの簡単な説明、使い方 + jsiam2013のスライドからODEの説明を引用、の構成です。他の資料やホワイトボードも使ったのでこのスライドでしゃべった内容を網羅してるわけではありません。(スライドを作っていて途中で力尽きた、とも言う。)

なお、kvライブラリのガンマ関数の部分(gamma, digamma, trigamma)はまだまだ完成度が低く、現在改良中です。今のバージョンはあまり信用しない方がいいかも。
OK キャンセル 確認 その他