Fast Prototyping and Flexible C++ Library for Computations in Commutative Algebra

Total Page:16

File Type:pdf, Size:1020Kb

Fast Prototyping and Flexible C++ Library for Computations in Commutative Algebra CoCoA and CoCoALib: Fast Prototyping and Flexible C++ Library for Computations in Commutative Algebra John Abbott Anna Maria Bigatti Institut fur¨ Mathematik Dipartimento di Matematica Universitat¨ Kassel Universita` degli Studi di Genova, Italy Kassel, Germany http://www.dima.unige.it/∼bigatti http://www.dima.unige.it/∼abbott Abstract—The CoCoA project began in 1987, and conducts (with two closely related applications being the interactive research into Computational Commutative Algebra (from which system and the compute server). This initial decision, together its name comes) with particular emphasis on Grobner¨ bases with the desire to help the software prosper, has many im- of ideals in multivariate polynomial rings, and related areas. A major output of the project is the CoCoA software, including the plications: e.g. designing a particularly clean interface for all CoCoA-5 interactive system and the CoCoALib C++ library. The functions with comprehensive documentation. This cleanliness software is open-source (GPL v.3), and under continual, active makes it easy to integrate CoCoALib into other software in a development. We give a summary of the features of the software trouble-free manner. likely to be relevant to the SC-Square community. Many computer algebra systems have a two-tier structure: I. INTRODUCTION a compiled kernel with interpreter, and an external library CoCoA-5 is a well-established Computer Algebra System of interpretable code for more advanced functions. Our aim specialized in operations on polynomial ideals, and a number with CoCoALib is different: we plan to have all functions of allied operations (e.g. factorization, and linear algebra). implemented directly in the C++ library so that all features It offers a dedicated, mathematician-friendly programming are available to programs which link to CoCoALib. language, and numerous functions covering many aspects of CoCoALib reports errors using C++ exceptions, while the Commutative Algebra. There is a strong emphasis on both library itself is exception-safe and (largely) thread-safe. The rigour and ease of use. For details see [1]. current source code follows the C++03 standard; a passage to The mathematical core of the software is CoCoALib. It is the C++11 standard is planned for the near future (and this an open source C++ software library which has been designed should enable the code to become fully thread-safe). to be user-friendly, facilitating integration with other software. The library is fully documented, and also comes with about A. Library Design 100 illustrative example programs (since it is often quicker We want CoCoALib to be a desirable software library, so it to copy and modify existing working code than write it from must be easy to use, reliable, robust and fast. Unfortunately, scratch). For details see [2]. achieving all these features together is not always possible, There is also a prototype “CoCoA server” giving access so there are occasional compromises. One guiding principle is to many functions via a remote-procedure-call connection. that we want no nasty surprises. Currently, communications to and from the server use an Here are the main features of the design of CoCoALib: OpenMath-like syntax. A more sophisticated “remote session” • it is well-documented, free and open source C++ code communication model is envisaged, which will reduce overall (under the GPL v.3 licence); transmission costs. • the design is inspired by, and respects, the underlying The CoCoA software is interesting to SC-square because mathematical structures; it includes a well-documented, open source C++ library of- • the source code is clean and portable; fering a good implementation of Grobner¨ bases, polynomial • the user function interface is natural for mathematicians, factorization, etc. The interactive system is well-suited to rapid and easy to memorize; prototyping, while the server offers possibilities for looser • execution speed is good with robust error detection. integration. Our design of CoCoALib aims to make it easy to write II. THE SOFTWARE LIBRARY COCOALIB correct programs, and difficult to write incorrect ones or ones A crucial aspect of the CoCoA software is that it was which produce “nasty surprises”. While trying to follow this designed from the outset to be an open-source software library guideline we encountered some delicate aspects of the design: Copyright c by the paper's authors. Copying permitted for private and academic purposes. In: E. Abrah´am,J.´ Davenport, P. Fontaine, (eds.): Proceedings of the 1st Workshop on Satisfiability Checking and Symbolic Computation (SC2), Timisoara, Romania, 02-07-2016, published at http://ceur-ws.org • precise definition of a function’s domain (e.g. what result Mayer-Vietoris trees associated to monomial ideals. A sig- should IsPrime(-2) give? And IsPrime(0)?) nificant aspect of this contribution is that the author worked • a choice between absolute mathematical correctness or completely independently relying entirely on the documenta- decent computational speed (and a remote chance of a tion of CoCoALib — thus confirming the quality of the docu- wrong answer) mentation. His work has encouraged us to develop specialized, In general, CoCoALib handles limit cases properly. The efficient handling for monomial ideals (see [7]). domain of each CoCoALib function is described in the docu- A more recent contribution comes from M. Albert, who mentation; for instance IsPrime throws an exception if the implemented an algorithm for computing Janet Bases of ideals argument is not strictly positive — our reasoning is that it in polynomial rings. Once a Janet Basis has been obtained, is unusual to want to test the primality of zero or a negative many ideal invariants can readily be determined ([4], [5]). number, so it is likely that the routine which called IsPrime Work is still under way to further expand this contribution. has already made a mistake, so it is better to report it “as soon C. Combining with External Libraries as possible”. CoCoALib offers the programmer the choice between absolute correctness or probable correctness and good We have combined some of the features of various external speed, e.g. IsPrime and IsProbPrime. libraries into CoCoALib. An important step in each case is An example of design: Finding a library interface which is the “translation” of a mathematical value from its CoCoALib easy to learn and use, mathematically correct, but also efficient representation to that of the foreign library, and vice versa. at run-time often requires a delicate balance of compromise. To make it easier to do this CoCoALib offers operations for We cite here one example from CoCoALib where the solution destructuring the various data-structures it operates upon. is untraditional but successful. One aspect of combining libraries which requires careful CoCoALib uses continued fractions internally in various attention is any global initialization the libraries perform, for algorithms. A continued fraction is an expression of the form: instance specifying the memory manager for the common un- 1 derlying library GMP. CoCoALib addresses this by requiring a0 + 1 explicit initialization of its globals; there are various options, a1 + 1 a2+ a3+··· including one for specifying a memory manager for GMP. where a0 is an integer, and a1; a2;::: are positive integers. The first library we combined with CoCoALib is Frobby Every rational number has a finite continued fraction which, (see [8]) which is specialized for operations on monomial ide- for compactness, is often represented as a list of integers als. The experience also helped us improve the interfacibility [a0; a1; a2; : : : ; as]. of CoCoALib. The most natural implementation in CoCoALib would sim- The most advanced integration we have achieved so far is ply compute this list. But in many applications only the first with the Normaliz library (see [6]) for computing with affine few ak are needed, and computing the entire list is needlessly monoids or rational cones. This is part of a closer collaboration costly. So the CoCoALib implementation produces an iterator which is described in more detail in [3]. In this particular case, (a basic concept well-known in object-oriented programming) a new data-structure (called cone) was added to CoCoALib which produces the values of the ak one at a time. to contain the type of value which Normaliz computes with. B. Extending CoCoALib The most recent integration was with GFanLib (see [9]) Naturally most of the source code in CoCoALib was written which is a C++ software library for computing Grobner¨ fans by us, but the design of the library (and its openness) was and tropical varieties. The experience gained from the earlier chosen to facilitate and encourage “outsiders” to contribute. integrations made this a swift and painless operation. We distinguish two categories of contribution: code writ- There is also an experimental connection to some of the ten specifically to become part of CoCoALib, and stand- functions of GSL (GNU Scientific Library [10]). This is an alone code written without considering its integration into interesting challenge because the interface has to handle two CoCoALib. contrasting viewpoints: the exact world of CoCoALib, and the Specific Direct Contributions to CoCoALib: The first out- approximate (i.e. floating-point) world of GSL. side contribution came from M. Caboara, who wrote the code for computing Grobner¨ bases and related operations III. THE INTERACTIVE SYSTEM COCOA-5 while CoCoALib was still quite young. At that stage the The CoCoA-5 system replaces the old CoCoA-4 system detailed implementation of CoCoALib was still quite fluid, whose heritage can be traced back at least to 1989. For and a number of pretty radical changes in the underlying several reasons CoCoA-5 is a completely new implementation, data-structures were still to occur; yet despite these upheavals whose design was developed under the precept that it be Caboara’s implementation of Buchberger’s algorithm required “as backward-compatible as (reasonably) possible” while also virtually no changes, thus confirming the good modularity and eliminating the limitations inherent in the older system.
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]
  • Luis David Garcıa Puente
    Luis David Garc´ıa Puente Department of Mathematics and Statistics (936) 294-1581 Sam Houston State University [email protected] Huntsville, TX 77341–2206 http://www.shsu.edu/ldg005/ Professional Preparation Universidad Nacional Autonoma´ de Mexico´ (UNAM) Mexico City, Mexico´ B.S. Mathematics (with Honors) 1999 Virginia Polytechnic Institute and State University Blacksburg, VA Ph.D. Mathematics 2004 – Advisor: Reinhard Laubenbacher – Dissertation: Algebraic Geometry of Bayesian Networks University of California, Berkeley Berkeley, CA Postdoctoral Fellow Summer 2004 – Mentor: Lior Pachter Mathematical Sciences Research Institute (MSRI) Berkeley, CA Postdoctoral Fellow Fall 2004 – Mentor: Bernd Sturmfels Texas A&M University College Station, TX Visiting Assistant Professor 2005 – 2007 – Mentor: Frank Sottile Appointments Colorado College Colorado Springs, CO Professor of Mathematics and Computer Science 2021 – Sam Houston State University Huntsville, TX Professor of Mathematics 2019 – 2021 Sam Houston State University Huntsville, TX Associate Department Chair Fall 2017 – 2021 Sam Houston State University Huntsville, TX Associate Professor of Mathematics 2013 – 2019 Statistical and Applied Mathematical Sciences Institute Research Triangle Park, NC SAMSI New Researcher fellowship Spring 2009 Sam Houston State University Huntsville, TX Assistant Professor of Mathematics 2007 – 2013 Virginia Bioinformatics Institute (Virginia Tech) Blacksburg, VA Graduate Research Assistant Spring 2004 Virginia Polytechnic Institute and State University Blacksburg,
    [Show full text]
  • Persistence in Algebraic Specifications
    Persistence in Algebraic Specifications Freek Wiedijk Persistence in Algebraic Specifications Persistence in Algebraic Specifications Academisch Proefschrift ter verkrijging van de graad van doctor aan de Universiteit van Amsterdam, op gezag van de Rector Magnificus prof. dr. P.W.M. de Meijer, in het openbaar te verdedigen in de Aula der Universiteit (Oude Lutherse Kerk, ingang Singel 411, hoek Spui), op donderdag 12 december 1991 te 12.00 uur door Frederik Wiedijk geboren te Haarlem Promotores: prof. dr. P. Klint & prof. dr. J.A. Bergstra Faculteit Wiskunde en Informatica Het hier beschreven onderzoek werd mede mogelijk gemaakt door steun van de Ne- derlandse organisatie voor Wetenschappelijk Onderzoek (voorheen de nederlandse organisatie voor Zuiver-Wetenschappelijk Onderzoek) binnen project nummer 612- 317-013 getiteld Executeerbaar maken van algebraïsche specificaties. voor Jan Truijens Contents Contents Acknowledgements 1 Introduction 1 1.1 Motivation and general overview 2 1.2 Examples of erroneous specifications 13 1.3 Background and related work 22 2. Theory 25 2.1 Basic notions 27 2.1.1. Equational specifications 28 2.1.2 Term rewriting systems 29 2.2 Termination 30 2.2.1 Weak and strong termination 33 2.2.2 Path orderings 34 2.2.3 Decidability 40 2.3 Confluence 41 2.3.1 Weak and strong confluence 42 2.3.2 Overlapping 44 2.3.3 Decidability 45 2.4 Reduction strategies 46 2.5 Persistence 48 2.5.1 Weak and strong persistence 52 2.5.2 Term approximations and bases 54 2.5.3 Normal form analysis 56 2.5.4 Decidability 60 2.6 Primitive recursive
    [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]
  • 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]
  • A Simplified Introduction to Virus Propagation Using Maple's Turtle Graphics Package
    E. Roanes-Lozano, C. Solano-Macías & E. Roanes-Macías.: A simplified introduction to virus propagation using Maple's Turtle Graphics package A simplified introduction to virus propagation using Maple's Turtle Graphics package Eugenio Roanes-Lozano Instituto de Matemática Interdisciplinar & Departamento de Didáctica de las Ciencias Experimentales, Sociales y Matemáticas Facultad de Educación, Universidad Complutense de Madrid, Spain Carmen Solano-Macías Departamento de Información y Comunicación Facultad de CC. de la Documentación y Comunicación, Universidad de Extremadura, Spain Eugenio Roanes-Macías Departamento de Álgebra, Universidad Complutense de Madrid, Spain [email protected] ; [email protected] ; [email protected] Partially funded by the research project PGC2018-096509-B-100 (Government of Spain) 1 E. Roanes-Lozano, C. Solano-Macías & E. Roanes-Macías.: A simplified introduction to virus propagation using Maple's Turtle Graphics package 1. INTRODUCTION: TURTLE GEOMETRY AND LOGO • Logo language: developed at the end of the ‘60s • Characterized by the use of Turtle Geometry (a.k.a. as Turtle Graphics). • Oriented to introduce kids to programming (Papert, 1980). • Basic movements of the turtle (graphic cursor): FD, BK RT, LT. • It is not based on a Cartesian Coordinate system. 2 E. Roanes-Lozano, C. Solano-Macías & E. Roanes-Macías.: A simplified introduction to virus propagation using Maple's Turtle Graphics package • Initially robots were used to plot the trail of the turtle. http://cyberneticzoo.com/cyberneticanimals/1969-the-logo-turtle-seymour-papert-marvin-minsky-et-al-american/ 3 E. Roanes-Lozano, C. Solano-Macías & E. Roanes-Macías.: A simplified introduction to virus propagation using Maple's Turtle Graphics package • IBM Logo / LCSI Logo (’80) 4 E.
    [Show full text]
  • PLS Toolbox 7.0 Pltternf - Plots a 3D Ternary Diagram with Frequency of Occurrence
    plotgui - Interactive data viewer. logdecay - Mean centers and variance scales a matrix using the log plttern - Plots a 2D ternary diagram. decay of the variable axis. PLS_Toolbox 7.0 pltternf - Plots a 3D ternary diagram with frequency of occurrence. lsq2top - Fits a polynomial to the top/(bottom) of data. querydb - Executes a query on a database defined by connection mdcheck - Missing Data Checker and infiller. Quick-Reference Card string. med2top - Fits a constant to top/(bottom) of data. Copyright © Eigenvector Research, 2012 reportwriter - Write a summary of the analysis including medcn - Median center scales matrix to median zero. associated figures to html/word/powerpoint. mncn - Scale matrix to mean zero. Help and Information rwb - Red white and blue color map. mscorr - Multiplicative scatter/signal correction (MSC). setpath - Modifies and saves current directory to the MATLAB normaliz - Normalize rows of matrix. helppls - Context related help on the PLS_Toolbox. search path. npreprocess - Preprocessing of multi-way arrays. readme - Release notes for Version 4.1 of PLS_Toolbox. snabsreadr - Reads Stellarnet ABS XY files. oscapp - Applies OSC model to new data. demos - Demo list for the PLS_Toolbox. spcreadr - Reads a Galactic SPC file. osccalc - Calculates orthogonal signal correction (OSC). evricompatibility - Tests for inter-product compatibility of trendtool - Univariate trend analysis tool. poissonscale - Perform Poisson scaling with scaling offset. Eigenvector toolboxes. vline - Adds vertical lines to figure at specified locations. polyinterp - Polynomial interpolation, smoothing, and evridebug - Checks the PLS_Toolbox installation for problems. writeasf - Writes AIT ASF files from a dataset object. differentiation. evridir - Locate and or create EVRI home directory. writecsv - Export a DataSet object to a comma-separated values preprocess - Selection and application of standard preprocessing evriinstall - Install Eigenvector Research Product.
    [Show full text]
  • What Can Computer Algebraic Geometry Do Today?
    What can computer Algebraic Geometry do today? Gregory G. Smith Wolfram Decker Mike Stillman 14 July 2015 Essential Questions ̭ What can be computed? ̭ What software is currently available? ̭ What would you like to compute? ̭ How should software advance your research? Basic Mathematical Types ̭ Polynomial Rings, Ideals, Modules, ̭ Varieties (affine, projective, toric, abstract), ̭ Sheaves, Divisors, Intersection Rings, ̭ Maps, Chain Complexes, Homology, ̭ Polyhedra, Graphs, Matroids, ̯ Established Geometric Tools ̭ Elimination, Blowups, Normalization, ̭ Rational maps, Working with divisors, ̭ Components, Parametrizing curves, ̭ Sheaf Cohomology, ঠ-modules, ̯ Emerging Geometric Tools ̭ Classification of singularities, ̭ Numerical algebraic geometry, ̭ ैक़௴Ь, Derived equivalences, ̭ Deformation theory,Positivity, ̯ Some Geometric Successes ̭ GEOGRAPHY OF SURFACES: exhibiting surfaces with given invariants ̭ BOIJ-SÖDERBERG: examples lead to new conjectures and theorems ̭ MODULI SPACES: computer aided proofs of unirationality Some Existing Software ̭ GAP,Macaulay2, SINGULAR, ̭ CoCoA, Magma, Sage, PARI, RISA/ASIR, ̭ Gfan, Polymake, Normaliz, 4ti2, ̭ Bertini, PHCpack, Schubert, Bergman, an idiosyncratic and incomplete list Effective Software ̭ USEABLE: documented examples ̭ MAINTAINABLE: includes tests, part of a larger distribution ̭ PUBLISHABLE: Journal of Software for Algebra and Geometry; www.j-sag.org ̭ CITATIONS: reference software Recent Developments in Singular Wolfram Decker Janko B¨ohm, Hans Sch¨onemann, Mathias Schulze Mohamed Barakat TU Kaiserslautern July 14, 2015 Wolfram Decker (TU-KL) Recent Developments in Singular July 14, 2015 1 / 24 commutative and non-commutative algebra, singularity theory, and with packages for convex and tropical geometry. It is free and open-source under the GNU General Public Licence.
    [Show full text]
  • The Power of Pyramid Decomposition in Normaliz
    Journal of Symbolic Computation 74 (2016) 513–536 Contents lists available at ScienceDirect Journal of Symbolic Computation www.elsevier.com/locate/jsc The power of pyramid decomposition in Normaliz Winfried Bruns a, Bogdan Ichim b, Christof Söger a a Universität Osnabrück, FB Mathematik/Informatik, 49069 Osnabrück, Germany b Simion Stoilow Institute of Mathematics of the Romanian Academy, Research Unit 5, C.P. 1-764, 010702 Bucharest, Romania a r t i c l e i n f o a b s t r a c t Article history: We describe the use of pyramid decomposition in Normaliz, a soft- Received 27 January 2014 ware tool for the computation of Hilbert bases and enumerative Accepted 26 August 2015 data of rational cones and affine monoids. Pyramid decomposition Available online 16 September 2015 in connection with efficient parallelization and streamlined evalua- tion of simplicial cones has enabled Normaliz to process triangula- MSC: ≈ · 11 52B20 tions of size 5 10 that arise in the computation of Ehrhart 13F20 series related to the theory of social choice. 14M25 © 2015 Elsevier Ltd. All rights reserved. 91B12 Keywords: Hilbert basis Ehrhart series Hilbert series Rational polytope Volume Triangulation Pyramid decomposition 1. Introduction Normaliz (Bruns et al., 2015)is a software tool for the computation of Hilbert bases and enumera- tive data of rational cones and affine monoids. In the 17 years of its existence it has found numerous applications; for example, in integer programming (Bogart et al., 2010), algebraic geometry (Craw et al., 2007), theoretical physics (Kappl et al., 2011), commutative algebra (Sturmfels and Welker, 2012) or elimination theory (Emiris et al., 2013).
    [Show full text]
  • Normaliz 3.2.0 Contents
    Normaliz 3.2.0 January 22, 2017 Winfried Bruns, Tim Römer, Richard Sieg and Christof Söger Normaliz 2 team member: Bogdan Ichim http://normaliz.uos.de https://github.com/Normaliz mailto:[email protected] Contents 1. Introduction 7 1.1. The objectives of Normaliz . .7 1.2. Platforms, implementation and access from other systems . .8 1.3. Major changes relative to version 3.1.1 . .9 1.4. Future extensions . .9 1.5. Download and installation . .9 2. Normaliz by examples 10 2.1. Terminology . 10 2.2. Practical preparations . 11 2.3. A cone in dimension 2 . 12 2.3.1. The Hilbert basis . 13 2.3.2. The cone by inequalities . 14 2.3.3. The interior . 15 2.4. A lattice polytope . 17 2.4.1. Only the lattice points . 20 2.5. A rational polytope . 20 2.5.1. The rational polytope by inequalities . 23 2.6. Magic squares . 24 2.6.1. With even corners . 27 2.6.2. The lattice as input . 30 1 2.7. Decomposition in a numerical semigroup . 30 2.8. A job for the dual algorithm . 31 2.9. A dull polyhedron . 32 2.9.1. Defining it by generators . 34 2.10. The Condorcet paradoxon . 35 2.10.1. Excluding ties . 36 2.10.2. At least one vote for every preference order . 37 2.11. Testing normality . 38 2.11.1. Computing just a witness . 39 2.12. Inhomogeneous congruences . 40 2.12.1. Lattice and offset . 41 2.12.2. Variation of the signs . 41 2.13.
    [Show full text]
  • Program Synthesis
    Program Synthesis Program Synthesis Sumit Gulwani Microsoft Research [email protected] Oleksandr Polozov University of Washington [email protected] Rishabh Singh Microsoft Research [email protected] Boston — Delft Foundations and Trends® in Programming Languages Published, sold and distributed by: now Publishers Inc. PO Box 1024 Hanover, MA 02339 United States Tel. +1-781-985-4510 www.nowpublishers.com [email protected] Outside North America: now Publishers Inc. PO Box 179 2600 AD Delft The Netherlands Tel. +31-6-51115274 The preferred citation for this publication is S. Gulwani, O. Polozov and R. Singh. Program Synthesis. Foundations and Trends® in Programming Languages, vol. 4, no. 1-2, pp. 1–119, 2017. ® This Foundations and Trends issue was typeset in LATEX using a class file designed by Neal Parikh. Printed on acid-free paper. ISBN: 978-1-68083-292-1 © 2017 S. Gulwani, O. Polozov and R. Singh All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, mechanical, photocopying, recording or otherwise, without prior written permission of the publishers. Photocopying. In the USA: This journal is registered at the Copyright Clearance Center, Inc., 222 Rosewood Drive, Danvers, MA 01923. Authorization to photocopy items for in- ternal or personal use, or the internal or personal use of specific clients, is granted by now Publishers Inc for users registered with the Copyright Clearance Center (CCC). The ‘services’ for users can be found on the internet at: www.copyright.com For those organizations that have been granted a photocopy license, a separate system of payment has been arranged.
    [Show full text]
  • Computational Algebraic Geometry and Quantum Mechanics: an Initiative Toward Post Contemporary Quantum Chemistry
    J Multidis Res Rev 2019 Inno Journal of Multidisciplinary Volume 1: 2 Research and Reviews Computational Algebraic Geometry and Quantum Mechanics: An Initiative toward Post Contemporary Quantum Chemistry Ichio Kikuchi International Research Center for Quantum Technology, Tokyo, Japan Akihito Kikuchi* Abstract Article Information A new framework in quantum chemistry has been proposed recently Article Type: Review Article Number: JMRR118 symbolic-numeric computation” by A. Kikuchi). It is based on the Received Date: 30 September, 2019 modern(“An approach technique to first of principlescomputational electronic algebraic structure geometry, calculation viz. theby Accepted Date: 18 October, 2019 symbolic computation of polynomial systems. Although this framework Published Date: 25 October, 2019 belongs to molecular orbital theory, it fully adopts the symbolic method. The analytic integrals in the secular equations are approximated by the *Corresponding Author: Akihito Kikuchi, Independent polynomials. The indeterminate variables of polynomials represent Researcher, Member of International Research Center for the wave-functions and other parameters for the optimization, such as Quantum Technology, 2-17-7 Yaguchi, Ota-ku, Tokyo, Japan. Tel: +81-3-3759-6810; Email: akihito_kikuchi(at)gakushikai.jp the symbolic computation digests and decomposes the polynomials into aatomic tame positionsform of the and set contraction of equations, coefficients to which ofnumerical atomic orbitals.computations Then Citation: Kikuchi A, Kikuchi I (2019) Computational are easily applied. The key technique is Gröbner basis theory, by Algebraic Geometry and Quantum Mechanics: An Initiative which one can investigate the electronic structure by unraveling the toward Post Contemporary Quantum Chemistry. J Multidis Res Rev Vol: 1, Issu: 2 (47-79). demonstrate the featured result of this new theory.
    [Show full text]