Computational Topology with Regina: Algorithms, Heuristics And

Total Page:16

File Type:pdf, Size:1020Kb

Computational Topology with Regina: Algorithms, Heuristics And COMPUTATIONAL TOPOLOGY WITH REGINA: ALGORITHMS, HEURISTICS AND IMPLEMENTATIONS BENJAMIN A. BURTON Dedicated to J. Hyam Rubinstein Abstract. Regina is a software package for studying 3-manifold triangula- tions and normal surfaces. It includes a graphical user interface and Python bindings, and also supports angle structures, census enumeration, combina- torial recognition of triangulations, and high-level functions such as 3-sphere recognition, unknot recognition and connected sum decomposition. This paper brings 3-manifold topologists up-to-date with Regina as it ap- pears today, and documents for the first time in the literature some of the key algorithms, heuristics and implementations that are central to Regina’s perfor- mance. These include the all-important simplification heuristics, key choices of data structures and algorithms to alleviate bottlenecks in normal surface enumeration, modern implementations of 3-sphere recognition and connected sum decomposition, and more. We also give some historical background for the project, including the key role played by Rubinstein in its genesis 15 years ago, and discuss current directions for future development. 1. Introduction Algorithmic problems run to the heart of low-dimensional topology. Promi- nent amongst these are decision problems (e.g., recognising the unknot, or testing whether two triangulated manifolds are homeomorphic); decomposition problems (e.g., decomposing a triangulated manifold into a connected sum of prime mani- folds); and recognition problems (e.g., “naming” the manifold described by a given triangulation). For 3-manifolds in particular, such problems typically have highly complex and expensive solutions—running times are often exponential or super-exponential, and implementations are often major endeavours developed over many years (if they arXiv:1208.2504v2 [math.GT] 22 Feb 2013 exist at all). This is in contrast to dimension two, where many such problems are easily solved in small polynomial time, and dimensions ≥ 4, where such problems can become provably undecidable [21, 40]. Regina [5, 14] is a software package for low-dimensional topologists and knot theorists. Its main focus is on triangulated 3-manifolds, though it is now branch- ing into both two and four dimensions also (see Section 7). It provides powerful algorithms and heuristics to assist with decision, decomposition and recognition problems; more broadly, it includes a range of facilities to study and manipulate 2000 Mathematics Subject Classification. Primary 57-04, 57N10; Secondary 68W05, 57Q15. Key words and phrases. 3-manifolds, algorithms, software, simplification, normal surfaces, recognition, angle structures. The author is supported by the Australian Research Council under the Discovery Projects funding scheme (projects DP1094516 and DP110101104). 1 2 BENJAMIN A. BURTON 3-manifold triangulations. It offers rich support for normal surface theory, a major algorithmic framework that recurs throughout 3-manifold topology. One of Regina’s most important uses is for experimentation: it can analyse a single example too large to study by hand, or millions of examples “in bulk”. Other uses include computer proofs, such as the recent resolution of Thurston’s old ques- tion of whether the Weber-Seifert dodecahedral space is non-Haken [18], and calcu- lation of previously-unknown topological invariants, such as recent improvements to crosscap numbers in knot tables [11, 15]. The remainder of this introduction gives a brief overview of Regina and some history behind its early development, back to its genesis with Rubinstein 15 years ago. Following this, we select some of Regina’s most important features and study the modern heuristics, algorithms and implementations behind them. Some of these details are crucial for Regina’s fast performance, but have not appeared in the literature to date. Overall, this paper offers a fresh update on the significant progress and performance enhancements in the eight years since Regina’s last major report in the literature [5]. The specific features that we focus on are: • the process of simplifying triangulations, which plays a critical role in many of Regina’s high-level algorithms; • the enumeration of normal and almost normal surfaces, including the high- level 0-efficiency, 3-sphere recognition and connected sum decomposition algorithms; • combinatorial recognition, whereby Regina attempts to recognise a trian- gulation by studying its combinatorial structure; • the enumeration of angle structures, taut angle structures and veering struc- tures on triangulations. With respect to these features, there are interesting new developments in the pipeline. Examples include “breadth-first simplification” of triangulations, the tree traversal algorithm for enumerating vertex normal surfaces, and new 0-efficiency and 3-sphere recognition algorithms based on linear programming that exhibit ex- perimental polynomial-time behaviour. The corresponding code is already written (it is now being tested and prepared for integration into Regina), and we outline these new developments in the relevant sections of this paper. To finish, Section 6 gives concrete examples of how Regina can be used for experimentation, including an introduction to Regina’s in-built Python scripting, so that interested readers can use these as launching points for their own experiments. Section 7 concludes with additional future directions for Regina, including new work with Ryan Budney on triangulated 4-manifolds, much of which is already coded and running in the development repository. 1.1. Overview of Regina. Regina is now 13 years old, with over 190 000 lines of source code. It is released under the GNU General Public License, and contribu- tions from the research community are welcome. It adheres to the following broad development principles, in order of precedence: (1) Correctness: Having correct output is critical, particularly for applications such as computer proofs. Regina is extremely conservative in this regard: for example, it will use arbitrary precision integer arithmetic if it cannot COMPUTATIONAL TOPOLOGY WITH REGINA 3 be proven unnecessary, and the API documentation makes thorough use of preconditions and postconditions. (2) Generality: Algorithms operate in the broadest possible scenarios (within reason), and do not require preconditions that cannot be easily tested. For instance, unknot recognition runs correctly for both bounded and ideal triangulations, and even when the input triangulation is not known to be a knot complement (whereupon it generalises to solid torus recognition). (3) Speed: Because many of its algorithms run in exponential or super-exponen- tial time, speed is imperative. Regina makes use of sophisticated algorithms and heuristics that, whilst adhering to the constraints of correctness and generality, make it practical for real topological problems. Regina is multi-platform, and offers a drag-and-drop installer for MacOS, an MSI-based installer for Windows, and ready-made packages for several GNU/Linux distributions. It is thoroughly documented, and stores its data files in a compressed XML format. Regina provides three levels of user interface: • a full graphical user interface, based on the Qt framework [48]; • a scripting interface based on Python, which can interact with the graphical interface or be used a standalone Python module; • a programmers’ interface offering native access to Regina’s mathematical core through a C++ shared library. There are facilities to help new users learn their way around, including an illus- trated users’ handbook, context-sensitive “what’s this?” help, and sample data files that can be opened through the File −→ Open Example menu. Regina’s core strengths are in working with triangulations, normal surfaces and angle structures. It only offers basic support for hyperbolic geometries, for which the software packages SnapPea [60] and its successor SnapPy [23] are more suitable. In addition to its range of low-level operations and 3-manifold invari- ants, Regina includes implementations of high-level decision and decomposition algorithms, including the only known full implementations of 3-sphere recogni- tion and connected sum decomposition. For a comprehensive list of features, see http://regina.sourceforge.net/docs/featureset.html. 1.2. History. In the 1990s, Jeff Weeks’ software package SnapPea had opened up enormous possibilities for computer experimentation with hyperbolic 3-mani- folds. In contrast, outside the hyperbolic world many fundamental 3-manifold algorithms remained purely theoretical, including high-profile algorithms such as 3-sphere recognition, connected sum decomposition, Haken’s unknot recognition algorithm, and testing for incompressible surfaces. More broadly, normal surface theory—a ubiquitous technology in algorithmic 3-manifold topology—had no concrete software implementation (or at least none that had been publicised). Many of the algorithms that used normal surfaces were so complex that it was believed that any attempt at implementation would be both painstaking to develop and impractically slow to run. Nevertheless, Rubinstein sought to move these algorithms from the theoretical realm to the practical, and in 1997 he assembled a team for a new software project that would make computational normal surface theory a reality. This initial team consisted of David Letscher, Richard Rannard, and myself. Much planning was 4 BENJAMIN A. BURTON done and a little preliminary code was written, but then the team members became
Recommended publications
  • Light Programming Language
    UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA CURSO DE CIÊNCIA DA COMPUTAÇÃO PEDRO SASSEN VEIGA Light Programming Language Work presented in partial fulfillment of the requirements for the degree of Bachelor in Computer Science Advisor: Prof. Dr. Rodrigo Machado Porto Alegre December 2018 UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL Reitor: Prof. Rui Vicente Oppermann Vice-Reitora: Profa. Jane Fraga Tutikian Pró-Reitor de Graduação: Prof. Wladimir Pinheiro do Nascimento Diretora do Instituto de Informática: Profa. Carla Maria Dal Sasso Freitas Coordenador do Curso de Ciência de Computação: Prof. Sérgio Luis Cechin Bibliotecária-chefe do Instituto de Informática: Beatriz Regina Bastos Haro ACKNOWLEDGMENTS We thank Jonathan Blow for the inspiration to create a complete language. ABSTRACT The increase of computing power in the last decades allowed for the creation and establishment of many high level programming languages such as Java and Python. In these languages, control over the hardware is often neglected in favor of more convenient abstractions for the programmer that offer some important guarantees (such as memory safety). At the same time, older lower level languages, such as C, are still considered one of the few viable options for systems programming. This work proposes a new low level programming language called Light that makes use of meta-programming ideas, commonly present in higher level, interpreted languages, in a compiled one. Light is a lower level, statically typed language that focuses on simplicity, consistent syntax and understandability. It has minimal runtime, no garbage collection and is composed of a simple core with a meta-programming layer built on top.
    [Show full text]
  • Regina Rexx Interpreter Version 3.3
    The Regina Rexx Interpreter Version 3.3 Anders Christensen <[email protected]> Norwegian Institute of Technology University of Trondheim April 25, 2004 Additions and corrections by Mark Hessling < [email protected] > Regina Home Page at: http://regina-rexx.sourceforge.net 1 Copyright © 1992-1998 Anders Christensen Copyright © 1998-2004 Mark Hessling Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". 2 Table of Contents 1Introduction to Regina......................................................................................................................10 1.1Purpose of this document..........................................................................................................10 1.2Implementation.........................................................................................................................10 1.3Ports of Regina..........................................................................................................................11 1.4Executing Rexx programs with Regina....................................................................................11 1.4.1Switches............................................................................................................................12
    [Show full text]
  • OS X for Hackers at Heart 2005.Pdf
    343_OSX_FM.qxd 11/4/05 6:56 PM Page i Register for Free Membership to [email protected] Over the last few years, Syngress has published many best-selling and critically acclaimed books, including Tom Shinder’s Configuring ISA Server 2004, Brian Caswell and Jay Beale’s Snort 2.1 Intrusion Detection, and Angela Orebaugh and Gilbert Ramirez’s Ethereal Packet Sniffing. One of the reasons for the success of these books has been our unique [email protected] program. Through this site, we’ve been able to provide readers a real time extension to the printed book. As a registered owner of this book, you will qualify for free access to our members-only [email protected] program. Once you have registered, you will enjoy several benefits, including: ■ Four downloadable e-booklets on topics related to the book. Each booklet is approximately 20-30 pages in Adobe PDF format. They have been selected by our editors from other best-selling Syngress books as providing topic coverage that is directly related to the coverage in this book. ■ A comprehensive FAQ page that consolidates all of the key points of this book into an easy-to-search web page, pro- viding you with the concise, easy-to-access data you need to perform your job. ■ A “From the Author” Forum that allows the authors of this book to post timely updates and links to related sites, or additional topic coverage that may have been requested by readers. Just visit us at www.syngress.com/solutions and follow the simple registration process.
    [Show full text]
  • The Regina Rexx Interpreter
    The Regina Rexx Interpreter Version 3.4 Mark Hessling < [email protected] > Florian Gro ße-Coosmann < [email protected] > December 30, 2007 Original Author: Anders Christensen <[email protected]> Regina Home Page at: http://regina-rexx.sourceforge.net 1 Copyright © 1992-1998 Anders Christensen Copyright © 1998-2007 Mark Hessling Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". 2 Table of Contents 1 Introduction to Regina.....................................................................................................................12 1.1 Purpose of this document.........................................................................................................12 1.2 Implementation.........................................................................................................................12 1.3 Ports of Regina.........................................................................................................................13 1.4 Executing Rexx programs with Regina....................................................................................14 1.4.1 Switches............................................................................................................................15
    [Show full text]
  • Computational Topology with Regina: Algorithms, Heuristics and Implementations
    COMPUTATIONAL TOPOLOGY WITH REGINA: ALGORITHMS, HEURISTICS AND IMPLEMENTATIONS BENJAMIN A. BURTON Dedicated to J. Hyam Rubinstein Author's self-archived version Available from http://www.maths.uq.edu.au/~bab/papers/ Abstract. Regina is a software package for studying 3-manifold triangula- tions and normal surfaces. It includes a graphical user interface and Python bindings, and also supports angle structures, census enumeration, combina- torial recognition of triangulations, and high-level functions such as 3-sphere recognition, unknot recognition and connected sum decomposition. This paper brings 3-manifold topologists up-to-date with Regina as it ap- pears today, and documents for the first time in the literature some of the key algorithms, heuristics and implementations that are central to Regina's perfor- mance. These include the all-important simplification heuristics, key choices of data structures and algorithms to alleviate bottlenecks in normal surface enumeration, modern implementations of 3-sphere recognition and connected sum decomposition, and more. We also give some historical background for the project, including the key role played by Rubinstein in its genesis 15 years ago, and discuss current directions for future development. 1. Introduction Algorithmic problems run to the heart of low-dimensional topology. Promi- nent amongst these are decision problems (e.g., recognising the unknot, or testing whether two triangulated manifolds are homeomorphic); decomposition problems (e.g., decomposing a triangulated manifold into a connected sum of prime mani- folds); and recognition problems (e.g., \naming" the manifold described by a given triangulation). For 3-manifolds in particular, such problems typically have highly complex and expensive solutions|running times are often exponential or super-exponential, and implementations are often major endeavours developed over many years (if they exist at all).
    [Show full text]
  • The UNIX- HATERS Handbook
    The UNIX- HATERS Handbook The UNIX- HATERS Handbook “Two of the most famous products of Berkeley are LSD and Unix. I don’t think that is a coincidence.” Edited by Simson Garfinkel, Daniel Weise, and Steven Strassmann ® PROGRAMMERS IDG Illustrations by John Klossner BOOKS PRESS iv IDG Books Worldwide, Inc. An International Data Group Company San Mateo, California • Indianapolis, Indiana • Boston, Massachusetts The UNIX-HATERS Handbook Published by IDG Books Worldwide, Inc. An International Data Group Company 155 Bovet Road, Suite 310 San Mateo, CA 94402 Copyright 1994 by IDG Books Worldwide. All rights reserved. No part of this book (including interior design, cover design, and illustrations) may be reproduced or transmitted in any form, by any means, (electronic, photocopying, recording, or otherwise) without the prior written permission of the publisher. ISBN 1-56884-203-1 Printed in the United States of America First Printing, May, 1994 10 9 8 7 6 5 4 3 2 1 Distributed in the United States by IDG Books Worldwide, Inc. Distributed in Canada by Macmillan of Canada, a Division of Canada Publishing Corporation; by Computer and Technical Books in Miami, Florida, for South America and the Caribbean; by Longman Singapore in Singapore, Malaysia, Thailand, and Korea; by Toppan Co. Ltd. in Japan; by Asia Computerworld in Hong Kong; by Woodslane Pty. Ltd. in Australia and New Zealand; and by Transword Publishers Ltd. in the U.K. and Europe. For information on where to purchase IDG’s books outside the U.S., contact Christina Turner at 415-312-0633. For information on translations, contact Marc Jeffrey Mikulich, Foreign Rights Manager, at IDG Books Worldwide; FAX number: 415-358-1260.
    [Show full text]
  • The Regina Rexx Interpreter
    The Regina Rexx Interpreter Version 3.9.3 Mark Hessling <[email protected]> Florian Große-Coosmann <[email protected]> 5 October, 2019 Original Author: Anders Christensen <[email protected]> Regina Home Page at: http://regina-rexx.sourceforge.net 1 Copyright © 1992-1998 Anders Christensen Copyright © 1998-2019 Mark Hessling Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". 2 Table of Contents 1 Introduction to Regina..................................................................................................................11 1.1 Purpose of this document......................................................................................................11 1.2 Implementation.....................................................................................................................11 1.3 Ports of Regina......................................................................................................................12 1.4 Executing Rexx programs with Regina................................................................................12 1.4.1 Switches........................................................................................................................13 1.4.2 External
    [Show full text]
  • Introducing Regina, the 3-Manifold Topology Software
    Introducing Regina, the 3-manifold topology software Benjamin A. Burton Author’s self-archived version Available from http://www.maths.uq.edu.au/~bab/papers/ Abstract An overview is presented of Regina, a freely available software package for 3-manifold topologists. In addition to working with 3-manifold triangulations, Regina includes support for normal surfaces and angle structures. The features of the software are described in detail, followed by examples of research projects in which Regina has been used. 1 Introduction Experimental work in the study of 3-manifold topology has been a historically challenging task. Topological calculations for even simple 3-manifold triangulations are often remarkably difficult to perform by hand. Furthermore, triangulations and 3-manifolds are difficult to represent and manipulate using standard programming languages. Because of this, relatively little software has been available until recently to assist with these calculations. One prominent exception is SnapPea [Weeks 91], under development for over a decade, which provides excellent support for the study of hyperbolic 3-manifolds. More recently a number of other tools have become available, many of which are listed at the computational topology website http://www.computop.org/. Regina is a software package that unites a number of standard 3-manifold topology algo- rithms and procedures within a friendly user interface, as well as adding previously unavailable features to the current body of experimental tools. Under development since 1999, its growth has to a large extent been guided by its use in a variety of research projects, some of which are noted in Section 3. Algorithms that are implemented include triangulation simplification, normal surface enumeration, angle structure analysis and the calculation of algebraic and combinatorial invariants.
    [Show full text]
  • Python: a Critical Analysis of Programing Languages For
    Sci.Int.(Lahore),30(2),327-331, 2018 ISSN 1013-5316;CODEN: SINTE 8 327 PYTHON: A CRITICAL ANALYSIS OF PROGRAMING LANGUAGES FOR NOVICES 1 Rijja Hussain Bukhari, 2Aaliya Sarfaraz, 3Ahmed Khan 1Department of Bio Sciences, 2, 3 Department of Computer Sciences 1,2,3 COMSATS Institute of Information Technology (Main), Islamabad, Pakistan. [email protected], {2aaliya.sarfaraz, 3ahmed.khan }@comsats.edu.pk Corresponding Author Email: [email protected] ABSTRACT: The programming languages are developing science they were developed. The rapid changing trends in the use of new programming languages in industry is not maintained in academia where a beginner listen in programming is always from C and Java although students must learn advanced languages before entering industry, which bring us to concerned that it is one the major reasons that student are intimidated by coding. There are several researchers that have compare the programming language using different standards and requirement for better programming language but most of them have agreed that C and Java have complex syntax whereas Python has simpler syntax that make it easy and fast to learn. Keywords Python, programming languages, comparison for programming languages, Java and python, python standard libraries. INTRODUCTION C++, Java, Perl, Python, Tcl and Rexx. Perchelt starts his The programming languages have many definitions one of study by implementation of the same program in all the them describe the programming language as a collection of languages and then Perchelt analyzed different variables and data structure which have a follow of implementation by the different programmers. This removes execution [11]. C is one the early programming language the biased due the implementation by the single programmer that was developed by scientist C is a procedural and allow the comparison of variability of different program programming language that require low memory and less properties each langue produce.
    [Show full text]