Bertini: A software package for numerical algebraic geometry Developed by: Dan Bates Jon Hauenstein Andrew Sommese Charles Wampler.

Slides:



Advertisements
Similar presentations
Vectors 5: The Vector Equation of a Plane
Advertisements

Lect.3 Modeling in The Time Domain Basil Hamed
1 Using Octave to Introduce Programming to Technical Science Students Nuno C. Marques Francisco Azevedo CENTRIA, DI-
Tsung-Lin Lee Department of Mathematics Michigan State University Solving polynomial systems by homotopy continuation method.
Kinematic Synthesis of Robotic Manipulators from Task Descriptions June 2003 By: Tarek Sobh, Daniel Toundykov.
Data Mining Methodology 1. Why have a Methodology  Don’t want to learn things that aren’t true May not represent any underlying reality ○ Spurious correlation.
Links and Joints.
Manipulator’s Inverse kinematics
08/30/00 Dinesh Manocha, COMP258 Hermite Curves A mathematical representation as a link between the algebraic & geometric form Defined by specifying the.
Computational Methods in Physics PHYS 3437
EARS1160 – Numerical Methods notes by G. Houseman
Colloquium, School of Mathematcs University of Minnesota, October 5, 2006 Computing the Genus of a Curve Numerically Andrew Sommese University of Notre.
Lecture 17 Introduction to Eigenvalue Problems
Searching for the Minimal Bézout Number Lin Zhenjiang, Allen Dept. of CSE, CUHK 3-Oct-2005
© Janice Regan, CMPT 102, Sept CMPT 102 Introduction to Scientific Computer Programming The software development method algorithms.
10-Jun-15 Fibonacci Numbers A simple example of program design.
Computing the Rational Univariate Reduction by Sparse Resultants Koji Ouchi, John Keyser, J. Maurice Rojas Department of Computer Science, Mathematics.
Introduction to Gröbner Bases for Geometric Modeling Geometric & Solid Modeling 1989 Christoph M. Hoffmann.
Inverse Kinematics How do I put my hand here? IK: Choose these angles!
WSN Simulation Template for OMNeT++
Algebraic Geometry and Applications Seminar IMA, September 13, 2006 Solving Polynomial Systems by Homotopy Continuation Andrew Sommese University of Notre.
Satellite Conference on Algebraic Geometry Segovia, Spain, August 16, 2006 Numerical Algebraic Geometry Andrew Sommese University of Notre Dame.
1 CSC 1401 S1 Computer Programming I Hamid Harroud School of Science and Engineering, Akhawayn University
Determination of dimension of variety & some applications Author: Wenyuan Wu Supervisor: Greg Reid.
Komplexe Analysis, Oberwolfach, August 31, 2006 Exceptional Sets and Fiber Products Andrew Sommese University of Notre Dame Charles Wampler General Motors.
CS Subdivision I: The Univariate Setting Peter Schröder.
LINEAR EQUATION IN TWO VARIABLES. System of equations or simultaneous equations – System of equations or simultaneous equations – A pair of linear equations.
Introduction to the ACT MATH. Content Covered by the ACT Mathematics Test 3 sub-scores are based on 6 areas: pre-algebra, elementary algebra, intermediate.
Vectors and the Geometry of Space 9. Functions and Surfaces 9.6.
Python Programming, 2/e1 Python Programming: An Introduction to Computer Science Chapter 3 Computing with Numbers.
Metric Self Calibration From Screw-Transform Manifolds Russell Manning and Charles Dyer University of Wisconsin -- Madison.
Geometric Design of Mechanically Reachable Surfaces J. Michael McCarthy and HaiJun Su University of California, Irvine Mathematics Seminar California State.
1 Building and Maintaining Information Systems. 2 Opening Case: Yahoo! Store Allows small businesses to create their own online store – No programming.
1 Preliminaries Precalculus Review I Precalculus Review II
Preparing Data for Analysis and Analyzing Spatial Data/ Geoprocessing Class 11 GISG 110.
Solving Systems of Equations. Rule of Thumb: More equations than unknowns  system is unlikely to have a solution. Same number of equations as unknowns.
Chapter 9 CAD & Parameters
Advanced Algebra Notes
Programming Project (Last updated: August 31 st /2010) Updates: - All details of project given - Deadline: Part I: September 29 TH 2010 (in class) Part.
MTH 104 Calculus and Analytical Geometry Lecture No. 2.
Table of Contents Solving Linear Systems of Equations - Dependent Systems The goal in solving a linear system of equations is to find the values of the.
1.3 The Intersection Point of Lines System of Equation A system of two equations in two variables looks like: – Notice, these are both lines. Linear Systems.
Applications of Polyhedral Homotopy Continuation Methods to Topology. Takayuki Gunji (Tokyo Inst. of Tech.)
Lecture 23 The Spherical Bicycle II 1 The story so far: We found the constraint matrix and the null space matrix We “cheated” a little bit in assessing.
FoCM 2008, Hong Kong Regeneration: A New Algorithm in Numerical Algebraic Geometry Charles Wampler General Motors R&D Center (Adjunct, Univ. Notre Dame)
Getting Started with MATLAB 1. Fundamentals of MATLAB 2. Different Windows of MATLAB 1.
The Further Mathematics network
Dan Bates University of Notre Dame Charles Wampler GM Research & Development Bertini: A new software package for computations in numerical algebraic geometry.
THE LAPLACE TRANSFORM LEARNING GOALS Definition
Tuesday December 10, 2013 Bell Ringer: Solve the following equation: 4(a - 6) + 4 = 2a - 6.
CONFIDENTIAL1 Good Afternoon! Today we will be learning about Review of Expressions, Variables, equations & Functions Let’s warm up : 1) Simplify: 4 x.
Outline: Introduction Solvability Manipulator subspace when n<6
The Art of Programming. The process of breaking problems down into smaller, manageable parts By breaking the problem down, each part becomes more specific.
11/6/ :55 Graphics II Introduction to Parametric Curves and Surfaces Session 2.
The numerical computation of the multiplicity of a component of an algebraic set Dan Bates (IMA) Joint work with: Chris Peterson (Colorado State) Andrew.
Communicating Reasoning High School Claim 3 Smarter Balanced Sample Items Questions courtesy of the Smarter Balanced Assessment Consortium Item Specifications.
LESSON 14 – FUNDAMENTAL THEOREM of ALGEBRA PreCalculus - Santowski.
Copyright © 2015 The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Section 7.1 The Rectangular Coordinate System and Linear.
Section 7.1 The Rectangular Coordinate System and Linear Equations in Two Variables Math in Our World.
Victoria Ibarra Mat:  Generally, Computer hardware is divided into four main functional areas. These are:  Input devices Input devices  Output.
Workshop on Software for Algebraic Geometry October 23-27, 2006 What should a software package for Numerical Algebraic Geometry be? Charles Wampler General.
55:148 Digital Image Processing Chapter 11 3D Vision, Geometry
RoboVis Alistair Wick.
On the Size of Pairing-based Non-interactive Arguments
We propose a method which can be used to reduce high dimensional data sets into simplicial complexes with far fewer points which can capture topological.
Theory of Computation Turing Machines.
Arab Open University Faculty of Computer Studies Dr
University of Wisconsin - Madison
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
Chapter 4 . Trajectory planning and Inverse kinematics
Presentation transcript:

