Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Bertini: A software package for numerical algebraic geometry Developed by: Dan Bates Jon Hauenstein Andrew Sommese Charles Wampler."— Presentation transcript:

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!


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

Similar presentations


Ads by Google