9 research outputs found

    Using the Regular Chains Library to build cylindrical algebraic decompositions by projecting and lifting

    Get PDF
    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

    Get PDF
    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

    Toward high-performance polynomial system solvers based on triangular decompositions

    Full text link

    Resolving zero-divisors using Hensel lifting

    Full text link
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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++
    corecore