Download presentation
Presentation is loading. Please wait.
Published byRobert Sherman Modified over 9 years ago
1
Bertini: A software package for numerical algebraic geometry Developed by: Dan Bates Jon Hauenstein Andrew Sommese Charles Wampler
2
About today’s talk Bertini Thanks to:
3
About today’s talk Bertini Thanks to: 1.the organizers
4
About today’s talk Bertini Thanks to: 1.the organizers 2.Zhonggang Zeng
5
About today’s talk Bertini Thanks to: 1.the organizers 2.Zhonggang Zeng 3.Greg Reid
6
Contents Bertini I. Basic facts II. Getting Bertini III. Running Bertini IV. A fun set of examples V. Coming attractions
7
I. Basic Facts Bertini Bertini is a software package for computing in numerical algebraic geometry.
8
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).
9
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, …
10
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”!
11
I. Basic Facts Bertini Bertini has been released! - beta version was released on Tuesday
12
I. Basic Facts Bertini Bertini has been released! - beta version was released on Tuesday - executables only
13
I. Basic Facts Bertini Bertini has been released! - beta version was released on Tuesday - executables only - available from all of our websites
14
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!
15
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
16
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)
17
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
18
II. Getting Bertini Bertini http://www.nd.edu/~sommese/bertini
19
II. Getting Bertini Bertini Click here
20
II. Getting Bertini Bertini Just a quick survey before the download…
21
II. Getting Bertini Bertini Click here
22
II. Getting Bertini Bertini Take your pick
23
II. Getting Bertini Bertini
24
II. Getting Bertini Bertini
25
II. Getting Bertini Bertini
26
II. Getting Bertini Bertini
27
II. Getting Bertini Bertini Now we are ready to start using Bertini!
28
III. Running Bertini Bertini Getting to an example….
29
III. Running Bertini Bertini } } INPUT section CONFIG section (optional) The input file
30
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?
31
III. Running Bertini Bertini Our original input file
32
III. Running Bertini Bertini The modified input file Defined on C 2. What if your system is homogeneous?
33
III. Running Bertini Bertini Now we’re on P 2. What about a product of projective spaces?
34
III. Running Bertini Bertini Now we’re on P 1 x P 1. Back to the original….
35
III. Running Bertini Bertini Now, let’s run this example
36
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!
37
III. Running Bertini Bertini
38
III. Running Bertini Bertini Do you want some more data?
39
III. Running Bertini Bertini Inside the main output file, main_data A finite root An infinite root Multiplicity 1 Multiplicity 2
40
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.
41
III. Running Bertini Bertini
42
III. Running Bertini Bertini This time, Bertini makes no assumptions about infinity.
43
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.
44
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.
45
III. Running Bertini Bertini The input file to solve this
46
III. Running Bertini Bertini The real_solutions file from this run
47
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).
48
The input file – the path should be random, but it was not (for simplicity)
49
III. Running Bertini Bertini The start file for this run
50
III. Running Bertini Bertini The output from this run
51
III. Running Bertini Bertini The main_data file from this run
52
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….
53
III. Running Bertini Bertini Now for a positive-dimensional sample:
54
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.
55
III. Running Bertini Bertini An input file using a subfunction A subfunction
56
III. Running Bertini Bertini The sphere The three lines The cubic curve The point
57
Bertini Inside main_cascade_data III. Running Bertini
58
Bertini Now for component sampling (TRACKTYPE: 2) III. Running Bertini
59
BertiniIII. Running Bertini
60
IV. A few results Bertini
61
(I asked for 5 points) III. Running Bertini
62
Bertini Finally, here is membership testing (TRACKTYPE: 3): This is the file named member_points III. Running Bertini
63
Bertini The output is very simple! III. Running Bertini
64
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).
65
Bertini N# componentsPaths trackedTime (sec) 43240.1 55640.4 681601 7133843 82189612 934204836 1055460882 118910240267 1214422528683 IV. A fun set of examples
66
Bertini Snapshot of 2x12 adjacent minor problem results IV. A fun set of examples
67
BertiniIV. A fun set of examples
68
Bertini(one other quick example) This input file: produces this output:
69
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.
70
Eugenio Bertini (1846-1933) Thanks!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.