Bertini: A software package for numerical algebraic geometry Developed by: Dan Bates Jon Hauenstein Andrew Sommese Charles Wampler

About today’s talk Bertini Thanks to:

About today’s talk Bertini Thanks to: 1.the organizers

About today’s talk Bertini Thanks to: 1.the organizers 2.Zhonggang Zeng

About today’s talk Bertini Thanks to: 1.the organizers 2.Zhonggang Zeng 3.Greg Reid

Contents Bertini I. Basic facts II. Getting Bertini III. Running Bertini IV. A fun set of examples V. Coming attractions

I. Basic Facts Bertini Bertini is a software package for computing in numerical algebraic geometry.

I. Basic Facts Bertini Bertini is a software package for computing in numerical algebraic geometry. Numerical algebraic geometry provides algorithms for computing and manipulating geometric structures and quantities coming from algebraic equations (Greg’s talk).

I. Basic Facts Bertini Bertini is a software package for computing in numerical algebraic geometry. Numerical algebraic geometry provides algorithms for computing and manipulating geometric structures and quantities coming from algebraic equations (Greg’s talk). Bertini is not the first such software – PHC, PHoM, HomLab, HOM4PS, POLSYS, …

I. Basic Facts Bertini Bertini is a software package for computing in numerical algebraic geometry. Numerical algebraic geometry provides algorithms for computing and manipulating geometric structures and quantities coming from algebraic equations (Greg’s talk). Bertini is not the first such software – PHC, PHoM, HomLab, HOM4PS, POLSYS, … Bertini is the first with no “hom” and no “P”!

