実数計算ライブラリIFNのHaskellによる効率的な実装  [in Japanese] An Efficient Implementation of the Exact Real Arithmetic Library IFN in Haskell  [in Japanese]

Access this Article

Search this Article

Author(s)

Abstract

実数計算ライブラリIFN(Improving Floating-Point Numbers)は,任意の正確さの数値計算によって式を評価した結果を得るための枠組みをユーザに提供する.IFNライブラリを用いたプログラムは,任意に高い精度をとりうる型データ型IFNの値どうしの計算として記述される.プログラムの実行の結果として得られる数値は有限長の浮動少数点表現であるが,その精度は計算資源が許す限りの範囲でユーザが任意に要求できる.IFNライブラリにおける計算の枠組みは無限リストと遅延評価で単純に表現できるので,ライブラリのプロトタイピングはHaskellでなされた.その後,可変長浮動少数点演算をMPFRライブラリに置き換えたり,C言語による実装がなされたりしたが,Haskellによる実装の高速化も試みられ続けている.現在のHaskell版IFNライブラリでは,精度の保証された要素演算はFFIを通して区間演算ライブラリMPFIによって行っている.また,個々の数値データであるIFNはいくつかのメソッドを持つオブジェクトとして実装されている.本発表では,実数計算ライブラリIFNのHaskellによる実装の現状を報告する.

The exact real arithmetic library IFN (Improving Floating-Point Numbers) provides users with a framework for obtaining the results of evaluating expressions by numerical calculations of arbitrary accuracy. Programs using the IFN library are described as calculations between values of the data type IFN, which can take arbitrarily high precision. Numerical values obtained as a result of program execution are floating-point representations of finite length, but the accuracy can be arbitrarily requested by the user as long as the computational resources allow. Since the computational framework in the IFN library can be simply expressed with an infinite list and lazy evaluation, prototyping of the library was done in Haskell. Several performance improvements have been done; variable-length floating-point operations has been replaced with the MPFR library and implementation in C has been conducted. However, attempts to increase the speed of the version implementated in Haskell has also been continued. In the current version of the IFN library in Haskell, element operations with guaranteed accuracy are performed by the interval arithmetic library MPFI through FFI, and the representation of the numerical datatype IFN is an object with several methods. In this presentation, we report the current state of implementation of the exact real arithmetic library IFN in Haskell.

Journal

  • 情報処理学会論文誌プログラミング(PRO)

    情報処理学会論文誌プログラミング(PRO) 13(2), 15-15, 2020-04-27

Codes

  • NII Article ID (NAID)
    170000181921
  • NII NACSIS-CAT ID (NCID)
    AA11464814
  • Text Lang
    JPN
  • Article Type
    article
  • ISSN
    1882-7802
  • Data Source
    IPSJ 
Page Top