「多倍長計算と関数のグラフ描画システム(その1)」

  はじめまして。 総合情報学部コンピュータシステム学科幸谷(こうや)です。今回は私の研究室で行っている研究成果の一つを紹介します。

 私は「多倍長計算(たばいちょうけいさん)」を研究しています。よく知られている多倍長計算として,円周率(パイ)の計算がありますが,実は2の平方根(ルート2)も無限に続く循環しない数,つまり無理数(むりすう)の一つです。私はこういう円周率やルート2のような無理数をより正確に表現することのできる長い桁の数,すなわち「多倍長浮動小数点数」を効率的に扱う技法を研究しています。

 こういう多倍長計算を実行するためには様々なソフトウェアの手助けが必要で,以前より楽にはなりましたが,いくつかのソフトをインストールする必要があります。それを手軽に実行するため,私の研究室ではTry MPFRというWebページを提供しています。MPFRはこの多倍長計算を実行してくれるソフトウェアで,このWebページではMPFRを使って様々な計算式を多倍長計算してくれるような仕込みがされているのです。

 このページの使い方ですが,例えば,下のように,「Precision(bits)」の欄に「8192」,「Formula」の欄に「pi」と書いて,「送信」ボタンを押してみると・・・

 次のような結果が得られます。

「pi = 」の下にあるテキストボックスに約2470桁の円周率の値が入っていることが分かります。今のパソコンだと100万桁の円周率も0.01秒程度で求めることができます。

 円周率以外にもさまざまな多倍長計算ができます。例えばルート2を333ビット≒約100桁計算したいときには「Precision」を「333」,「Formula」を「sqrt(2)」(Square root=平方根)と下記のように入力し・・・

「送信」ボタンを押すと下記のように約100桁のルート2の値が求められます。

 更に,これを発展させて,関数のグラフも値も計算できるMPFRgraphも用意しています。これについての解説は長くなるのでまた今度。結構複雑な仕組みが入っていますが,原理はTry MPFR! と同じなのです。

(つづく・・・かな?)