I. Basic Facts Bertini Bertini has been released! - beta version was released on Tuesday

I. Basic Facts Bertini Bertini has been released! - beta version was released on Tuesday - executables only

I. Basic Facts Bertini Bertini has been released! - beta version was released on Tuesday - executables only - available from all of our websites

I. Basic Facts Bertini Bertini has been released! - beta version was released on Tuesday - executables only - available from all of our websites - In case you have been following the development of Bertini, we have met our goal of releasing by December 1!

I. Basic Facts Bertini Zero-dimensional systems overview - May be specified over a product of complex spaces or a product of projective spaces - System may be nonsquare (unless >1 variable groups) - The user may provide the homotopy (with parameters) - Finds approximations of all isolated solutions - The user may choose to use higher than regular precision (fixed or adaptive) - Bertini determines the number of real, finite (if over complex space), and nonsingular solutions

I. Basic Facts Bertini Positive-dimensional systems overview - May be specified over a single complex or projective space - System may be nonsquare - Finds witness sets (via the cascade algorithm, junk removal, and pure-dimensional breakup) - Component sampling - Component membership testing - Not yet in multiple precision (but soon)

I. Basic Facts Bertini Ingredients - Written in C - Uses bison & flex for parsing - Uses GMP & MPFR for multiple precision representation and arithmetic - None of this should matter to the user – we used static links for our libraries (for Linux, not Cygwin) - Will expand to other architectures

II. Getting Bertini Bertini

II. Getting Bertini Bertini Click here

II. Getting Bertini Bertini Just a quick survey before the download…

II. Getting Bertini Bertini Click here

II. Getting Bertini Bertini Take your pick

II. Getting Bertini Bertini

II. Getting Bertini Bertini

II. Getting Bertini Bertini

II. Getting Bertini Bertini

II. Getting Bertini Bertini Now we are ready to start using Bertini!

III. Running Bertini Bertini Getting to an example….

III. Running Bertini Bertini } } INPUT section CONFIG section (optional) The input file

III. Running Bertini Bertini One of two tables of configuration tables in the user’s manual: We also provide descriptions of each one. What if these aren’t good enough for you?

III. Running Bertini Bertini Our original input file

III. Running Bertini Bertini The modified input file Defined on C 2. What if your system is homogeneous?

III. Running Bertini Bertini Now we’re on P 2. What about a product of projective spaces?

III. Running Bertini Bertini Now we’re on P 1 x P 1. Back to the original….

III. Running Bertini Bertini Now, let’s run this example

III. Running Bertini Bertini Alternatives: 1.Could put the executable in the same folder as the input file. 2.Could put the input file elsewhere also. Output always goes to the current working directory!

III. Running Bertini Bertini

