9 research outputs found
Using the Regular Chains Library to build cylindrical algebraic decompositions by projecting and lifting
Cylindrical algebraic decomposition (CAD) is an important tool, both for
quantifier elimination over the reals and a range of other applications.
Traditionally, a CAD is built through a process of projection and lifting to
move the problem within Euclidean spaces of changing dimension. Recently, an
alternative approach which first decomposes complex space using triangular
decomposition before refining to real space has been introduced and implemented
within the RegularChains Library of Maple. We here describe a freely available
package ProjectionCAD which utilises the routines within the RegularChains
Library to build CADs by projection and lifting. We detail how the projection
and lifting algorithms were modified to allow this, discuss the motivation and
survey the functionality of the package
On the complexity of computing with zero-dimensional triangular sets
We study the complexity of some fundamental operations for triangular sets in
dimension zero. Using Las-Vegas algorithms, we prove that one can perform such
operations as change of order, equiprojectable decomposition, or quasi-inverse
computation with a cost that is essentially that of modular composition. Over
an abstract field, this leads to a subquadratic cost (with respect to the
degree of the underlying algebraic set). Over a finite field, in a boolean RAM
model, we obtain a quasi-linear running time using Kedlaya and Umans' algorithm
for modular composition. Conversely, we also show how to reduce the problem of
modular composition to change of order for triangular sets, so that all these
problems are essentially equivalent. Our algorithms are implemented in Maple;
we present some experimental results
Resolving zero-divisors using Hensel lifting
Algorithms which compute modulo triangular sets must respect the presence of
zero-divisors. We present Hensel lifting as a tool for dealing with them. We
give an application: a modular algorithm for computing GCDs of univariate
polynomials with coefficients modulo a radical triangular set over the
rationals. Our modular algorithm naturally generalizes previous work from
algebraic number theory. We have implemented our algorithm using Maple's RECDEN
package. We compare our implementation with the procedure RegularGcd in the
RegularChains package.Comment: Shorter version to appear in Proceedings of SYNASC 201
Bounds for algorithms in differential algebra
We consider the Rosenfeld-Groebner algorithm for computing a regular
decomposition of a radical differential ideal generated by a set of ordinary
differential polynomials in n indeterminates. For a set of ordinary
differential polynomials F, let M(F) be the sum of maximal orders of
differential indeterminates occurring in F. We propose a modification of the
Rosenfeld-Groebner algorithm, in which for every intermediate polynomial system
F, the bound M(F) is less than or equal to (n-1)!M(G), where G is the initial
set of generators of the radical ideal. In particular, the resulting regular
systems satisfy the bound. Since regular ideals can be decomposed into
characterizable components algebraically, the bound also holds for the orders
of derivatives occurring in a characteristic decomposition of a radical
differential ideal.
We also give an algorithm for converting a characteristic decomposition of a
radical differential ideal from one ranking into another. This algorithm
performs all differentiations in the beginning and then uses a purely algebraic
decomposition algorithm.Comment: 40 page
Real Root Isolation of Regular Chains
We present an algorithm RealRootIsolate for isolating the real roots of a system of multivariate polynomials given by a zerodimensional squarefree regular chain. The output of the algorithm is guaranteed in the sense that all real roots are obtained and are described by boxes of arbitrary precision. Real roots are encoded with a hybrid representation, combining a symbolic object, namely a regular chain, and a numerical approximation given by intervals. Our isolation algorithm is a generalization, for regular chains, of the algorithm proposed by Collins and Akritas. We have implemented RealRootIsolate as a command of the module SemiAlgebraicSetTools of the RegularChains library in Maple. Benchmarks are reported.
Algorithmic Contributions to the Theory of Regular Chains
Regular chains, introduced about twenty years ago, have emerged as one of the major
tools for solving polynomial systems symbolically. In this thesis, we focus on different
algorithmic aspects of the theory of regular chains, from theoretical questions to high-
performance implementation issues.
The inclusion test for saturated ideals is a fundamental problem in this theory.
By studying the primitivity of regular chains, we show that a regular chain generates
its saturated ideal if and only if it is primitive. As a result, a family of inclusion tests
can be detected very efficiently.
The algorithm to compute the regular GCDs of two polynomials modulo a regular
chain is one of the key routines in the various triangular decomposition algorithms. By
revisiting relations between subresultants and GCDs, we proposed a novel bottom-up
algorithm for this task, which improves the previous algorithm in a significant manner
and creates opportunities for parallel execution.
This thesis also discusses the accelerations towards fast Fourier transform (FFT)
over finite fields and FFT based subresultant chain constructions in the context of
massively parallel GPU architectures, which speedup our algorithms by several orders
of magnitude
On The Applications of Lifting Techniques
Lifting techniques are some of the main tools in solving a variety of different computational problems related to the field of computer algebra. In this thesis, we will consider two fundamental problems in the fields of computational algebraic geometry and number theory, trying to find more efficient algorithms to solve such problems.
The first problem, solving systems of polynomial equations, is one of the most fundamental problems in the field of computational algebraic geometry. In this thesis, We discuss how to solve bivariate polynomial systems over either k(T ) or Q using a combination of lifting and modular composition techniques. We will show that one can find an equiprojectable decomposition of a bivariate polynomial system in a better time complexity than the best known algorithms in the field, both in theory and practice.
The second problem, polynomial factorization over number fields, is one of the oldest problems in number theory. It has lots of applications in many other related problems and there have been lots of attempts to solve the problem efficiently, at least, in practice. Finding p-adic factors of a univariate polynomial over a number field uses lifting techniques. Improving this step can reduce the total running time of the factorization in practice. We first introduce a multivariate version of the Belabas factorization algorithm over number fields. Then we will compare the running time complexity of the factorization problem using two different representations of a number field, univariate vs multivariate, and at the end as an application, we will show the improvement gained in computing the splitting fields of a univariate polynomial over rational field
Cache-Friendly, Modular and Parallel Schemes For Computing Subresultant Chains
The RegularChains library in Maple offers a collection of commands for solving polynomial systems symbolically with taking advantage of the theory of regular chains. The primary goal of this thesis is algorithmic contributions, in particular, to high-performance computational schemes for subresultant chains and underlying routines to extend that of RegularChains in a C/C++ open-source library.
Subresultants are one of the most fundamental tools in computer algebra. They are at the core of numerous algorithms including, but not limited to, polynomial GCD computations, polynomial system solving, and symbolic integration. When the subresultant chain of two polynomials is involved in a client procedure, not all polynomials of the chain, or not all coefficients of a given subresultant, may be needed. Based on that observation, we design so-called speculative and caching strategies which yield great performance improvements within our polynomial system solver.
Our implementation of these techniques has been highly optimized. We have implemented optimized core arithmetic routines and multithreaded subresultant algorithms for univariate, bivariate and multivariate polynomials. We further examine memory access patterns and data locality for computing subresultants of multivariate polynomials, and study different optimization techniques for the fraction-free LU decomposition algorithm to compute subresultants based on determinant of Bezout matrices.
Our code is publicly available at www.bpaslib.org as part of the Basic Polynomial Algebra Subprograms (BPAS) library that is mainly written in C, with concurrency support and user interfaces written in C++