Automatic Numerical Analysis Based on Infinite-Precision Arithmetic

Numerical analysis is an important process for creating reliable numerical software. However, traditional analysis methods rely on manual estimation by numerical analysts, which is restricted by the problem size. Although some state-of-art software packages can check whether a program is numerical unstable, they cannot tell whether it is caused by ill-posed problem itself or by some improper implementation practices, while these packages work on the floating point values in the program. In this paper, we introduce an automatic framework that utilizes infinite-precision arithmetic to analyze large-scale numerical problems by computer. To eliminate rounding errors, the computing process iterates itself to increase intermediate precision until the calculation reaches the desired final precision. Then the framework perturbs the inputs and intermediate values of a certain numerical problem. By checking the gaps among different program outputs, the framework helps us understand whether the problem is well-conditioned or ill-conditioned. The framework also compares the infinite-precision arithmetic with fixed-precision arithmetic. The evaluation of a bunch of classical problems shows that our framework is able to detect the ill-conditioning in large-scale problems effectively.

[1]  Zhendong Su,et al.  Automatic detection of floating-point exceptions , 2013, POPL.

[2]  Eric Goubault,et al.  Static Analysis of Numerical Algorithms , 2006, SAS.

[3]  Webb Miller,et al.  Toward mechanical verification of properties of roundoff error propagation , 1973, STOC.

[4]  Hai-Bin Duan,et al.  Novel method based on ant colony optimization for solving ill-conditioned linear systems of equations , 2005 .

[5]  Ove T. Gudmestad,et al.  DESIGN OF CONCRETE PLATFORMS AFTER SLEIPNER A-1 SINKING , 1993 .

[6]  Matthieu Martel Program transformation for numerical precision , 2009, PEPM '09.

[7]  Matthieu Martel,et al.  Propagation of Roundoff Errors in Finite Precision Computations: A Semantics Approach , 2002, ESOP.

[8]  Chein-Shan Liu,et al.  NOVEL METHODS FOR SOLVING SEVERELY ILL-POSED LINEAR EQUATIONS SYSTEM , 2009 .

[9]  Francisco J. García-Ugalde,et al.  The bilinear Z transform by Pascal matrix and its application in the design of digital filters , 2002, IEEE Signal Processing Letters.

[10]  Matthieu Martel Semantics-Based Transformation of Arithmetic Expressions , 2007, SAS.

[11]  Tetsuo Tamai Social Impact of Information System Failures , 2009, Computer.

[12]  Nicholas J. Higham,et al.  INVERSE PROBLEMS NEWSLETTER , 1991 .

[13]  Branimir Lambov RealLib: An efficient implementation of exact real arithmetic , 2007, Math. Struct. Comput. Sci..

[14]  Douglas Stott Parker,et al.  Perturbing and evaluating numerical programs without recompilation—the wonglediff way , 2005, Softw. Pract. Exp..

[15]  D. Qainlant,et al.  ROSE: Compiler Support for Object-Oriented Frameworks , 1999 .

[16]  C. Doucet,et al.  An automatic strategy for solving ill-conditioned linear systems of equations resulting from a finite element method , 2006, 2006 12th Biennial IEEE Conference on Electromagnetic Field Computation.

[17]  Danny Kopec,et al.  Failures in complex systems: case studies, causes, and possible remedies , 2007, SGCS.

[18]  Norbert Th. Müller,et al.  The iRRAM: Exact Arithmetic in C++ , 2000, CCA.

[19]  Gigi Estabrook,et al.  Learning the bash Shell , 1995 .

[20]  C. Willmott,et al.  Advantages of the mean absolute error (MAE) over the root mean square error (RMSE) in assessing average model performance , 2005 .

[21]  Keith Briggs,et al.  Implementing exact real arithmetic in python, C++ and C , 2006, Theor. Comput. Sci..

[22]  Zhendong Su,et al.  Perturbing numerical calculations for statistical analysis of floating-point program (in)stability , 2010, ISSTA '10.