A Maple implementation of a modular algorithm for computing the common zeros of a polynomial and a regular chain
DOI:
https://doi.org/10.5206/mt.v2i1.14448Keywords:
Regular chains, Modular method, Evaluation and interpolationAbstract
One of the core commands in the RegularChains library is
Triangularize. The underlying decomposes the solution set of an
polynomial system into geometrically meaningful components represented
by regular chains. This algorithm works by repeatedly calling a
procedure, called Intersect, which computes the common zeros of a
polynomial p and a regular chain T.
As the number of variables of p and T, as well as their degrees,
increase, the call Intersect(p, T) becomes more and more
computationally expensive. It was observed in (C. Chen an M. Moreno
Maza, JSC 2012) that when the input polynomial system is
zero-dimensional and T is one-dimensional then this cost can be
substantially reduced. The method proposed by the authors is a
probabilistic algorithm based on evaluation and interpolation
techniques. This is the type of method which is typically challenging
to implement in a high-level language like Maple's language, as a
sharp control of computing resources (in particular memory) is needed.
In this paper, we report on a successful Maple implementation of this
algorithm. We take advantage of Maple's modp1 function which offers
fast arithmetic for univariate polynomials over a prime field.
The method avoids unlucky specialization and the probabilistic aspect
only comes from the fact that non-generic solutions are not
computed.

Downloads
Published
Issue
Section
Categories
License
Copyright (c) 2022 Juan Pablo Gonzalez Trochez, Matt Calder, Marc Moreno Maza, Erik Postma

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.