Putting Newton into Practice: A Solver for Polynomial Equations over Semirings [chapter]

Maximilian Schlund, Michał Terepeta, Michael Luttenberger
2013 Lecture Notes in Computer Science  
We present the first implementation of Newton's method for solving systems of equations over ω-continuous semirings (based on [5, 11] ). For instance, such equation systems arise naturally in the analysis of interprocedural programs or the provenance computation for Datalog. Our implementation provides an attractive alternative for computing their exact least solution in some cases where the ascending chain condition is not met and hence, standard fixed-point iteration needs to be combined with
more » ... some over-approximation (e.g., widening techniques) to terminate. We present a generic C++ library along with the main algorithms and analyze their complexity. Furthermore, we describe our implementation of the counting semiring based on semilinear sets. Finally, we discuss motivating examples as well as performance benchmarks. This work was partially funded by the DFG project "Polynomial Systems on Semirings: Foundations, Algorithms, Applications" and MT-LAB (http://www.mt-lab.dk/).
doi:10.1007/978-3-642-45221-5_48 fatcat:w7drmoqflfdejakz2ni64se2ci