2024-03-29T15:30:26Zhttps://ipsj.ixsq.nii.ac.jp/ej/?action=repository_oaipmhoai:ipsj.ixsq.nii.ac.jp:001822832020-10-27T05:02:43Z00934:00935:08954:09150
Speeding up Exact Real Arithmetic on Fast Binary Cauchy Sequences by Using Memoization Based on Quantized PrecisionSpeeding up Exact Real Arithmetic on Fast Binary Cauchy Sequences by Using Memoization Based on Quantized Precisioneng[通常論文] Fast Binary Cauchy Sequence, exact real arithmetic, lazy evaluation, memoization, Haskell libraryhttp://id.nii.ac.jp/1001/00182195/Articlehttps://ipsj.ixsq.nii.ac.jp/ej/?action=repository_action_common_download&item_id=182283&item_no=1&attribute_id=1&file_no=1Copyright (c) 2017 by the Information Processing Society of JapanHiroshima City UniversityHideyuki, KawabataExact Real Arithmetic on Fast Binary Cauchy Sequences (FBCSs) provides us a simple and fairly fast way to obtain numerical results of arbitrary precision. The arithmetic on FBCSs can be implemented concisely in a lazy functional language with unlimited-length integer arithmetic, such that each FBCS is represented by a function that generates approximated values with respect to requested precisions. However, application of the arithmetic on FBCSs to programs such as matrix computations, that usually involve large amount of references to common subexpressions, requires care to avoid the blowup of the amount of computation caused by the fact that approximated values are not shared among multiple references. Although simple memoization might alleviate the situation, the effect would be limited since required precisions for subexpressions tend to be various. In this paper, we present an extended design of the arithmetic on FBCSs that enables the memoization based on quantized precision, that is expected to enlarge the reuse rate and reduce the amount of computation without sacrificing the properties of the arithmetic to be exact arithmetic. Numerical experiments by using our prototype libraries in Haskell demonstrated that our approach possesses the potential to outperform existing implementations by orders of magnitude in speed and memory consumption.------------------------------This is a preprint of an article intended for publication Journal ofInformation Processing(JIP). This preprint should not be cited. Thisarticle should be cited as: Journal of Information Processing Vol.25(2017) (online)------------------------------Exact Real Arithmetic on Fast Binary Cauchy Sequences (FBCSs) provides us a simple and fairly fast way to obtain numerical results of arbitrary precision. The arithmetic on FBCSs can be implemented concisely in a lazy functional language with unlimited-length integer arithmetic, such that each FBCS is represented by a function that generates approximated values with respect to requested precisions. However, application of the arithmetic on FBCSs to programs such as matrix computations, that usually involve large amount of references to common subexpressions, requires care to avoid the blowup of the amount of computation caused by the fact that approximated values are not shared among multiple references. Although simple memoization might alleviate the situation, the effect would be limited since required precisions for subexpressions tend to be various. In this paper, we present an extended design of the arithmetic on FBCSs that enables the memoization based on quantized precision, that is expected to enlarge the reuse rate and reduce the amount of computation without sacrificing the properties of the arithmetic to be exact arithmetic. Numerical experiments by using our prototype libraries in Haskell demonstrated that our approach possesses the potential to outperform existing implementations by orders of magnitude in speed and memory consumption.------------------------------This is a preprint of an article intended for publication Journal ofInformation Processing(JIP). This preprint should not be cited. Thisarticle should be cited as: Journal of Information Processing Vol.25(2017) (online)------------------------------AA11464814情報処理学会論文誌プログラミング(PRO)1032017-06-161882-78022017-06-12