ホーム ] PC技術/システム技術 ] VB.NETプログラミング ] なるほどナレッジ ] インフォメーション ]

上へ
基本事項
ソフトウェア構成
UltraLong構造体
UltraMath
FFT
プログラミング例
UltraPrecisionユーティリティ
FFT試験
レガシ演算速度
FFT演算速度
数値/浮動小数点/精度
定数システム
レガシ四則算
FFT乗算
ニュートン法
逆数法
数学関数
時間評価システム
限界値自動決定システム
数学定数算出

多倍長演算ライブラリ(UltraPrecision)

基本事項

最終更新日:2006/05/31

●動作環境

  • .NET Framework1.0 ランタイムがインストールされていること。
  • Win2000、WinXPにて動作確認済み。
  • 開発には、Visual Studio .NET2002、Framework 1.0(古っ!)などの開発環境が必要。
  • メモリは最低でも256MBは必要。512MB以上あれば申し分ない。

●基本仕様

  • 有効桁は、最大100万桁となっている。但し、実用限度はメモリ(仮想記憶が生起されない容量)やCPU性能による。
  • 有効桁数(精度)は指定できる。有効桁数とは、小数点以下の桁数ではなく、0 でない値から始まり、0 でない値で終わるまでの桁数のことを言う。
    例えば、123060000000000000000000000000000000 や、0.0000000000000000000012306 は、5桁となる。
  • 従って、3X10100000000 などは(たった1桁の数値なので)、OKである。乗除算も可能であるが、加減算は注意すること。精度を超えた小数を加減算すると、その値は0 と見なされ(例えば、精度が100桁で、1 + (5.6E+10-120)の演算など)、桁落ちが生じる。
  • また、整数演算を行う場合、有効桁数(精度)以上の指数部になると、加減算にて同じく桁落ちが生じるが、ユーザ責任としている。UltraPrecision は、整数演算かどうかの区別はしない。
  • 演算結果は、公称精度長にされ、正規化される。従って、演算しなければ、システムで許容される範囲でいくらでも長い数値は持てる。
  • 独自の10進による浮動小数点方式を採用している。
  • 演算による例外は手抜きしており、一切発生しない。
  • 重要数学定数(π、e など)は、独自のバイナリファイルで、100万桁を保有しており、指定精度に従って、自動的に切り出される。

●基本方式

  • 演算アルゴリスムは古典的)アルゴリズム(以後、レガシ演算と言う)とFFT乗算を採用している。
  • 除算は、ある桁数以上では逆数法である。
  • 数学関数は、ニュートン法や級数展開で求めている。

 

演算速度はそんなに期待しないこと。