SMT Solving in a Nutshell

Total Page:16

File Type:pdf, Size:1020Kb

SMT Solving in a Nutshell SAT and SMT Solving in a Nutshell Erika Abrah´ am´ RWTH Aachen University, Germany LuFG Theory of Hybrid Systems February 27, 2020 Erika Abrah´ am´ - SAT and SMT solving 1 / 16 What is this talk about? Satisfiability problem The satisfiability problem is the problem of deciding whether a logical formula is satisfiable. We focus on the automated solution of the satisfiability problem for first-order logic over arithmetic theories, especially using SAT and SMT solving. Erika Abrah´ am´ - SAT and SMT solving 2 / 16 CAS SAT SMT (propositional logic) (SAT modulo theories) Enumeration Computer algebra DP (resolution) systems [Davis, Putnam’60] DPLL (propagation) [Davis,Putnam,Logemann,Loveland’62] Decision procedures NP-completeness [Cook’71] for combined theories CAD Conflict-directed [Shostak’79] [Nelson, Oppen’79] backjumping Partial CAD Virtual CDCL [GRASP’97] [zChaff’04] DPLL(T) substitution Watched literals Equalities and uninterpreted Clause learning/forgetting functions Variable ordering heuristics Bit-vectors Restarts Array theory Arithmetic Decision procedures for first-order logic over arithmetic theories in mathematical logic 1940 Computer architecture development 1960 1970 1980 2000 2010 Erika Abrah´ am´ - SAT and SMT solving 3 / 16 SAT SMT (propositional logic) (SAT modulo theories) Enumeration DP (resolution) [Davis, Putnam’60] DPLL (propagation) [Davis,Putnam,Logemann,Loveland’62] Decision procedures NP-completeness [Cook’71] for combined theories Conflict-directed [Shostak’79] [Nelson, Oppen’79] backjumping CDCL [GRASP’97] [zChaff’04] DPLL(T) Watched literals Equalities and uninterpreted Clause learning/forgetting functions Variable ordering heuristics Bit-vectors Restarts Array theory Arithmetic Decision procedures for first-order logic over arithmetic theories in mathematical logic 1940 Computer architecture development CAS Computer algebra 1960 systems 1970 CAD 1980 Partial CAD Virtual 2000 substitution 2010 Erika Abrah´ am´ - SAT and SMT solving 3 / 16 SMT (SAT modulo theories) Decision procedures for combined theories [Shostak’79] [Nelson, Oppen’79] DPLL(T) Equalities and uninterpreted functions Bit-vectors Array theory Arithmetic Decision procedures for first-order logic over arithmetic theories in mathematical logic 1940 Computer architecture development CAS SAT (propositional logic) Enumeration Computer algebra 1960 DP (resolution) systems [Davis, Putnam’60] DPLL (propagation) [Davis,Putnam,Logemann,Loveland’62] 1970 NP-completeness [Cook’71] CAD Conflict-directed 1980 backjumping Partial CAD Virtual CDCL [GRASP’97] [zChaff’04] 2000 substitution Watched literals Clause learning/forgetting Variable ordering heuristics 2010 Restarts Erika Abrah´ am´ - SAT and SMT solving 3 / 16 Decision procedures for first-order logic over arithmetic theories in mathematical logic 1940 Computer architecture development CAS SAT SMT (propositional logic) (SAT modulo theories) Enumeration Computer algebra 1960 DP (resolution) systems [Davis, Putnam’60] DPLL (propagation) [Davis,Putnam,Logemann,Loveland’62] Decision procedures 1970 NP-completeness [Cook’71] for combined theories CAD Conflict-directed [Shostak’79] [Nelson, Oppen’79] 1980 backjumping Partial CAD Virtual CDCL [GRASP’97] [zChaff’04] DPLL(T) 2000 substitution Watched literals Equalities and uninterpreted Clause learning/forgetting functions Variable ordering heuristics Bit-vectors 2010 Restarts Array theory Arithmetic Erika Abrah´ am´ - SAT and SMT solving 3 / 16 Tool development CAS 1960 Schoonschip MATHLAB Reduce Altran 1970 Scratchpad/Axiom Erika Macsyma SMP Abrah´ 1980 muMATH am´ - SAT and SMT solving Maple Mathcad SAC GAP CoCoA MathHandbook Mathomatic Mathematica Derive FORM 1990 KASH/KANT PARI/GP Magma Fermat Erable Macaulay2 Singular SymbolicC++ Maxima 2000 Xcas/Giac Yacas SAGE SMath Studio Cadabra SymPy OpenAxiom MATLAB MuPAD 2010 Wolfram Alpha TI-Nspire CAS Mathics Symbolism FxSolver Calcinator SyMAT 2020 4 / 16 SAT SMT SATO WalkSAT BCSAT Chaff GRASP Siege zChaff Berkmin MiniSAT HySAT/iSAT Bacelogic Sat4j RSat HyperSat DPT ABsolver MathSAT CVC Yices Beaver Alt-Ergo Z3 Spear PicoSAT Boolector ArgoSat OpenCog veriT MiniSmt CryptoMiniSat Glucose UBCSAT Lingeling SWORD SatEEn OpenSMT Clasp UCLID SMCHR STP SMT-RAT atSTSolver SAT Fast SMTInterpol SONOLAR raSAT Tool development CAS 1960 Schoonschip MATHLAB SAT Reduce Altran 1970 Scratchpad/Axiom Erika Macsyma SMP Abrah´ 1980 muMATH am´ - SAT and SMT solving Maple Mathcad SAC GAP CoCoA MathHandbook Mathomatic Mathematica Derive FORM 1990 KASH/KANT PARI/GP Magma Fermat Erable Macaulay2 SATO WalkSAT Singular SymbolicC++ Maxima BCSAT Chaff GRASP 2000 Xcas/Giac Siege zChaff Berkmin MiniSAT Yacas SAGE SMath Studio Sat4j RSat HyperSat Cadabra SymPy OpenAxiom MATLAB MuPAD 2010 Wolfram Alpha TI-Nspire CAS ArgoSat Mathics Symbolism FxSolver CryptoMiniSat Glucose Calcinator SyMAT UBCSAT Lingeling atSTSolver SAT Fast 2020 4 / 16 SMT HySAT/iSAT Bacelogic DPT ABsolver MathSAT CVC Yices Beaver Alt-Ergo Z3 Spear PicoSAT Boolector OpenCog veriT MiniSmt SWORD SatEEn OpenSMT Clasp UCLID SMCHR STP SMT-RAT SMTInterpol SONOLAR raSAT Tool development CAS 1960 Schoonschip MATHLAB SAT Reduce Altran 1970 Scratchpad/Axiom “We have success stories of using zChaff to solve problems with more than one million variables and 10 million clauses. (Of course, it can’t solve every such problem!).” Erika Macsyma SMP Abrah´ 1980 muMATH am´ - SAT and SMT solving Maple Mathcad SAC GAP CoCoA MathHandbook Mathomatic Mathematica Derive FORM 1990 KASH/KANT PARI/GP Magma Fermat Erable Macaulay2 SATO WalkSAT Singular SymbolicC++ Maxima BCSAT Chaff GRASP 2000 Xcas/Giac Siege zChaff Berkmin MiniSAT Yacas SAGE SMath Studio Sat4j RSat HyperSat Cadabra SymPy OpenAxiom MATLAB MuPAD 2010 Wolfram Alpha TI-Nspire CAS ArgoSat Mathics Symbolism FxSolver CryptoMiniSat [zChaff web page] Glucose Calcinator SyMAT UBCSAT Lingeling atSTSolver SAT Fast 2020 4 / 16 SMT HySAT/iSAT Bacelogic DPT ABsolver MathSAT CVC Yices Beaver Alt-Ergo Z3 Spear PicoSAT Boolector OpenCog veriT MiniSmt SWORD SatEEn OpenSMT Clasp UCLID SMCHR STP SMT-RAT SMTInterpol SONOLAR raSAT Tool development CAS 1960 Schoonschip MATHLAB SAT Reduce Altran 1970 Scratchpad/Axiom “We have success stories of using zChaff to solve problems with more than one million variables and 10 million clauses. (Of course, it can’t solve every such problem!).” Erika Macsyma “ The efficiency of our programs allowed us to solve overSMP one hundred Abrah´ open quasigroup problems in design theory.” 1980 muMATH am´ - SAT and SMT solving Maple Mathcad SAC GAP CoCoA MathHandbook Mathomatic Mathematica Derive FORM 1990 KASH/KANT PARI/GP Magma Fermat Erable Macaulay2 SATO WalkSAT Singular SymbolicC++ Maxima BCSAT Chaff GRASP 2000 Xcas/Giac Siege zChaff Berkmin MiniSAT Yacas SAGE SMath Studio Sat4j RSat HyperSat Cadabra SymPy OpenAxiom MATLAB MuPAD 2010 Wolfram Alpha TI-Nspire CAS ArgoSat Mathics Symbolism FxSolver CryptoMiniSat [zChaff web page] Glucose Calcinator SyMAT UBCSAT Lingeling [SATO web page] atSTSolver SAT Fast 2020 4 / 16 SMT HySAT/iSAT Bacelogic DPT ABsolver MathSAT CVC Yices Beaver Alt-Ergo Z3 Spear PicoSAT Boolector OpenCog veriT MiniSmt SWORD SatEEn OpenSMT Clasp UCLID SMCHR STP SMT-RAT SMTInterpol SONOLAR raSAT Tool development CAS 1960 Schoonschip MATHLAB SAT Reduce Altran 1970 Scratchpad/Axiom Erika Macsyma SMP Abrah´ 1980 muMATH am´ - SAT and SMT solving Maple Mathcad SAC GAP CoCoA MathHandbook Mathomatic Mathematica Derive FORM 1990 KASH/KANT PARI/GP Magma Fermat Erable Macaulay2 SATO WalkSAT Singular SymbolicC++ Maxima BCSAT Chaff GRASP 2000 Xcas/Giac Siege zChaff Berkmin MiniSAT Yacas SAGE SMath Studio Sat4j RSat HyperSat Cadabra SymPy OpenAxiom MATLAB MuPAD 2010 Wolfram Alpha TI-Nspire CAS ArgoSat Mathics Symbolism FxSolver CryptoMiniSat Glucose Calcinator SyMAT UBCSAT Lingeling atSTSolver SAT Fast 2020 4 / 16 SMT HySAT/iSAT Bacelogic DPT ABsolver MathSAT CVC Yices Beaver Alt-Ergo Z3 Spear PicoSAT Boolector OpenCog veriT MiniSmt SWORD SatEEn OpenSMT Clasp UCLID SMCHR STP SMT-RAT SMTInterpol SONOLAR raSAT Tool development CAS 1960 Schoonschip MATHLAB SAT Reduce Altran SMT 1970 Scratchpad/Axiom Erika Macsyma SMP Abrah´ 1980 muMATH am´ - SAT and SMT solving Maple Mathcad SAC GAP CoCoA MathHandbook Mathomatic Mathematica Derive FORM 1990 KASH/KANT PARI/GP Magma Fermat Erable Macaulay2 SATO WalkSAT Singular SymbolicC++ Maxima BCSAT Chaff GRASP 2000 Xcas/Giac Siege zChaff Berkmin MiniSAT Yacas HySAT/iSAT Bacelogic SAGE SMath Studio Sat4j RSat HyperSat Cadabra SymPy OpenAxiom DPT ABsolver MathSAT CVC Yices Beaver Alt-Ergo Z3 MATLAB MuPAD Spear PicoSAT Boolector 2010 Wolfram Alpha TI-Nspire CAS ArgoSat Mathics Symbolism FxSolver OpenCog veriT MiniSmt CryptoMiniSat Glucose Calcinator SyMAT UBCSAT Lingeling SWORD SatEEn OpenSMT Clasp UCLID SMCHR STP SMT-RAT atSTSolver SAT Fast 2020 SMTInterpol SONOLAR raSAT 4 / 16 Community support: Standardised input language, lots of benchmarks available. Competitions since 2002. 2014 SAT Competition: 3 categories, 79 participants with 137 solvers. SAT Live! forum as community platform, dedicated conferences, journals, etc. Satisfiability checking for propositional logic Success story: SAT-solving Practical problems with millions of variables are solvable. Frequently used in different research areas for, e.g., analysis, synthesis and optimisation. Also massively used in industry for, e.g., digital circuit design and verification. Erika Abrah´ am´ - SAT and SMT solving 5 / 16 Satisfiability checking for propositional logic Success story: SAT-solving Practical problems with millions of variables are
Recommended publications
  • Using Macaulay2 Effectively in Practice
    Using Macaulay2 effectively in practice Mike Stillman ([email protected]) Department of Mathematics Cornell 22 July 2019 / IMA Sage/M2 Macaulay2: at a glance Project started in 1993, Dan Grayson and Mike Stillman. Open source. Key computations: Gr¨obnerbases, free resolutions, Hilbert functions and applications of these. Rings, Modules and Chain Complexes are first class objects. Language which is comfortable for mathematicians, yet powerful, expressive, and fun to program in. Now a community project Journal of Software for Algebra and Geometry (started in 2009. Now we handle: Macaulay2, Singular, Gap, Cocoa) (original editors: Greg Smith, Amelia Taylor). Strong community: including about 2 workshops per year. User contributed packages (about 200 so far). Each has doc and tests, is tested every night, and is distributed with M2. Lots of activity Over 2000 math papers refer to Macaulay2. History: 1976-1978 (My undergrad years at Urbana) E. Graham Evans: asked me to write a program to compute syzygies, from Hilbert's algorithm from 1890. Really didn't work on computers of the day (probably might still be an issue!). Instead: Did computation degree by degree, no finishing condition. Used Buchsbaum-Eisenbud \What makes a complex exact" (by hand!) to see if the resulting complex was exact. Winfried Bruns was there too. Very exciting time. History: 1978-1983 (My grad years, with Dave Bayer, at Harvard) History: 1978-1983 (My grad years, with Dave Bayer, at Harvard) I tried to do \real mathematics" but Dave Bayer (basically) rediscovered Groebner bases, and saw that they gave an algorithm for computing all syzygies. I got excited, dropped what I was doing, and we programmed (in Pascal), in less than one week, the first version of what would be Macaulay.
    [Show full text]
  • The Algebra of Open and Interconnected Systems
    The Algebra of Open and Interconnected Systems Brendan Fong Hertford College University of Oxford arXiv:1609.05382v1 [math.CT] 17 Sep 2016 A thesis submitted for the degree of Doctor of Philosophy in Computer Science Trinity 2016 For all those who have prepared food so I could eat and created homes so I could live over the past four years. You too have laboured to produce this; I hope I have done your labours justice. Abstract Herein we develop category-theoretic tools for understanding network- style diagrammatic languages. The archetypal network-style diagram- matic language is that of electric circuits; other examples include signal flow graphs, Markov processes, automata, Petri nets, chemical reaction networks, and so on. The key feature is that the language is comprised of a number of components with multiple (input/output) terminals, each possibly labelled with some type, that may then be connected together along these terminals to form a larger network. The components form hyperedges between labelled vertices, and so a diagram in this language forms a hypergraph. We formalise the compositional structure by intro- ducing the notion of a hypergraph category. Network-style diagrammatic languages and their semantics thus form hypergraph categories, and se- mantic interpretation gives a hypergraph functor. The first part of this thesis develops the theory of hypergraph categories. In particular, we introduce the tools of decorated cospans and corela- tions. Decorated cospans allow straightforward construction of hyper- graph categories from diagrammatic languages: the inputs, outputs, and their composition are modelled by the cospans, while the `decorations' specify the components themselves.
    [Show full text]
  • Redberry: a Computer Algebra System Designed for Tensor Manipulation
    Redberry: a computer algebra system designed for tensor manipulation Stanislav Poslavsky Institute for High Energy Physics, Protvino, Russia SRRC RF ITEP of NRC Kurchatov Institute, Moscow, Russia E-mail: [email protected] Dmitry Bolotin Institute of Bioorganic Chemistry of RAS, Moscow, Russia E-mail: [email protected] Abstract. In this paper we focus on the main aspects of computer-aided calculations with tensors and present a new computer algebra system Redberry which was specifically designed for algebraic tensor manipulation. We touch upon distinctive features of tensor software in comparison with pure scalar systems, discuss the main approaches used to handle tensorial expressions and present the comparison of Redberry performance with other relevant tools. 1. Introduction General-purpose computer algebra systems (CASs) have become an essential part of many scientific calculations. Focusing on the area of theoretical physics and particularly high energy physics, one can note that there is a wide area of problems that deal with tensors (or more generally | objects with indices). This work is devoted to the algebraic manipulations with abstract indexed expressions which forms a substantial part of computer aided calculations with tensors in this field of science. Today, there are many packages both on top of general-purpose systems (Maple Physics [1], xAct [2], Tensorial etc.) and standalone tools (Cadabra [3,4], SymPy [5], Reduce [6] etc.) that cover different topics in symbolic tensor calculus. However, it cannot be said that current demand on such a software is fully satisfied [7]. The main difference of tensorial expressions (in comparison with ordinary indexless) lies in the presence of contractions between indices.
    [Show full text]
  • Performance Analysis of Effective Symbolic Methods for Solving Band Matrix Slaes
    Performance Analysis of Effective Symbolic Methods for Solving Band Matrix SLAEs Milena Veneva ∗1 and Alexander Ayriyan y1 1Joint Institute for Nuclear Research, Laboratory of Information Technologies, Joliot-Curie 6, 141980 Dubna, Moscow region, Russia Abstract This paper presents an experimental performance study of implementations of three symbolic algorithms for solving band matrix systems of linear algebraic equations with heptadiagonal, pen- tadiagonal, and tridiagonal coefficient matrices. The only assumption on the coefficient matrix in order for the algorithms to be stable is nonsingularity. These algorithms are implemented using the GiNaC library of C++ and the SymPy library of Python, considering five different data storing classes. Performance analysis of the implementations is done using the high-performance computing (HPC) platforms “HybriLIT” and “Avitohol”. The experimental setup and the results from the conducted computations on the individual computer systems are presented and discussed. An analysis of the three algorithms is performed. 1 Introduction Systems of linear algebraic equations (SLAEs) with heptadiagonal (HD), pentadiagonal (PD) and tridiagonal (TD) coefficient matrices may arise after many different scientific and engineering prob- lems, as well as problems of the computational linear algebra where finding the solution of a SLAE is considered to be one of the most important problems. On the other hand, special matrix’s char- acteristics like diagonal dominance, positive definiteness, etc. are not always feasible. The latter two points explain why there is a need of methods for solving of SLAEs which take into account the band structure of the matrices and do not have any other special requirements to them. One possible approach to this problem is the symbolic algorithms.
    [Show full text]
  • Rapid Research with Computer Algebra Systems
    doi: 10.21495/71-0-109 25th International Conference ENGINEERING MECHANICS 2019 Svratka, Czech Republic, 13 – 16 May 2019 RAPID RESEARCH WITH COMPUTER ALGEBRA SYSTEMS C. Fischer* Abstract: Computer algebra systems (CAS) are gaining popularity not only among young students and schol- ars but also as a tool for serious work. These highly complicated software systems, which used to just be regarded as toys for computer enthusiasts, have reached maturity. Nowadays such systems are available on a variety of computer platforms, starting from freely-available on-line services up to complex and expensive software packages. The aim of this review paper is to show some selected capabilities of CAS and point out some problems with their usage from the point of view of 25 years of experience. Keywords: Computer algebra system, Methodology, Wolfram Mathematica 1. Introduction The Wikipedia page (Wikipedia contributors, 2019a) defines CAS as a package comprising a set of algo- rithms for performing symbolic manipulations on algebraic objects, a language to implement them, and an environment in which to use the language. There are 35 different systems listed on the page, four of them discontinued. The oldest one, Reduce, was publicly released in 1968 (Hearn, 2005) and is still available as an open-source project. Maple (2019a) is among the most popular CAS. It was first publicly released in 1984 (Maple, 2019b) and is still popular, also among users in the Czech Republic. PTC Mathcad (2019) was published in 1986 in DOS as an engineering calculation solution, and gained popularity for its ability to work with typeset mathematical notation in combination with automatic computations.
    [Show full text]
  • CAS (Computer Algebra System) Mathematica
    CAS (Computer Algebra System) Mathematica- UML students can download a copy for free as part of the UML site license; see the course website for details From: Wikipedia 2/9/2014 A computer algebra system (CAS) is a software program that allows [one] to compute with mathematical expressions in a way which is similar to the traditional handwritten computations of the mathematicians and other scientists. The main ones are Axiom, Magma, Maple, Mathematica and Sage (the latter includes several computer algebras systems, such as Macsyma and SymPy). Computer algebra systems began to appear in the 1960s, and evolved out of two quite different sources—the requirements of theoretical physicists and research into artificial intelligence. A prime example for the first development was the pioneering work conducted by the later Nobel Prize laureate in physics Martin Veltman, who designed a program for symbolic mathematics, especially High Energy Physics, called Schoonschip (Dutch for "clean ship") in 1963. Using LISP as the programming basis, Carl Engelman created MATHLAB in 1964 at MITRE within an artificial intelligence research environment. Later MATHLAB was made available to users on PDP-6 and PDP-10 Systems running TOPS-10 or TENEX in universities. Today it can still be used on SIMH-Emulations of the PDP-10. MATHLAB ("mathematical laboratory") should not be confused with MATLAB ("matrix laboratory") which is a system for numerical computation built 15 years later at the University of New Mexico, accidentally named rather similarly. The first popular computer algebra systems were muMATH, Reduce, Derive (based on muMATH), and Macsyma; a popular copyleft version of Macsyma called Maxima is actively being maintained.
    [Show full text]
  • IT Project Quality Management
    10 IT Project Quality Management CHAPTER OVERVIEW The focus of this chapter will be on several concepts and philosophies of quality man- agement. By learning about the people who founded the quality movement over the last fifty years, we can better understand how to apply these philosophies and teach- ings to develop a project quality management plan. After studying this chapter, you should understand and be able to: • Describe the Project Management Body of Knowledge (PMBOK) area called project quality management (PQM) and how it supports quality planning, qual ity assurance, quality control, and continuous improvement of the project's products and supporting processes. • Identify several quality gurus, or founders of the quality movement, and their role in shaping quality philosophies worldwide. • Describe some of the more common quality initiatives and management sys tems that include ISO certification, Six Sigma, and the Capability Maturity Model (CMM) for software engineering. • Distinguish between validation and verification activities and how these activi ties support IT project quality management. • Describe the software engineering discipline called configuration management and how it is used to manage the changes associated with all of the project's deliverables and work products. • Apply the quality concepts, methods, and tools introduced in this chapter to develop a project quality plan. GLOBAL TECHNOLOGY SOLUTIONS It was mid-afternoon when Tim Williams walked into the GTS conference room. Two of the Husky Air team members, Sitaraman and Yan, were already seated at the 217 218 CHAPTER 10 / IT PROJECT QUALITY MANAGEMENT conference table. Tim took his usual seat, and asked "So how did the demonstration of the user interface go this morning?" Sitaraman glanced at Yan and then focused his attention on Tim's question.
    [Show full text]
  • Computer Algebra and Mathematics with the HP40G Version 1.0
    Computer Algebra and Mathematics with the HP40G Version 1.0 Renée de Graeve Lecturer at Grenoble I Exact Calculation and Mathematics with the HP40G Acknowledgments It was not believed possible to write an efficient program for computer algebra all on one’s own. But one bright person by the name of Bernard Parisse didn’t know that—and did it! This is his program for computer algebra (called ERABLE), built for the second time into an HP calculator. The development of this calculator has led Bernard Parisse to modify his program somewhat so that the computer algebra functions could be edited and cause the appropriate results to be displayed in the Equation Editor. Explore all the capabilities of this calculator, as set out in the following pages. I would like to thank: • Bernard Parisse for his invaluable counsel, his remarks on the text, his reviews, and for his ability to provide functions on demand both efficiently and graciously. • Jean Tavenas for the concern shown towards the completion of this guide. • Jean Yves Avenard for taking on board our requests, and for writing the PROMPT command in the very spirit of promptness—and with no advance warning. (refer to 6.4.2.). © 2000 Hewlett-Packard, http://www.hp.com/calculators The reproduction, distribution and/or the modification of this document is authorised according to the terms of the GNU Free Documentation License, Version 1.1 or later, published by the Free Software Foundation. A copy of this license exists under the section entitled “GNU Free Documentation License” (Chapter 8, p. 141).
    [Show full text]
  • Research in Algebraic Geometry with Macaulay2
    Research in Algebraic Geometry with Macaulay2 1 Macaulay2 a software system for research in algebraic geometry resultants the community, packages, the journal, and workshops 2 Tutorial the ideal of a monomial curve elimination: projecting the twisted cubic quotients and saturation 3 the package PHCpack.m2 solving polynomial systems numerically MCS 507 Lecture 39 Mathematical, Statistical and Scientific Software Jan Verschelde, 25 November 2019 Scientific Software (MCS 507) Macaulay2 L-39 25November2019 1/32 Research in Algebraic Geometry with Macaulay2 1 Macaulay2 a software system for research in algebraic geometry resultants the community, packages, the journal, and workshops 2 Tutorial the ideal of a monomial curve elimination: projecting the twisted cubic quotients and saturation 3 the package PHCpack.m2 solving polynomial systems numerically Scientific Software (MCS 507) Macaulay2 L-39 25November2019 2/32 Macaulay2 D. R. Grayson and M. E. Stillman: Macaulay2, a software system for research in algebraic geometry, available at https://faculty.math.illinois.edu/Macaulay2. Funded by the National Science Foundation since 1992. Its source is at https://github.com/Macaulay2/M2; licence: GNU GPL version 2 or 3; try it online at http://habanero.math.cornell.edu:3690. Several workshops are held each year. Packages extend the functionality. The Journal of Software for Algebra and Geometry (at https://msp.org/jsag) started its first volume in 2009. The SageMath interface to Macaulay2 requires its binary M2 to be installed on your computer. Scientific
    [Show full text]
  • An Alternative Algorithm for Computing the Betti Table of a Monomial Ideal 3
    AN ALTERNATIVE ALGORITHM FOR COMPUTING THE BETTI TABLE OF A MONOMIAL IDEAL MARIA-LAURA TORRENTE AND MATTEO VARBARO Abstract. In this paper we develop a new technique to compute the Betti table of a monomial ideal. We present a prototype implementation of the resulting algorithm and we perform numerical experiments suggesting a very promising efficiency. On the way of describing the method, we also prove new constraints on the shape of the possible Betti tables of a monomial ideal. 1. Introduction Since many years syzygies, and more generally free resolutions, are central in purely theo- retical aspects of algebraic geometry; more recently, after the connection between algebra and statistics have been initiated by Diaconis and Sturmfels in [DS98], free resolutions have also become an important tool in statistics (for instance, see [D11, SW09]). As a consequence, it is fundamental to have efficient algorithms to compute them. The usual approach uses Gr¨obner bases and exploits a result of Schreyer (for more details see [Sc80, Sc91] or [Ei95, Chapter 15, Section 5]). The packages for free resolutions of the most used computer algebra systems, like [Macaulay2, Singular, CoCoA], are based on these techniques. In this paper, we introduce a new algorithmic method to compute the minimal graded free resolution of any finitely generated graded module over a polynomial ring such that some (possibly non- minimal) graded free resolution is known a priori. We describe this method and we present the resulting algorithm in the case of monomial ideals in a polynomial ring, in which situ- ation we always have a starting nonminimal graded free resolution.
    [Show full text]
  • CAS, an Introduction to the HP Computer Algebra System
    CAS, An introduction to the HP Computer Algebra System Background Any mathematician will quickly appreciate the advantages offered by a CAS, or Computer Algebra System1, which allows the user to perform complex symbolic algebraic manipulations on the calculator. Algebraic integration by parts and by substitution, the solution of differential equations, inequalities, simultaneous equations with algebraic or complex coefficients, the evaluation of limits and many other problems can be solved quickly and easily using a CAS. Importantly, solutions can be obtained as exact values such as 5−1, 25≤ x < or 4π rather than the usual decimal values given by numeric methods of successive approximation. Values can be displayed to almost any degree of accuracy required, allowing the user to view, for example, the exact value of a number such as 100 factorial. The HP CAS The HP CAS system was created by Bernard Parisse, Université de Grenoble, for the HP 49g calculator. It was improved and adapted for inclusion on the HP 40g with the help of Renée De Graeve, Jean-Yves Avenard and Jean Tavenas2. The HP CAS system offers the user a vast array of functions and abilities as well as an easy user interface which displays equations as they appear on the page. It also includes the ability to display many algebraic calculations in ‘step-by-step’ mode, making it an invaluable teaching tool in universities and schools. Functions are grouped by category and accessed via menus at the bottom of the screen. Copyright© 2005, Applications in Mathematics Learning to use the CAS Learning to use the CAS is very easy but, as with any powerful tool, truly effective use requires familiarity and time.
    [Show full text]
  • Computations in Algebraic Geometry with Macaulay 2
    Computations in algebraic geometry with Macaulay 2 Editors: D. Eisenbud, D. Grayson, M. Stillman, and B. Sturmfels Preface Systems of polynomial equations arise throughout mathematics, science, and engineering. Algebraic geometry provides powerful theoretical techniques for studying the qualitative and quantitative features of their solution sets. Re- cently developed algorithms have made theoretical aspects of the subject accessible to a broad range of mathematicians and scientists. The algorith- mic approach to the subject has two principal aims: developing new tools for research within mathematics, and providing new tools for modeling and solv- ing problems that arise in the sciences and engineering. A healthy synergy emerges, as new theorems yield new algorithms and emerging applications lead to new theoretical questions. This book presents algorithmic tools for algebraic geometry and experi- mental applications of them. It also introduces a software system in which the tools have been implemented and with which the experiments can be carried out. Macaulay 2 is a computer algebra system devoted to supporting research in algebraic geometry, commutative algebra, and their applications. The reader of this book will encounter Macaulay 2 in the context of concrete applications and practical computations in algebraic geometry. The expositions of the algorithmic tools presented here are designed to serve as a useful guide for those wishing to bring such tools to bear on their own problems. A wide range of mathematical scientists should find these expositions valuable. This includes both the users of other programs similar to Macaulay 2 (for example, Singular and CoCoA) and those who are not interested in explicit machine computations at all.
    [Show full text]