多倍長整数演算・初等関数計算 TeX Macro集


TeXのマクロ機能を利用して多倍長整数(任意の桁数)の四則演算を行うマクロ集です。 TeXに無理矢理配列擬きを実装して任意桁数の多倍長整数演算を行うものなので やはり計算速度は遅くなります。 他に初等関数 sin,cos,log,exp,sqrt 等の実数計算マクロも同梱してあります (この部分はTeXのdimension使用ですので多倍長ではありませんが、基本的には多倍長整数 の四則演算が行えるなら実装可能でしょう)。 このような実数計算は各種存在しているようですが、計算方法の解説として公開いたします。 この部分に関しては誰が制作してもそれほど違いが出るとは思えません。 TeXコンパイルでエラー発生箇所等をコメントにして残してありますから少しは参考になる かもしれません。TeX特有の記述方法があると思います。 使用例はstyファイルをtexファイルにrenameしてコンパイルすればみられますが、pdfファイルに変換したものを ここ に載せてありますので参照してください。 必要な方は rsmath.zip をダウンロードしてください。

TeX Macro の計算結果のチェックはフリーのプログラム作成言語 HSP で制作した多倍長整数電卓を 用いました。ソースファイルはこれを使用しています。 このソフト自体が多倍長整数演算TeXマクロを製作する為の準備として開発を開始したものでした.
次から次へとBUGが見つかり修正に追われています.速く完了しないと.

試しに多倍長整数演算を利用して sin cos を8桁迄計算するサンプルを作成してみました。 10°くらいまでなら 8桁まで計算できます。実行例とソースのpdf変換ファイルは ここ に載せてあります。 尚変数に付いている@の連なりは変数のバッティングを避けるために付けた もので全く意味はありません.(last updated at 2010/12/14).
三角関数に関連して最近 trig.sty というものがあることを知り、ちょっと中身を 調べてみましたが、難解な構造で、よく理解できませんでした。しかしその中で 使用されていたcsnameというものを用いて配列を定義できそうだと気づき、 これを用いて配列を定義してsin,cos,tan を計算するmacroも製作してみました。 マクロのソースは csname 使用例 のようなものです (2011/01/03)。こちらの方が配列擬きを用いていますのですっきりしていますし、 さらなる拡張には向いていると思います。多倍長整数演算全てをcsnameを用いたものに 変更したものが完成したら公開いたします。
四則演算をcsnameを用いて製作してみましたが、それほど高速化されるわけでは ないようです。 アドレス計算にはならないようです(2011/01/24)。 整理したら掲載する予定です。
大きな桁の計算 この例 ではcsnameを使用しても計算速度はほとんど変化しませんでした.
一応完成したものでバグが在るかもしれませんが、 ここ に置いておきます(2011/02/08) 〆。

inserted by FC2 system