PHCpack, phcpy, and Sphinx
|
|
- Egbert Barton
- 5 years ago
- Views:
Transcription
1 PHCpack, phcpy, and Sphinx 1 the software PHCpack a package for Polynomial Homotopy Continuation polyhedral homotopies the Python interface phcpy 2 Documenting Software with Sphinx Sphinx generates documentation generating documentation for phcpy 3 Interface Design PHCpack as a state machine MCS 507 Lecture 40 Mathematical, Statistical and Scientific Software Jan Verschelde, 30 November 2012 Scientific Software (MCS 507) PHCpack, phcpy, and Sphinx 30 November / 30
2 PHCpack, phcpy, and Sphinx 1 the software PHCpack a package for Polynomial Homotopy Continuation polyhedral homotopies the Python interface phcpy 2 Documenting Software with Sphinx Sphinx generates documentation generating documentation for phcpy 3 Interface Design PHCpack as a state machine Scientific Software (MCS 507) PHCpack, phcpy, and Sphinx 30 November / 30
3 PHCpack PHCpack is a software package to solve polynomial systems with polyhedral and numerical methods. PHCpack consists of 1 open source code in Ada with interfaces to C and Python, compiles with gcc, available as a software package; 2 an executable program phc for various platforms with interfaces for Maple, MATLAB (Octave), Macaulay 2, and Sage (PHCpack is one of the optional packages). ACM TOMS archived version 1.0 of PHCpack as Algorithm 795. The current version is , available at: jan/download.html Scientific Software (MCS 507) PHCpack, phcpy, and Sphinx 30 November / 30
4 symbolic-numeric view on polynomial homotopies Our goal is to solve a polynomial system f(x) = 0. A polynomial homotopy continuation method consists in two parts: 1 definition of a family of systems, a homotopy, e.g.: h(x, t) = (1 t) g(x) + t f(x) = 0, t [0, 1], where g(x) = 0 is a generic system with known solutions; 2 path tracking or continuation methods using predictor-corrector to approximate solution paths x(t) defined by h(x(t), t) = 0. A homotopy is optimal if no paths diverge. We have optimal homotopies for several classes of systems, e.g.: polyhedral homotopies for sparse systems with fixed supports. Scientific Software (MCS 507) PHCpack, phcpy, and Sphinx 30 November / 30
5 software integrated in PHCpack To compute mixed volumes fast: T. Gao, T.Y. Li, and M. Wu: Algorithm 846: MixedVol: A software package for mixed volume computation. ACM Trans. Math. Softw. 31(4): , For fast extended multiprecision arithmetic: Y. Hida, X.S. Li, and D.H. Bailey: Algorithms for quad-double precision floating point arithmetic. In 15th IEEE Symposium on Computer Arithmetic pages IEEE, Software at dhbailey/mpdist/qd tar.gz. Scientific Software (MCS 507) PHCpack, phcpy, and Sphinx 30 November / 30
6 PHCpack, phcpy, and Sphinx 1 the software PHCpack a package for Polynomial Homotopy Continuation polyhedral homotopies the Python interface phcpy 2 Documenting Software with Sphinx Sphinx generates documentation generating documentation for phcpy 3 Interface Design PHCpack as a state machine Scientific Software (MCS 507) PHCpack, phcpy, and Sphinx 30 November / 30
7 Newton polytopes The support A of a polynomial f is a finite set of exponent vectors which models the sparse structure of f : f(x) = a A c a x a, c a C, x a = x a 1 1 x a 2 2 x an n. The convex hull of A is the Newton polytope of f, denoted by Q = conv(a). Mostly we work in the plane (n = 2) and stick to polygons. Today we consider systems f(x) = 0 where the equations all share the same support A, or the same Newton polytope Q. For generic choices of the coefficients, the monomials whose exponent vector is not a vertex do not have an influence on the volume of Q and may be omitted. Scientific Software (MCS 507) PHCpack, phcpy, and Sphinx 30 November / 30
8 regular triangulations With a triangulation, we compute the volume: vol(q) = S vol(s) S = conv(c), #C = n + 1. The cells C in a triangulation span simplices S. For Newton polytopes, the unit simplex has volume 1. Our triangulations are induced by a lifting function ω: ω : Z n Z : a ω(a), which embeds the support A into Z n+1, Â = ω(a). Accordingly: Q = conv(â). A triangulation is regular if there is a lifting function so there is a 1-to-1 mapping of the facets of the lower hull of the lifted point configuration and the simplices in the triangulation. Scientific Software (MCS 507) PHCpack, phcpy, and Sphinx 30 November / 30
9 polyhedral homotopy To construct the homotopy that starts at system supported at the other cell of the triangulation, we look at the inner normal of the lifted cell, i.e.: v = ( 1, 1,+1). This inner normal defines the change of coordinates x 1 = y 1 t 1 and x 2 = y 2 t 1. After multiplication by t, this change of coordinates yields { c1,11 y ĝ(y, t) = 1 y 2 t 0 + c 1,10 y 1 t 0 + c 1,01 y 2 t 0 + c 1,00 t 1 = 0 c 2,11 y 1 y 2 t 0 + c 2,10 y 1 t 0 + c 2,01 y 2 t 0 + c 2,00 t 1 = 0. At ĝ(y, t = 0) = 0 there is another solution which contributes one path. Scientific Software (MCS 507) PHCpack, phcpy, and Sphinx 30 November / 30
10 Kushnirenko s theorem Theorem (Kushnirenko (1976)) Consider the system f(x) = 0 and let A be the support of every polynomial in f. Then the number of isolated solutions of f(x) = 0 in (C ) n cannot exceed the volume of the polytope spanned by A. Polyhedral homotopies provide a constructive proof: 1 Any regular triangulation defines a polyhedral homotopy with exactly as many paths as the volume. 2 There are no more solutions than the volume of the Newton polytope, following a refined concept of. Kushnirenko s theorem was generalized by Bernshteǐn who showed that the mixed volume of Newton polytopes of the system provide a generically share upper bound for the isolated solutions. Scientific Software (MCS 507) PHCpack, phcpy, and Sphinx 30 November / 30
11 PHCpack, phcpy, and Sphinx 1 the software PHCpack a package for Polynomial Homotopy Continuation polyhedral homotopies the Python interface phcpy 2 Documenting Software with Sphinx Sphinx generates documentation generating documentation for phcpy 3 Interface Design PHCpack as a state machine Scientific Software (MCS 507) PHCpack, phcpy, and Sphinx 30 November / 30
12 a session with phcpy >>> import phcpy >>> p = [ x*y + 2*x - 3;, x**2 + y; ] >>> phcpy.mixed_volume(p) 3 >>> s = phcpy.solve(p) ROOT COUNTS : total degree : 4 2-homogeneous Bezout number : 3 with partition : {x }{y } general linear-product Bezout number : 3 based on the set structure : { x }{ y } { x y }{ x } mixed volume : 3 stable mixed volume : 3 Scientific Software (MCS 507) PHCpack, phcpy, and Sphinx 30 November / 30
13 the solutions >>> print s[0] t : E E+00 m : 1 the solution for t : x : E E-01 y : E E+00 == err : 4.154E-16 = rco : 1.496E-01 = res : 1.665E-16 = >>> print s[1] t : E E+00 m : 1 the solution for t : x : E E-122 y : E E+00 == err : 2.428E-16 = rco : 2.059E-01 = res : 2.220E-16 = >>> print s[2] s[2] is the complex conjugate of s[1]. Scientific Software (MCS 507) PHCpack, phcpy, and Sphinx 30 November / 30
14 representations of polynomials and solutions Polynomials are mapped to file similar to plain string conversion in computer algebra and can be parsed in a direct manner. Symbols not to use as variable names: i, I, e, E. A solution is represented by 1 a value for the continuation parameter t; 2 a multiplicity flag; 3 real and imaginary parts as values for the variables; 4 three numerical attributes for an approximate zero z: 1 err z, or estimate for forward error; 2 rco: estimate for the inverse of the condition number; 3 res: f(z), or estimate for backward error. Newton s method with extended precision refines a regular solution. Scientific Software (MCS 507) PHCpack, phcpy, and Sphinx 30 November / 30
15 PHCpack, phcpy, and Sphinx 1 the software PHCpack a package for Polynomial Homotopy Continuation polyhedral homotopies the Python interface phcpy 2 Documenting Software with Sphinx Sphinx generates documentation generating documentation for phcpy 3 Interface Design PHCpack as a state machine Scientific Software (MCS 507) PHCpack, phcpy, and Sphinx 30 November / 30
16 Sphinx generates documentation What is Sphinx? From Sphinx is a tool that makes it easy to create intelligent and beautiful documentation, written by Georg Brandl and licensed under the BSD license. It was originally created for the new Python documentation, and it has excellent facilities for the documentation of Python projects, but C/C++ is already supported as well, and it is planned to add special support for other languages as well. Sphinx uses restructuredtext as its markup language, and many of its strengths come from the power and straightforwardness of restructuredtext and its parsing and translating suite, the Docutils. The same documentation is generated in several formats, including latex, pdf, html. Why Sphinx? Used for the python language, numpy, sympy, matplotlib. Scientific Software (MCS 507) PHCpack, phcpy, and Sphinx 30 November / 30
17 step-by-step documentation generation Given Python code with documentation strings, generate documentation with Sphinx. There are a few steps to take: 1 Make a new directory doc and do "cd doc". 2 Run sphinx-quickstart in the doc directory. Following default options, doc contains a "Makefile" and two directories: "build" and "source". 3 Edit conf.py in source as follows: sys.path.insert(0, os.path.abspath( <path> )) where <path> is the directory where our Python code is. 4 Edit index.rst with ".. automodule::" lines. 5 Type "make latexpdf" or "make html" to generate. Scientific Software (MCS 507) PHCpack, phcpy, and Sphinx 30 November / 30
18 PHCpack, phcpy, and Sphinx 1 the software PHCpack a package for Polynomial Homotopy Continuation polyhedral homotopies the Python interface phcpy 2 Documenting Software with Sphinx Sphinx generates documentation generating documentation for phcpy 3 Interface Design PHCpack as a state machine Scientific Software (MCS 507) PHCpack, phcpy, and Sphinx 30 November / 30
19 running sphinx-quickstart The doc directory is in PHCv2/Python. Running sphinx-quickstart, some items: The root path is the current directory [.] if we run sphinx-quickstart in the doc directory. We want separate source and build directories. We can enter project name, author, version, and release numbers. Source files have suffix.rst. The master document is "index". We answer y to "autodoc" because we want automatically insert docstrings from modules. We answer y to "viewcode" to include links to the source code of documented Python objects. We also answer y to "Create Makefile?" Scientific Software (MCS 507) PHCpack, phcpy, and Sphinx 30 November / 30
20 editing conf.py The source directory contains a file "conf.py" which we have to edit. On Mac OS X: sys.path.insert(0, \ os.path.abspath( /Users/jan/PHCv2/Python )) On Linux: sys.path.insert(0, \ os.path.abspath( /home/jan/phcv2/python )) Scientific Software (MCS 507) PHCpack, phcpy, and Sphinx 30 November / 30
21 editing index.rst Downloading PHCpack The source for PHCpack can be downloaded from < The Python interface phcpy to PHCpack is a programmer s interface. You will need to compile the source code of PHCpack with the GNU Ada compiler, available at < Scientific Software (MCS 507) PHCpack, phcpy, and Sphinx 30 November / 30
22 use of automodule in index.rst the functions of phcpy The module phcpy depends on the shared object file phcpy2c.so. It exports the blackbox solver of PHCpack, a fast mixed volume calculator, and a path tracker. The test function of the module generates two trinomials (a polynomial with three monomials) with randomly generated complex coefficients... automodule:: phcpy :members: Scientific Software (MCS 507) PHCpack, phcpy, and Sphinx 30 November / 30
23 documenting examples some important examples PHCpack has been tested on many examples of polynomial systems taken from the research literature. The module examples exports some of those examples... automodule:: examples :members: Scientific Software (MCS 507) PHCpack, phcpy, and Sphinx 30 November / 30
24 documenting phcwulf the module phcwulf The file phcwulf defines a simple client/server interaction to solve many random trinomials... automodule:: phcwulf :members: Scientific Software (MCS 507) PHCpack, phcpy, and Sphinx 30 November / 30
25 documenting phcsols the module phcsols Solutions of phcpy.solve are returned as lists of PHCpack solution strings. The phcsols module contains functions to parse a PHCpack solution string into a dictionary... automodule:: phcsols :members: Scientific Software (MCS 507) PHCpack, phcpy, and Sphinx 30 November / 30
26 PHCpack, phcpy, and Sphinx 1 the software PHCpack a package for Polynomial Homotopy Continuation polyhedral homotopies the Python interface phcpy 2 Documenting Software with Sphinx Sphinx generates documentation generating documentation for phcpy 3 Interface Design PHCpack as a state machine Scientific Software (MCS 507) PHCpack, phcpy, and Sphinx 30 November / 30
27 PHCpack as a state machine phcpy is build on top of the C interface to PHCpack. The C interface was developed for the parallel versions of the path trackers in PHCpack. The main program, written in C, does the scheduling of the path tracking jobs, using the Message Passing Interface (MPI). Every job makes calls to the path trackers of PHCpack, the code written in Ada. The C interface should remain light, without having to duplicate the data structures for polynomials and solutions. Idea: we can build up a polynomial adding one term at a time, with calls to an interface routine. Scientific Software (MCS 507) PHCpack, phcpy, and Sphinx 30 November / 30
28 code of phcpy.solve def solve(l): """ Calls the blackbox solver of PHCpack. On input in L is a list of strings. """ py2c_syscon_clear_system() py2c_solcon_clear_solutions() n = len(l) m = py2c_syscon_initialize_number(n) for i in range(0,n): p = L[i] nc = len(p) py2c_syscon_store_polynomial(nc,n,i+1,p) Scientific Software (MCS 507) PHCpack, phcpy, and Sphinx 30 November / 30
29 code of phcpy.solve continued rc = py2c_solve_system() ns = py2c_solcon_number_of_solutions() R = [] for k in range(1,ns+1): lns = py2c_solcon_length_solution_string(k) sol = py2c_solcon_write_solution_string(k,lns) R.append(sol) return R Advantage: the Python code deals only with strings. Scientific Software (MCS 507) PHCpack, phcpy, and Sphinx 30 November / 30
30 Summary and Exercises We do not release source code without documentation. Sphinx generates documention automatically. Try to use Sphinx in your final project! Last Homework due Wednesday 5 December, at 10AM: exercise 3 of lecture 27; exercise 2 of lecture 28; exercise 2 of lecture 29; exercise 1 of lecture 30; and exercise 2 of lecture 31. Scientific Software (MCS 507) PHCpack, phcpy, and Sphinx 30 November / 30
Packaging Python code and Sphinx
Packaging Python code and Sphinx 1 Python packages extending Python with your own package making ourfirstpackage 2 the software PHCpack a package for Polynomial Homotopy Continuation polyhedral homotopies
More informationphcpy: an API for PHCpack
phcpy: an API for PHCpack Jan Verschelde University of Illinois at Chicago Department of Mathematics, Statistics, and Computer Science http://www.math.uic.edu/ jan jan@math.uic.edu Graduate Computational
More informationturning expressions into functions symbolic substitution, series, and lambdify
Defining Functions 1 Lambda Functions turning expressions into functions symbolic substitution, series, and lambdify 2 Functions and Modules writing a function definition defining and using modules where
More informationSolving Polynomial Systems with PHCpack and phcpy
Solving Polynomial Systems with PHCpack and phcpy Jan Verschelde University of Illinois at Chicago Department of Mathematics, Statistics, and Computer Science http://www.math.uic.edu/ jan jan@math.uic.edu
More informationPolynomial Homotopy Continuation on Graphics Processing Units
Polynomial Homotopy Continuation on Graphics Processing Units Jan Verschelde joint work with Xiangcheng Yu University of Illinois at Chicago Department of Mathematics, Statistics, and Computer Science
More informationsolving polynomial systems in the cloud with phc
solving polynomial systems in the cloud with phc Jan Verschelde University of Illinois at Chicago Department of Mathematics, Statistics, and Computer Science http://www.math.uic.edu/ jan jan@math.uic.edu
More informationGift Wrapping for Pretropisms
Gift Wrapping for Pretropisms Jan Verschelde University of Illinois at Chicago Department of Mathematics, Statistics, and Computer Science http://www.math.uic.edu/ jan jan@math.uic.edu Graduate Computational
More informationAccelerating Polynomial Homotopy Continuation on a Graphics Processing Unit with Double Double and Quad Double Arithmetic
Accelerating Polynomial Homotopy Continuation on a Graphics Processing Unit with Double Double and Quad Double Arithmetic Jan Verschelde joint work with Xiangcheng Yu University of Illinois at Chicago
More informationPolyhedral Homotopies
Polyhedral Homotopies Polyhedral homotopies provide proof that mixed volumes count the roots of random coefficient polynomial systems. Mixed-cell configurations store the supports of all start systems
More informationThe Gift Wrapping Method in PHCpack
The Gift Wrapping Method in PHCpack Jan Verschelde University of Illinois at Chicago Department of Mathematics, Statistics, and Computer Science http://www.math.uic.edu/ jan jan@math.uic.edu Graduate Computational
More informationComputing all Space Curve Solutions of Polynomial Systems by Polyhedral Methods
Computing all Space Curve Solutions of Polynomial Systems by Polyhedral Methods Nathan Bliss Jan Verschelde University of Illinois at Chicago Department of Mathematics, Statistics, and Computer Science
More informationRoot Finding Methods. sympy and Sage. MCS 507 Lecture 13 Mathematical, Statistical and Scientific Software Jan Verschelde, 21 September 2011
wrap Root Finding Methods 1 2 wrap MCS 507 Lecture 13 Mathematical, Statistical and Scientific Software Jan Verschelde, 21 September 2011 Root Finding Methods 1 wrap 2 wrap wrap octave-3.4.0:1> p = [1,0,2,-1]
More informationLECTURE 26. Documenting Python
LECTURE 26 Documenting Python DOCUMENTATION Being able to properly document code, especially large projects with multiple contributors, is incredibly important. Code that is poorly-documented is sooner
More informationHow to Contribute to a Sphinx Doc Documentation
How to Contribute to a Sphinx Doc Documentation Release 1.0 Haoxi Zhan December 18, 2013 Contents 1 Install Sphinx 3 1.1 Linux................................................... 3 1.2 Mac OS X................................................
More informationTropical Implicitization
Tropical Implicitization Jan Verschelde University of Illinois at Chicago Department of Mathematics Statistics and Computer Science http://www.math.uic.edu/ jan jan@math.uic.edu Graduate Computational
More informationOn Massively Parallel Algorithms to Track One Path of a Polynomial Homotopy
On Massively Parallel Algorithms to Track One Path of a Polynomial Homotopy Jan Verschelde joint with Genady Yoffe and Xiangcheng Yu University of Illinois at Chicago Department of Mathematics, Statistics,
More informationExact Gift Wrapping to Prune the Tree of Edges of Newton Polytopes to Compute Pretropisms
Exact Gift Wrapping to Prune the Tree of Edges of Newton Polytopes to Compute Pretropisms Jeff Sommars Jan Verschelde University of Illinois at Chicago Department of Mathematics, Statistics, and Computer
More informationInterval Arithmetic. MCS 507 Lecture 29 Mathematical, Statistical and Scientific Software Jan Verschelde, 28 October 2011
Naive Arithmetic 1 2 Naive 3 MCS 507 Lecture 29 Mathematical, Statistical and Scientific Software Jan Verschelde, 28 October 2011 Naive Arithmetic 1 2 Naive 3 an expression Naive Problem: Evaluate f(x,
More informationphcpy Documentation Release Jan Verschelde
phcpy Documentation Release 0.8.7 Jan Verschelde Sep 27, 2018 Contents 1 Getting Started 1 1.1 what is phcpy?.............................................. 1 1.2 installing phcpy.............................................
More informationFloating-Point Arithmetic
Floating-Point Arithmetic 1 Numerical Analysis a definition sources of error 2 Floating-Point Numbers floating-point representation of a real number machine precision 3 Floating-Point Arithmetic adding
More informationdocs-python2readthedocs Documentation
docs-python2readthedocs Documentation Release 0.1.0 Matthew John Hayes Dec 01, 2017 Contents 1 Introduction 3 2 Install Sphinx 5 2.1 Pre-Work................................................. 5 2.2 Sphinx
More informationA NEW VIEW ON THE CAYLEY TRICK
A NEW VIEW ON THE CAYLEY TRICK KONRAD-ZUSE-ZENTRUM FÜR INFORMATIONSTECHNIK (ZIB) TAKUSTR. 7 D-14195 BERLIN GERMANY email: rambau@zib.de joint work with: BIRKETT HUBER, FRANCISCO SANTOS, Mathematical Sciences
More informationModule 7 Highlights. Mastered Reviewed. Sections ,
Sections 5.3 5.6, 6.1 6.6 Module 7 Highlights Andrea Hendricks Math 0098 Pre-college Algebra Topics Degree & leading coeff. of a univariate polynomial (5.3, Obj. 1) Simplifying a sum/diff. of two univariate
More informationMonotone Paths in Geometric Triangulations
Monotone Paths in Geometric Triangulations Adrian Dumitrescu Ritankar Mandal Csaba D. Tóth November 19, 2017 Abstract (I) We prove that the (maximum) number of monotone paths in a geometric triangulation
More informationMATH 890 HOMEWORK 2 DAVID MEREDITH
MATH 890 HOMEWORK 2 DAVID MEREDITH (1) Suppose P and Q are polyhedra. Then P Q is a polyhedron. Moreover if P and Q are polytopes then P Q is a polytope. The facets of P Q are either F Q where F is a facet
More informationAMS209 Final Project: Linear Equations System Solver
AMS209 Final Project: Linear Equations System Solver Rene Gutierrez Marquez 1 UCSC 1 December 7, 2016 Abstract In this project an implementation of a solver of a system of linear equations is implemented.
More informationoperator overloading algorithmic differentiation the class DifferentialNumber operator overloading
operator overloading 1 Computing with Differential Numbers algorithmic differentiation the class DifferentialNumber operator overloading 2 Computing with Double Doubles the class DoubleDouble defining
More informationAlgebraic Methods for Counting Euclidean Embeddings of Rigid Graphs
Algebraic Methods for Counting Euclidean Embeddings of Rigid Graphs Ioannis Z. Emiris 1, Elias P. Tsigaridas 2, and Antonios E. Varvitsiotis 3 1 University of Athens, Athens, Greece 2 INRIA Méditerranée,
More informationWeb Interfaces. the web server Apache processing forms with Python scripts Python code to write HTML
Web Interfaces 1 Python Scripts in Browsers the web server Apache processing forms with Python scripts Python code to write HTML 2 Web Interfaces for the Determinant dynamic interactive forms passing data
More informationDirected acyclic decomposition of Kuramoto equations
Directed acyclic decomposition of Kuramoto equations Tianran Chen Abstract. The Kuramoto model is one of the most widely studied model for describing synchronization behaviors in a network of coupled oscillators,
More informationh-polynomials of triangulations of flow polytopes (Cornell University)
h-polynomials of triangulations of flow polytopes Karola Mészáros (Cornell University) h-polynomials of triangulations of flow polytopes (and of reduction trees) Karola Mészáros (Cornell University) Plan
More informationNumerical Integration
Numerical Integration 1 Functions using Functions functions as arguments of other functions the one-line if-else statement functions returning multiple values 2 Constructing Integration Rules with sympy
More informationCOMBINATORIAL COMMUTATIVE ALGEBRA. Fatemeh Mohammadi (University of Bristol)
COMBINATORIAL COMMUTATIVE ALGEBRA Fatemeh Mohammadi (University of Bristol) Abstract. In this lecture we focus on the ideals associated to graphs. We see many interesting examples in which the Betti numbers
More informationGeometric Algorithms in Three Dimensions Tutorial. FSP Seminar, Strobl,
Geometric Algorithms in Three Dimensions Tutorial FSP Seminar, Strobl, 22.06.2006 Why Algorithms in Three and Higher Dimensions Which algorithms (convex hulls, triangulations etc.) can be generalized to
More informationConvex Geometry arising in Optimization
Convex Geometry arising in Optimization Jesús A. De Loera University of California, Davis Berlin Mathematical School Summer 2015 WHAT IS THIS COURSE ABOUT? Combinatorial Convexity and Optimization PLAN
More informationTriangulations Of Point Sets
Triangulations Of Point Sets Applications, Structures, Algorithms. Jesús A. De Loera Jörg Rambau Francisco Santos MSRI Summer school July 21 31, 2003 (Book under construction) Triangulations Of Point Sets
More information1. How many white tiles will be in Design 5 of the pattern? Explain your reasoning.
Algebra 2 Semester 1 Review Answer the question for each pattern. 1. How many white tiles will be in Design 5 of the pattern Explain your reasoning. 2. What is another way to represent the expression 3.
More informationNewton Polygons of L-Functions
Newton Polygons of L-Functions Phong Le Department of Mathematics University of California, Irvine June 2009/Ph.D. Defense Phong Le Newton Polygons of L-Functions 1/33 Laurent Polynomials Let q = p a where
More informationbe a polytope. has such a representation iff it contains the origin in its interior. For a generic, sort the inequalities so that
( Shelling (Bruggesser-Mani 1971) and Ranking Let be a polytope. has such a representation iff it contains the origin in its interior. For a generic, sort the inequalities so that. a ranking of vertices
More informationMAT128A: Numerical Analysis Lecture One: Course Logistics and What is Numerical Analysis?
MAT128A: Numerical Analysis Lecture One: Course Logistics and What is Numerical Analysis? September 26, 2018 Lecture 1 September 26, 2018 1 / 19 Course Logistics My contact information: James Bremer Email:
More informationRunning Cython. overview hello world with Cython. experimental setup adding type declarations cdef functions & calling external functions
Running Cython 1 Getting Started with Cython overview hello world with Cython 2 Numerical Integration experimental setup adding type declarations cdef functions & calling external functions 3 Using Cython
More informationConvex Hulls in Three Dimensions. Polyhedra
Convex Hulls in Three Dimensions Polyhedra Polyhedron 1.A polyhedron is the generalization of a 2- D polygon to 3-D A finite number of flat polygonal faces The boundary or surface of a polyhedron - Zero-dimensional
More informationInstitutionen för matematik, KTH.
Institutionen för matematik, KTH. Chapter 10 projective toric varieties and polytopes: definitions 10.1 Introduction Tori varieties are algebraic varieties related to the study of sparse polynomials.
More informationLists and Loops. defining lists lists as queues and stacks inserting and removing membership and ordering lists
Lists and Loops 1 Lists in Python defining lists lists as queues and stacks inserting and removing membership and ordering lists 2 Loops in Python for and while loops the composite trapezoidal rule MCS
More informationChapter 8. Voronoi Diagrams. 8.1 Post Oce Problem
Chapter 8 Voronoi Diagrams 8.1 Post Oce Problem Suppose there are n post oces p 1,... p n in a city. Someone who is located at a position q within the city would like to know which post oce is closest
More informationDefining Functions. turning expressions into functions. writing a function definition defining and using modules
Defining Functions 1 Lambda Functions turning expressions into functions 2 Functions and Modules writing a function definition defining and using modules 3 Computing Series Developments exploring an example
More informationCS599: Convex and Combinatorial Optimization Fall 2013 Lecture 4: Convex Sets. Instructor: Shaddin Dughmi
CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 4: Convex Sets Instructor: Shaddin Dughmi Announcements New room: KAP 158 Today: Convex Sets Mostly from Boyd and Vandenberghe. Read all of
More informationSphinxTutorial Documentation
SphinxTutorial Documentation Release 1.0 Anthony Scemama April 12, 2013 CONTENTS 1 Introduction 3 2 Creating a new Sphinx project 5 3 restructuredtext 9 3.1 Sections..................................................
More informationAmphitheater School District End Of Year Algebra II Performance Assessment Review
Amphitheater School District End Of Year Algebra II Performance Assessment Review This packet is intended to support student preparation and review for the Algebra II course concepts for the district common
More informationThe important function we will work with is the omega map ω, which we now describe.
20 MARGARET A. READDY 3. Lecture III: Hyperplane arrangements & zonotopes; Inequalities: a first look 3.1. Zonotopes. Recall that a zonotope Z can be described as the Minkowski sum of line segments: Z
More informationFACES OF CONVEX SETS
FACES OF CONVEX SETS VERA ROSHCHINA Abstract. We remind the basic definitions of faces of convex sets and their basic properties. For more details see the classic references [1, 2] and [4] for polytopes.
More informationLecture 12 March 4th
Math 239: Discrete Mathematics for the Life Sciences Spring 2008 Lecture 12 March 4th Lecturer: Lior Pachter Scribe/ Editor: Wenjing Zheng/ Shaowei Lin 12.1 Alignment Polytopes Recall that the alignment
More informationEffective Programming Practices for Economists. 13. Documenting (the code of) research projects
Effective Programming Practices for Economists 13. Documenting (the code of) research projects Hans-Martin von Gaudecker Department of Economics, Universität Bonn At the end of this lecture you are able
More informationLecture 2 - Introduction to Polytopes
Lecture 2 - Introduction to Polytopes Optimization and Approximation - ENS M1 Nicolas Bousquet 1 Reminder of Linear Algebra definitions Let x 1,..., x m be points in R n and λ 1,..., λ m be real numbers.
More informationAn Introduction to Open-Source Mathematics Software
1 An Introduction to Open-Source Mathematics Software (Specifically: GAP,, Macaulay2 and Sage) Jason B. Hill Slow Pitch Colloquium University of Colorado March 17, 2010 2 Outline 1 Introduction 2 GAP -
More informationWelcome to Bootcamp2015 s documentation!
Welcome to Bootcamp2015 s documentation! This website (or pdf) will be home to some resources that will be useful for boot campers and instructors. Lecture notes and assignments for the econ course associated
More informationOutline. software testing: search bugs black-box and white-box testing static and dynamic testing
Outline 1 Verification Techniques software testing: search bugs black-box and white-box testing static and dynamic testing 2 Programming by Contract assert statements in Python using preconditions and
More informationMath 414 Lecture 2 Everyone have a laptop?
Math 44 Lecture 2 Everyone have a laptop? THEOREM. Let v,...,v k be k vectors in an n-dimensional space and A = [v ;...; v k ] v,..., v k independent v,..., v k span the space v,..., v k a basis v,...,
More informationPolytopes With Large Signature
Polytopes With Large Signature Joint work with Michael Joswig Nikolaus Witte TU-Berlin / TU-Darmstadt witte@math.tu-berlin.de Algebraic and Geometric Combinatorics, Anogia 2005 Outline 1 Introduction Motivation
More informationPruning Algorithms for Pretropisms of Newton Polytopes
Pruning Algorithms for Pretropisms of Newton Polytopes Jeff Sommars Jan Verschelde University of Illinois at Chicago Department of Mathematics, Statistics, and Computer Science 851 S. Morgan Street (m/c
More informationToday s class. Roots of equation Finish up incremental search Open methods. Numerical Methods, Fall 2011 Lecture 5. Prof. Jinbo Bi CSE, UConn
Today s class Roots of equation Finish up incremental search Open methods 1 False Position Method Although the interval [a,b] where the root becomes iteratively closer with the false position method, unlike
More information60 2 Convex sets. {x a T x b} {x ã T x b}
60 2 Convex sets Exercises Definition of convexity 21 Let C R n be a convex set, with x 1,, x k C, and let θ 1,, θ k R satisfy θ i 0, θ 1 + + θ k = 1 Show that θ 1x 1 + + θ k x k C (The definition of convexity
More informationComputation of Voronoi Diagrams and Delaunay Triangulation via Parametric Linear Programming
Computation of Voronoi Diagrams and Delaunay Triangulation via Parametric Linear Programming Saša V. Raković, Pascal Grieder and Colin Jones September 14, 2004 Abstract This note illustrates how Voronoi
More informationFully discrete Finite Element Approximations of Semilinear Parabolic Equations in a Nonconvex Polygon
Fully discrete Finite Element Approximations of Semilinear Parabolic Equations in a Nonconvex Polygon Tamal Pramanick 1,a) 1 Department of Mathematics, Indian Institute of Technology Guwahati, Guwahati
More informationStable sets, corner polyhedra and the Chvátal closure
Stable sets, corner polyhedra and the Chvátal closure Manoel Campêlo Departamento de Estatística e Matemática Aplicada, Universidade Federal do Ceará, Brazil, mcampelo@lia.ufc.br. Gérard Cornuéjols Tepper
More informationThe Cantor Handbook. Alexander Rieder
Alexander Rieder 2 Contents 1 Introduction 5 2 Using Cantor 6 2.1 Cantor features....................................... 6 2.2 The Cantor backends.................................... 7 2.3 The Cantor Workspace...................................
More informationPOLYHEDRAL GEOMETRY. Convex functions and sets. Mathematical Programming Niels Lauritzen Recall that a subset C R n is convex if
POLYHEDRAL GEOMETRY Mathematical Programming Niels Lauritzen 7.9.2007 Convex functions and sets Recall that a subset C R n is convex if {λx + (1 λ)y 0 λ 1} C for every x, y C and 0 λ 1. A function f :
More informationScientific Computing: Lecture 1
Scientific Computing: Lecture 1 Introduction to course, syllabus, software Getting started Enthought Canopy, TextWrangler editor, python environment, ipython, unix shell Data structures in Python Integers,
More informationIn what follows, we will focus on Voronoi diagrams in Euclidean space. Later, we will generalize to other distance spaces.
Voronoi Diagrams 4 A city builds a set of post offices, and now needs to determine which houses will be served by which office. It would be wasteful for a postman to go out of their way to make a delivery
More informationarxiv: v1 [math.co] 27 Feb 2015
Mode Poset Probability Polytopes Guido Montúfar 1 and Johannes Rauh 2 arxiv:1503.00572v1 [math.co] 27 Feb 2015 1 Max Planck Institute for Mathematics in the Sciences, Inselstraße 22, 04103 Leipzig, Germany,
More informationReductions and Satisfiability
Reductions and Satisfiability 1 Polynomial-Time Reductions reformulating problems reformulating a problem in polynomial time independent set and vertex cover reducing vertex cover to set cover 2 The Satisfiability
More informationInteger Programming Theory
Integer Programming Theory Laura Galli October 24, 2016 In the following we assume all functions are linear, hence we often drop the term linear. In discrete optimization, we seek to find a solution x
More informationdifferentiation techniques
differentiation techniques 1 Callable Objects delayed execution of stored code 2 Numerical and Symbolic Differentiation numerical approximations for the derivative storing common code in a parent class
More informationLecture 12: Feasible direction methods
Lecture 12 Lecture 12: Feasible direction methods Kin Cheong Sou December 2, 2013 TMA947 Lecture 12 Lecture 12: Feasible direction methods 1 / 1 Feasible-direction methods, I Intro Consider the problem
More informationLists and Loops. browse Python docs and interactive help
Lists and Loops 1 Help in Python browse Python docs and interactive help 2 Lists in Python defining lists lists as queues and stacks inserting and removing membership and ordering lists 3 Loops in Python
More informationConvex Hull Representation Conversion (cddlib, lrslib)
Convex Hull Representation Conversion (cddlib, lrslib) Student Seminar in Combinatorics: Mathematical Software Niklas Pfister October 31, 2014 1 Introduction In this report we try to give a short overview
More informationAMath 483/583 Lecture 2. Notes: Notes: Homework #1. Class Virtual Machine. Notes: Outline:
AMath 483/583 Lecture 2 Outline: Binary storage, floating point numbers Version control main ideas Client-server version control, e.g., CVS, Subversion Distributed version control, e.g., git, Mercurial
More informationPOLYTOPES. Grünbaum and Shephard [40] remarked that there were three developments which foreshadowed the modern theory of convex polytopes.
POLYTOPES MARGARET A. READDY 1. Lecture I: Introduction to Polytopes and Face Enumeration Grünbaum and Shephard [40] remarked that there were three developments which foreshadowed the modern theory of
More informationAMath 483/583 Lecture 2
AMath 483/583 Lecture 2 Outline: Binary storage, floating point numbers Version control main ideas Client-server version control, e.g., CVS, Subversion Distributed version control, e.g., git, Mercurial
More information751 Problem Set I JWR. Due Sep 28, 2004
751 Problem Set I JWR Due Sep 28, 2004 Exercise 1. For any space X define an equivalence relation by x y iff here is a path γ : I X with γ(0) = x and γ(1) = y. The equivalence classes are called the path
More informationCombinatorial Geometry & Topology arising in Game Theory and Optimization
Combinatorial Geometry & Topology arising in Game Theory and Optimization Jesús A. De Loera University of California, Davis LAST EPISODE... We discuss the content of the course... Convex Sets A set is
More informationComputing Tropical Resultants. A. Jensen and J. Yu. REPORT No. 44, 2010/2011, spring ISSN X ISRN IML-R /11- -SE+spring
Computing Tropical Resultants A. Jensen and J. Yu REPORT No. 44, 2010/2011, spring ISSN 1103-467X ISRN IML-R- -44-10/11- -SE+spring COMPUTING TROPICAL RESULTANTS arxiv:1109.2368v2 [math.ag] 24 Mar 2013
More informationMechanism and Robot Kinematics, Part II: Numerical Algebraic Geometry
Mechanism and Robot Kinematics, Part II: Numerical Algebraic Geometry Charles Wampler General Motors R&D Center Including joint work with Andrew Sommese, University of Notre Dame Jan Verschelde, Univ.
More informationThe Bisection Method versus Newton s Method in Maple (Classic Version for Windows)
The Bisection Method versus (Classic Version for Windows) Author: Barbara Forrest Contact: baforres@uwaterloo.ca Copyrighted/NOT FOR RESALE version 1.1 Contents 1 Objectives for this Lab i 2 Approximate
More informationcallback, iterators, and generators
callback, iterators, and generators 1 Adding a Callback Function a function for Newton s method a function of the user to process results 2 A Newton Iterator defining a counter class refactoring the Newton
More informationDiscrete Mathematics SECOND EDITION OXFORD UNIVERSITY PRESS. Norman L. Biggs. Professor of Mathematics London School of Economics University of London
Discrete Mathematics SECOND EDITION Norman L. Biggs Professor of Mathematics London School of Economics University of London OXFORD UNIVERSITY PRESS Contents PART I FOUNDATIONS Statements and proofs. 1
More informationQuad Doubles on a GPU
Quad Doubles on a GPU 1 Floating-Point Arithmetic floating-point numbers quad double arithmetic quad doubles for use in CUDA programs 2 Quad Double Square Roots quad double arithmetic on a GPU a kernel
More information9 Bounds for the Knapsack Problem (March 6)
9 Bounds for the Knapsack Problem (March 6) In this lecture, I ll develop both upper and lower bounds in the linear decision tree model for the following version of the (NP-complete) Knapsack 1 problem:
More informationThe Associahedra and Permutohedra Yet Again
The Associahedra and Permutohedra Yet Again M. D. Sheppeard Abstract The associahedra and permutohedra polytopes are redefined as subsets of discrete simplices, associated respectively to the commutative
More informationToric Varieties and Lattice Polytopes
Toric Varieties and Lattice Polytopes Ursula Whitcher April 1, 006 1 Introduction We will show how to construct spaces called toric varieties from lattice polytopes. Toric fibrations correspond to slices
More informationLecture 18: Groupoids and spaces
Lecture 18: Groupoids and spaces The simplest algebraic invariant of a topological space T is the set π 0 T of path components. The next simplest invariant, which encodes more of the topology, is the fundamental
More informationExercise 1 - Linear Least Squares
Exercise 1 - Linear Least Squares Outline Course information Hints for Python, plotting, etc. Recap: Linear Least Squares Problem set: Q1-2D data Q2-3D data Q3 - pen and paper Course information Final
More informationOpen source software and Sage 1
Open source software and Sage 1 http://www.sagemath.org/ David Joyner Math Dept USNA, Annapolis, MD May, 2009 1 Presentation for NSF CDI workshop David Joyner Open source software and Sage http://www.sagemath.org/
More informationRecommonmark Documentation
Recommonmark Documentation Release 0.5.0 Lu Zero, Eric Holscher, and contributors Jan 22, 2019 Contents 1 Contents 3 2 Getting Started 11 3 Development 13 4 Why a bridge? 15 5 Why another bridge to docutils?
More informationThe Newton polytope of implicit curves. Ioannis Z. Emiris National University of Athens, Greece
The Newton polytope of implicit curves Ioannis Z. Emiris National University of Athens, Greece Joint work with: Christos Konaxis (Athens) and Leonidas Palios (Ioannina) Oberwolfach Nov 07 Outline 03. Toric
More informationCS675: Convex and Combinatorial Optimization Spring 2018 Convex Sets. Instructor: Shaddin Dughmi
CS675: Convex and Combinatorial Optimization Spring 2018 Convex Sets Instructor: Shaddin Dughmi Outline 1 Convex sets, Affine sets, and Cones 2 Examples of Convex Sets 3 Convexity-Preserving Operations
More informationLECTURE 9. Development Tools
LECTURE 9 Development Tools DEVELOPMENT TOOLS Since you are all still in the earlier stages of your semester-long projects, now is a good time to cover some useful modules and tools for managing larger
More informationLECTURE 9. Development Tools
LECTURE 9 Development Tools DEVELOPMENT TOOLS Since you are all still in the earlier stages of your semester-long projects, now is a good time to cover some useful modules and tools for managing larger
More information1. Lecture notes on bipartite matching February 4th,
1. Lecture notes on bipartite matching February 4th, 2015 6 1.1.1 Hall s Theorem Hall s theorem gives a necessary and sufficient condition for a bipartite graph to have a matching which saturates (or matches)
More informationAdvanced Operations Research Techniques IE316. Quiz 1 Review. Dr. Ted Ralphs
Advanced Operations Research Techniques IE316 Quiz 1 Review Dr. Ted Ralphs IE316 Quiz 1 Review 1 Reading for The Quiz Material covered in detail in lecture. 1.1, 1.4, 2.1-2.6, 3.1-3.3, 3.5 Background material
More information