Program Verification in the presence of complex numbers, functions with branch cuts etc
arXiv:1212.5417 · doi:10.1109/SYNASC.2012.68
Abstract
In considering the reliability of numerical programs, it is normal to "limit our study to the semantics dealing with numerical precision" (Martel, 2005). On the other hand, there is a great deal of work on the reliability of programs that essentially ignores the numerics. The thesis of this paper is that there is a class of problems that fall between these two, which could be described as "does the low-level arithmetic implement the high-level mathematics". Many of these problems arise because mathematics, particularly the mathematics of the complex numbers, is more difficult than expected: for example the complex function log is not continuous, writing down a program to compute an inverse function is more complicated than just solving an equation, and many algebraic simplification rules are not universally valid. The good news is that these problems are theoretically capable of being solved, and are practically close to being solved, but not yet solved, in several real-world examples. However, there is still a long way to go before implementations match the theoretical possibilities.
References in corpus (2)
Cited by in corpus (26)
- Truth Table Invariant Cylindrical Algebraic Decomposition
- Cylindrical Algebraic Decompositions for Boolean Combinations
- Applying machine learning to the problem of choosing a heuristic to select the variable ordering for cylindrical algebraic decomposition
- Improving the use of equational constraints in cylindrical algebraic decomposition
- Truth Table Invariant Cylindrical Algebraic Decomposition by Regular Chains
- Optimising Problem Formulation for Cylindrical Algebraic Decomposition
- Problem formulation for truth-table invariant cylindrical algebraic decomposition by incremental triangular decomposition
- Using the Regular Chains Library to build cylindrical algebraic decompositions by projecting and lifting
- Cylindrical Algebraic Decomposition with Equational Constraints
- Using Machine Learning to Improve Cylindrical Algebraic Decomposition
- The complexity of cylindrical algebraic decomposition with respect to polynomial degree
- Comparing machine learning models to choose the variable ordering for cylindrical algebraic decomposition
- Choosing a variable ordering for truth-table invariant cylindrical algebraic decomposition by incremental triangular decomposition
- Cylindrical Algebraic Sub-Decompositions
- Machine Learning for Mathematical Software
- Using Machine Learning to Decide When to Precondition Cylindrical Algebraic Decomposition With Groebner Bases
- Understanding Branch Cuts of Expressions
- An implementation of CAD in Maple utilising problem formulation, equational constraints and truth-table invariance
- Using the distribution of cells by dimension in a cylindrical algebraic decomposition
- A "Piano Movers" Problem Reformulated
- Algorithmically generating new algebraic features of polynomial systems for machine learning
- An implementation of CAD in Maple utilising McCallum projection
- Need Polynomial Systems be Doubly-exponential?
- Improved cross-validation for classifiers that make algorithmic choices to minimise runtime without compromising output correctness
- Branch Cuts in Maple 17
- An implementation of Sub-CAD in Maple