1,497 research outputs found
Truth table invariant cylindrical algebraic decomposition
When using cylindrical algebraic decomposition (CAD) to solve a problem with
respect to a set of polynomials, it is likely not the signs of those
polynomials that are of paramount importance but rather the truth values of
certain quantifier free formulae involving them. This observation motivates our
article and definition of a Truth Table Invariant CAD (TTICAD).
In ISSAC 2013 the current authors presented an algorithm that can efficiently
and directly construct a TTICAD for a list of formulae in which each has an
equational constraint. This was achieved by generalising McCallum's theory of
reduced projection operators. In this paper we present an extended version of
our theory which can be applied to an arbitrary list of formulae, achieving
savings if at least one has an equational constraint. We also explain how the
theory of reduced projection operators can allow for further improvements to
the lifting phase of CAD algorithms, even in the context of a single equational
constraint.
The algorithm is implemented fully in Maple and we present both promising
results from experimentation and a complexity analysis showing the benefits of
our contributions.Comment: 40 page
Truth Table Invariant Cylindrical Algebraic Decomposition by Regular Chains
A new algorithm to compute cylindrical algebraic decompositions (CADs) is
presented, building on two recent advances. Firstly, the output is truth table
invariant (a TTICAD) meaning given formulae have constant truth value on each
cell of the decomposition. Secondly, the computation uses regular chains theory
to first build a cylindrical decomposition of complex space (CCD) incrementally
by polynomial. Significant modification of the regular chains technology was
used to achieve the more sophisticated invariance criteria. Experimental
results on an implementation in the RegularChains Library for Maple verify that
combining these advances gives an algorithm superior to its individual
components and competitive with the state of the art
Choosing a variable ordering for truth-table invariant cylindrical algebraic decomposition by incremental triangular decomposition
Cylindrical algebraic decomposition (CAD) is a key tool for solving problems
in real algebraic geometry and beyond. In recent years a new approach has been
developed, where regular chains technology is used to first build a
decomposition in complex space. We consider the latest variant of this which
builds the complex decomposition incrementally by polynomial and produces CADs
on whose cells a sequence of formulae are truth-invariant. Like all CAD
algorithms the user must provide a variable ordering which can have a profound
impact on the tractability of a problem. We evaluate existing heuristics to
help with the choice for this algorithm, suggest improvements and then derive a
new heuristic more closely aligned with the mechanics of the new algorithm
Dataset supporting the paper: Truth table invariant cylindrical algebraic decomposition
The files in this data set support the following paper:
##########################################################################################
Truth table invariant cylindrical algebraic decomposition.
Russel Bradford, James H. Davenport, Matthew England, Scott McCallum and David Wilson.
http://opus.bath.ac.uk/38146/
##########################################################################################
Please find included the following:
##############################
1a) A Maple worksheet: Section1to7-Maple.mw
1b) A pdf printout of the worksheet: Section1to7-Maple.pdf
1c) A Maple Library file: ProjectionCAD.mpl
These files concern the Maple results for the worked examples throughout Sections 1-7 of the paper.
To run the Maple worksheet you will need a copy of the commercial computer algebra software Maple. This is currently available from:
http://www.maplesoft.com/products/maple/
The examples were run in Maple 16 (released Spring 2012). It is likely that the same results would be obtained in Maple 17, 18, 2015 and future versions, but this cannot be guaranteed.
An additional code package, developed at the University of Bath, is required. To use it we need to read the Maple Library file within Maple as follows:
>>> read("ProjectionCAD.mpl"):
>>> with(ProjectionCAD):
More details on this Maple package are available in the technical report at http://opus.bath.ac.uk/43911/ and in the following publication:
M. England, D. Wilson, R. Bradford and J.H. Davenport. Using the Regular Chains Library to build cylindrical algebraic decompositions by projecting and lifting. Proc ICMS 2014 (LNCS 8593). DOI: 10.1007/978-3-662-44199-2_69
If you do not have a copy of Maple you can still read the pdf printout of the worksheet.
##############################
2) A zipped directory WorkedExamples-Qepcad.zip
This directory also concerns the worked examples from Sections 1-7 of the paper, this time when studied with Qepcad-B.
Qepcad-B is a free piece of software for Linux which can be obtained from:
http://www.usna.edu/CS/qepcadweb/B/QEPCAD.html
All the files in the zipped directory end in either "-in.txt" or "-out.txt". The former give input for Qepcad and the latter record output. Hence readers without access to Qepcad (e.g. on a Windows system) can still observe the output in the latter files.
To verify the output readers should use the following bash command to run a Qepcad input file "Ex-in.txt" and record the output in "Ex-out.txt".
>>> qepcad +N500000000 +L200000 Ex-out.txt
Windows users without Linux access can still read the existing output files in the folder.
##############################
3a) The text file: Section82-ExampleSet.txt
3b) A Maple worksheet: Section82-ExampleSet.mw
3b) A pdf printout of the worksheet: Section82-ExampleSet.pdf
The textfile defines the example set which is the subject of the experiments in Section 8.2, whose results were summarised in Table 2. Within the file the 29 examples are defined in the following syntax:
(a) First a line starting with "#" giving the full example name followed in brackets by the shortened name used in Table 2.
(b) Then a second line in which the example is defined as a list of two sublists:
i) The first sublist defines the polynomials used. They are sorted into further lists, one for each formulae in the example. Each of these has two entries:
--- The first is either a polynomial defining an equational constraint (EC); a list of polynomials defining multiple ECs; or an empty list (signalling no ECs).
--- The second is a list of any non ECs.
ii) The second sublist is the variable ordering from highest (eliminate first in projection) to lowest. Note that Maple algorithms use this order by Qepcad the reverse.
This is the syntax used by the TTICAD algorithm that is the subject of the paper.
The text file doubles as a Maple function definition. When read into Maple the command GenerateInput is defined which can provide the input in formats suitable for the three Maple algorithms tested. An example is given in the Maple worksheet / pdf. We note that the timings reported in the paper were from running Maple in command line mode. See also the notes for files (1) above.
The same example set was tested in Qepcad. Here explicit ECs for a parent formula were entered in dynamically as products of the individual sub-formulae ECs, in cases where an explicit EC exists. See also Qepcad notes for file (2) above.
Finally, the example set was also tested in Mathematica. Mathematica's CAD command does not return cell counts - these were obtained upon request to a Mathematica developer. Hence they are not recreatable using the information here (something outside the control of the present authors).
##############################
4a) A Maple worksheet: Section83-Maple.mw
4b) A pdf printout of the worksheet: Section83-Maple.pdf
This shows how the numbers in Table 3 from Maple were obtained.
See also notes for files (1) above.
##############################
5a) A zipped directory Section83-Qepcad.zipped
This shows how the numbers in Table 3 from Qepcad were obtained.
See also notes for file (2) above.Cell counts and timings of various CAD algorithms
Problem formulation for truth-table invariant cylindrical algebraic decomposition by incremental triangular decomposition
Cylindrical algebraic decompositions (CADs) are a key tool for solving problems in real algebraic geometry and beyond. We recently presented a new CAD algorithm combining two advances: truth-table invariance, making the CAD invariant with respect to the truth of logical formulae rather than the signs of polynomials; and CAD construction by regular chains technology, where first a complex decomposition is constructed by refining a tree incrementally by constraint. We here consider how best to formulate problems for input to this algorithm. We focus on a choice (not relevant for other CAD algorithms) about the order in which constraints are presented. We develop new heuristics to help make this choice and thus allow the best use of the algorithm in practice. We also consider other choices of problem formulation for CAD, as discussed in CICM 2013, revisiting these in the context of the new algorithm
An implementation of Sub-CAD in Maple
Cylindrical algebraic decomposition (CAD) is an important tool for the
investigation of semi-algebraic sets, with applications in algebraic geometry
and beyond. We have previously reported on an implementation of CAD in Maple
which offers the original projection and lifting algorithm of Collins along
with subsequent improvements.
Here we report on new functionality: specifically the ability to build
cylindrical algebraic sub-decompositions (sub-CADs) where only certain cells
are returned. We have implemented algorithms to return cells of a prescribed
dimensions or higher (layered {\scad}s), and an algorithm to return only those
cells on which given polynomials are zero (variety {\scad}s). These offer
substantial savings in output size and computation time.
The code described and an introductory Maple worksheet / pdf demonstrating
the full functionality of the package are freely available online at
http://opus.bath.ac.uk/43911/.Comment: 9 page
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
An implementation of CAD in Maple utilising problem formulation, equational constraints and truth-table invariance
Cylindrical algebraic decomposition (CAD) is an important tool for the
investigation of semi-algebraic sets, with applications within algebraic
geometry and beyond. We recently reported on a new implementation of CAD in
Maple which implemented the original algorithm of Collins and the subsequent
improvement to projection by McCallum. Our implementation was in contrast to
Maple's in-built CAD command, based on a quite separate theory. Although
initially developed as an investigative tool to compare the algorithms, we
found and reported that our code offered functionality not currently available
in any other existing implementations. One particularly important piece of
functionality is the ability to produce order-invariant CADs. This has allowed
us to extend the implementation to produce CADs invariant with respect to
either equational constraints (ECCADs) or the truth-tables of sequences of
formulae (TTICADs). This new functionality is contained in the second release
of our code, along with commands to consider problem formulation which can be a
major factor in the tractability of a CAD. In the report we describe the new
functionality and some theoretical discoveries it prompted. We describe how the
CADs produced using equational constraints are able to take advantage of not
just improved projection but also improvements in the lifting phase. We also
present an extension to the original TTICAD algorithm which increases both the
applicability of TTICAD and its relative benefit over other algorithms. The
code and an introductory Maple worksheet / pdf demonstrating the full
functionality of the package are freely available online.Comment: 12 pages; University of Bath, Dept. Computer Science Technical Report
Series, 2013-02, 201
Formulating problems for real algebraic geometry
We discuss issues of problem formulation for algorithms in real algebraic
geometry, focussing on quantifier elimination by cylindrical algebraic
decomposition. We recall how the variable ordering used can have a profound
effect on both performance and output and summarise what may be done to assist
with this choice. We then survey other questions of problem formulation and
algorithm optimisation that have become pertinent following advances in CAD
theory, including both work that is already published and work that is
currently underway. With implementations now in reach of real world
applications and new theory meaning algorithms are far more sensitive to the
input, our thesis is that intelligently formulating problems for algorithms,
and indeed choosing the correct algorithm variant for a problem, is key to
improving the practical use of both quantifier elimination and symbolic real
algebraic geometry in general.Comment: To be presented at The "Encuentros de \'Algebra Computacional y
Aplicaciones, EACA 2014" (Meetings on Computer Algebra and Applications) in
Barcelon
Cylindrical Algebraic Sub-Decompositions
Cylindrical algebraic decompositions (CADs) are a key tool in real algebraic
geometry, used primarily for eliminating quantifiers over the reals and
studying semi-algebraic sets. In this paper we introduce cylindrical algebraic
sub-decompositions (sub-CADs), which are subsets of CADs containing all the
information needed to specify a solution for a given problem.
We define two new types of sub-CAD: variety sub-CADs which are those cells in
a CAD lying on a designated variety; and layered sub-CADs which have only those
cells of dimension higher than a specified value. We present algorithms to
produce these and describe how the two approaches may be combined with each
other and the recent theory of truth-table invariant CAD.
We give a complexity analysis showing that these techniques can offer
substantial theoretical savings, which is supported by experimentation using an
implementation in Maple.Comment: 26 page
- …