III. Running Bertini Bertini Do you want some more data?

III. Running Bertini Bertini Inside the main output file, main_data A finite root An infinite root Multiplicity 1 Multiplicity 2

III. Running Bertini Bertini A finite root Multiplicity 1 The seed for this run The body of the main output file, main_data Now let’s run this in P 2.

III. Running Bertini Bertini

III. Running Bertini Bertini This time, Bertini makes no assumptions about infinity.

III. Running Bertini Bertini One of the strengths of continuation lies in the use of parameter homotopies. The idea is to solve one problem of a class of problems and then move around within the class as needed. (simple) example: Suppose you need to find the intersection of two circles of varying centers and radii many times. solution: Choose the coordinates of the centers and the radii to be your (six) parameters. Fix them and solve. Then vary them.

III. Running Bertini Bertini Begin by solving the problem with two circles, each of radius 3, centered at (-1,0) and (1,0). NOTE: To use parameter homotopies correctly, one really should use random complex choices for all parameters at the beginning. The values for this example were chosen so we could see the situation.

III. Running Bertini Bertini The input file to solve this

III. Running Bertini Bertini The real_solutions file from this run

III. Running Bertini Bertini Then move via a parameter homotopy to some other pair of circles, say both of radius 2, centered at (0,0) and (0,2).

The input file – the path should be random, but it was not (for simplicity)

III. Running Bertini Bertini The start file for this run

III. Running Bertini Bertini The output from this run

III. Running Bertini Bertini The main_data file from this run

III. Running Bertini Bertini Bertini can also be told to use multiple precision in two ways: Fixed (MPTYPE: 1): Bertini will simply use the number of digits specified by the “PRECISION: B” configuration setting, where B is in bits. Adaptive (MPTYPE: 2): Using this setting, Bertini will increase precision when it becomes necessary. There are a few other settings that must be set up correctly in this case, namely COEFFBOUND and DEGBOUND (as well as safety digit settings). Please see the manual for details….

III. Running Bertini Bertini Now for a positive-dimensional sample:

III. Running Bertini Bertini The irreducible decomposition consists of: In dimension 2: a sphere In dimension 1: 3 lines and a cubic curve In dimension 0: a point Before we look at the run, note that there is another tool available when specifying input files: subfunctions.

III. Running Bertini Bertini An input file using a subfunction A subfunction

III. Running Bertini Bertini The sphere The three lines The cubic curve The point

Bertini Inside main_cascade_data III. Running Bertini

Bertini Now for component sampling (TRACKTYPE: 2) III. Running Bertini

BertiniIII. Running Bertini

IV. A few results Bertini

(I asked for 5 points) III. Running Bertini

Bertini Finally, here is membership testing (TRACKTYPE: 3): This is the file named member_points III. Running Bertini

Bertini The output is very simple! III. Running Bertini

IV. A fun set of examples Bertini Consider the class of adjacent minor problems: Fix an N and form the 2 x N matrix x 1 x 2 … x N y 1 y 2 … y N Then the polynomial system is given by the adjacent 2 x 2 minors of the matrix, i.e., a system of N-1 equations in 2N variables. [] The solutions are known: The solutions are equidimensional. In fact, they consist of Fib N irreducible components in dimension N+1 (where Fib N is the Nth Fibonacci number).

Bertini N# componentsPaths trackedTime (sec) IV. A fun set of examples

Bertini Snapshot of 2x12 adjacent minor problem results IV. A fun set of examples

BertiniIV. A fun set of examples

Bertini(one other quick example) This input file: produces this output:

V. Coming attractions Bertini - Multiprecision positive-dimensional solving - Deflation - Better start systems (e.g., polyhedral start systems) - Optimized function evaluation, linear algebra - Parallelization - C++ eventually…. We will be making frequent small revisions between major version releases, so please let us know of bugs and desirable extensions via the form on the website.

Eugenio Bertini ( ) Thanks!