4 research outputs found

    The Design and Implementation of a High-Performance Polynomial System Solver

    Get PDF
    This thesis examines the algorithmic and practical challenges of solving systems of polynomial equations. We discuss the design and implementation of triangular decomposition to solve polynomials systems exactly by means of symbolic computation. Incremental triangular decomposition solves one equation from the input list of polynomials at a time. Each step may produce several different components (points, curves, surfaces, etc.) of the solution set. Independent components imply that the solving process may proceed on each component concurrently. This so-called component-level parallelism is a theoretical and practical challenge characterized by irregular parallelism. Parallelism is not an algorithmic property but rather a geometrical property of the particular input system’s solution set. Despite these challenges, we have effectively applied parallel computing to triangular decomposition through the layering and cooperation of many parallel code regions. This parallel computing is supported by our generic object-oriented framework based on the dynamic multithreading paradigm. Meanwhile, the required polynomial algebra is sup- ported by an object-oriented framework for algebraic types which allows type safety and mathematical correctness to be determined at compile-time. Our software is implemented in C/C++ and have extensively tested the implementation for correctness and performance on over 3000 polynomial systems that have arisen in practice. The parallel framework has been re-used in the implementation of Hensel factorization as a parallel pipeline to compute roots of a polynomial with multivariate power series coefficients. Hensel factorization is one step toward computing the non-trivial limit points of quasi-components

    Computing generic bivariate Gröbner bases with Mathemagix

    Get PDF
    International audienceLet A, B ∈ K[X, Y ] be two bivariate polynomials over an effective field K, and let G be the reduced Gröbner basis of the ideal I := A, B generated by A and B with respect to the usual degree lexico-graphic order. Assuming A and B sufficiently generic, G admits a so-called concise representation that helps computing normal forms more efficiently [7]. Actually, given this concise representation, a polynomial P ∈ K[X, Y ] can be reduced modulo G with quasi-optimal complexity (in terms of the size of the input A, B, P). Moreover, the concise representation can be computed from the input A, B with quasi-optimal complexity as well. The present paper reports on an efficient implementation for these two tasks in the free software Mathemagix [10]. This implementation is included in Mathemagix as a library called larrix
    corecore