numerical algebraic geometry - colorado state universitybates/nag_m2_uiuc_14_day... ·...

53
Numerical Algebraic Geometry Dan Bates Colorado State University Macaulay2 summer school UIUC 16-17 June 2014 t t=0 t=1

Upload: others

Post on 24-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Numerical Algebraic Geometry - Colorado State Universitybates/NAG_M2_UIUC_14_day... · 2014-06-16 · •Make you into NAG experts! • Describe every alternative algorithm! • Placate

Numerical Algebraic Geometry

!Dan Bates

Colorado State University !!!!

Macaulay2 summer school UIUC 16-17 June 2014

t

t=0 t=1

Page 2: Numerical Algebraic Geometry - Colorado State Universitybates/NAG_M2_UIUC_14_day... · 2014-06-16 · •Make you into NAG experts! • Describe every alternative algorithm! • Placate

• Cover many of the basic structures, methods, and assumptions of

numerical algebraic geometry (NAG)

• Provide some training with Bertini I/O, with some M2 runs tomorrow

• Address any concerns about numerical computation

• Mention a variety of applications, both within algebraic geometry and

outside mathematics

!

Ultimately:

• Provide enough knowledge and experience to start using NAG

methods in your own work

!

Goals for this tutorial

���2

Page 3: Numerical Algebraic Geometry - Colorado State Universitybates/NAG_M2_UIUC_14_day... · 2014-06-16 · •Make you into NAG experts! • Describe every alternative algorithm! • Placate

• Make you into NAG experts

• Describe every alternative algorithm

• Placate your concerns about numerics, the “dark arts of computational

algebraic geometry” (according to Frank Sottile)

• Pat anybody’s back or give a fair, balanced history lesson

• Thoroughly introduce every software package

!

!

!!!

NON-Goals for this tutorial

���3

Page 4: Numerical Algebraic Geometry - Colorado State Universitybates/NAG_M2_UIUC_14_day... · 2014-06-16 · •Make you into NAG experts! • Describe every alternative algorithm! • Placate

• (1 hour of lecture + 1.5 hours of “homework”) * 2

• Ask questions!! (Experts: disagree!)

• Warning: I am no Macaulay2 expert! I helped Elizabeth Gross, Anton

Leykin, and Jose Rodriguez develop Bertini.m2, but I served as the

Bertini expert. I like M2 but am still a total newbie!

• I’ll use standalone Bertini mostly….

• Warning: I am a Bertini expert, but I don’t carry all the nit picky

details in my mind. Do ask specific questions, though.

• If you have questions after this week (NAG, Bertini, references, etc.),

don’t hesitate to write!

!

Structure of the tutorial

���4

Page 5: Numerical Algebraic Geometry - Colorado State Universitybates/NAG_M2_UIUC_14_day... · 2014-06-16 · •Make you into NAG experts! • Describe every alternative algorithm! • Placate

1. Setting the ambiance

2. Bertini and friends

3. Basic homotopy continuation

4. Numerical irreducible decomposition

5. Advanced topics

!

!!!

Game plan

���5

Page 6: Numerical Algebraic Geometry - Colorado State Universitybates/NAG_M2_UIUC_14_day... · 2014-06-16 · •Make you into NAG experts! • Describe every alternative algorithm! • Placate

1. Setting the ambiance

2. Bertini and friends

3. Basic homotopy continuation

4. Numerical irreducible decomposition

5. Advanced topics

!

!!!

Game plan

���6

Page 7: Numerical Algebraic Geometry - Colorado State Universitybates/NAG_M2_UIUC_14_day... · 2014-06-16 · •Make you into NAG experts! • Describe every alternative algorithm! • Placate

The fundamental goal of NAG is to solve polynomial systems. !Given , we want to find all s.t. . !Assumptions on : ! * Always — will come later. * , for simplicity; will be handled later. * The coefficients of f may be approximate, e.g., 3 for , but we aim to solve exactly the system you provide (some exact numbers are OK). !

Setting the ambiance

NAG : AG :: NLA : LA

���7

f : CN ! CN

f1, . . . , fn 2 C[z1, . . . , zN ]

1

f : CN ! CN

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

1

f : CN ! CN

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

1

f : CN ! CN

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

f = (f1, . . . , fn)

1

f : CN ! CN

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

f = (f1, . . . , fn)

1

f : CN ! CN

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

f = (f1, . . . , fn)

R

1

f : CN ! CN

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

f = (f1, . . . , fn)

R

N = n

N 6= n

1

f : CN ! CN

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

f = (f1, . . . , fn)

R

N = n

N 6= n

1

f : CN ! CN

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

f = (f1, . . . , fn)

R

N = n

N 6= n

1

Page 8: Numerical Algebraic Geometry - Colorado State Universitybates/NAG_M2_UIUC_14_day... · 2014-06-16 · •Make you into NAG experts! • Describe every alternative algorithm! • Placate

The fundamental goal of NAG is to solve polynomial systems. !Given , we want to find all s.t. . !Assumptions on : ! * Always — will come later. * , for simplicity; will be handled later. * The coefficients of f may be approximate, e.g., 3 for , but we aim to solve exactly the system you provide (some exact numbers are OK). !

Setting the ambiance

NAG : AG :: NLA : LA

���8

f : CN ! CN

f1, . . . , fn 2 C[z1, . . . , zN ]

1

f : CN ! CN

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

1

f : CN ! CN

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

1

f : CN ! CN

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

f = (f1, . . . , fn)

1

f : CN ! CN

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

f = (f1, . . . , fn)

1

f : CN ! CN

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

f = (f1, . . . , fn)

R

1

f : CN ! CN

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

f = (f1, . . . , fn)

R

N = n

N 6= n

1

f : CN ! CN

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

f = (f1, . . . , fn)

R

N = n

N 6= n

1

f : CN ! CN

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

f = (f1, . . . , fn)

R

N = n

N 6= n

1

Page 9: Numerical Algebraic Geometry - Colorado State Universitybates/NAG_M2_UIUC_14_day... · 2014-06-16 · •Make you into NAG experts! • Describe every alternative algorithm! • Placate

The fundamental goal of NAG is to solve polynomial systems. !Given , we want to find all s.t. . !Assumptions on : ! * Always — will come later. * , for simplicity; will be handled later. * The coefficients of f may be approximate, e.g., 3 for , but we aim to solve exactly the system you provide (some exact numbers are OK). !

Setting the ambiance

NAG : AG :: NLA : LA

���9

f : CN ! CN

f1, . . . , fn 2 C[z1, . . . , zN ]

1

f : CN ! CN

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

1

f : CN ! CN

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

1

f : CN ! CN

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

f = (f1, . . . , fn)

1

f : CN ! CN

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

f = (f1, . . . , fn)

1

f : CN ! CN

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

f = (f1, . . . , fn)

R

1

f : CN ! CN

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

f = (f1, . . . , fn)

R

N = n

N 6= n

1

f : CN ! CN

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

f = (f1, . . . , fn)

R

N = n

N 6= n

1

f : CN ! CN

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

f = (f1, . . . , fn)

R

N = n

N 6= n

1

Page 10: Numerical Algebraic Geometry - Colorado State Universitybates/NAG_M2_UIUC_14_day... · 2014-06-16 · •Make you into NAG experts! • Describe every alternative algorithm! • Placate

!!Given , we want to find all s.t. . !Q: What does this mean?? !Recall: , where: ! is the dimension of , cycles through possible dimensions of irreducible components, is an index within dimension i, and the are the irreducible components.

Setting the ambiance

���10

f : CN ! CN

f1, . . . , fn 2 C[z1, . . . , zN ]

1

f : CN ! CN

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

1

f : CN ! CN

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

1

f : CN ! CN

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

f = (f1, . . . , fn)

R

N = n

N 6= n

Z = V(f) =D[

i=0

Zi =D[

i=0

[

j2⇤i

Zi,j

1

f : CN ! CN

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

f = (f1, . . . , fn)

R

N = n

N 6= n

Z = V(f) =D[

i=0

Zi =D[

i=0

[

j2⇤i

Zi,j

1

f : CN ! CN

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

f = (f1, . . . , fn)

R

N = n

N 6= n

Z = V(f) =D[

i=0

Zi =D[

i=0

[

j2⇤i

Zi,j

1

f : CN ! CN

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

f = (f1, . . . , fn)

R

N = n

N 6= n

Z = V(f) =D[

i=0

Zi =D[

i=0

[

j2⇤i

Zi,j

1

f : CN ! CN

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

f = (f1, . . . , fn)

R

N = n

N 6= n

Z = V(f) =D[

i=0

Zi =D[

i=0

[

j2⇤i

Zi,j

1

f : CN ! CN

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

f = (f1, . . . , fn)

R

N = n

N 6= n

Z = V(f) =D[

i=0

Zi =D[

i=0

[

j2⇤i

Zi,j

1

Page 11: Numerical Algebraic Geometry - Colorado State Universitybates/NAG_M2_UIUC_14_day... · 2014-06-16 · •Make you into NAG experts! • Describe every alternative algorithm! • Placate

!!Given , we want to find all s.t. . !Q: What does this mean?? !Recall: , where: ! is the dimension of , cycles through possible dimensions of irreducible components, is an index within dimension i, and the are the irreducible components.

Setting the ambiance

���11

f : CN ! CN

f1, . . . , fn 2 C[z1, . . . , zN ]

1

f : CN ! CN

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

1

f : CN ! CN

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

1

f : CN ! CN

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

f = (f1, . . . , fn)

R

N = n

N 6= n

Z = V(f) =D[

i=0

Zi =D[

i=0

[

j2⇤i

Zi,j

1

f : CN ! CN

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

f = (f1, . . . , fn)

R

N = n

N 6= n

Z = V(f) =D[

i=0

Zi =D[

i=0

[

j2⇤i

Zi,j

1

f : CN ! CN

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

f = (f1, . . . , fn)

R

N = n

N 6= n

Z = V(f) =D[

i=0

Zi =D[

i=0

[

j2⇤i

Zi,j

1

f : CN ! CN

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

f = (f1, . . . , fn)

R

N = n

N 6= n

Z = V(f) =D[

i=0

Zi =D[

i=0

[

j2⇤i

Zi,j

1

f : CN ! CN

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

f = (f1, . . . , fn)

R

N = n

N 6= n

Z = V(f) =D[

i=0

Zi =D[

i=0

[

j2⇤i

Zi,j

1

f : CN ! CN

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

f = (f1, . . . , fn)

R

N = n

N 6= n

Z = V(f) =D[

i=0

Zi =D[

i=0

[

j2⇤i

Zi,j

1

Page 12: Numerical Algebraic Geometry - Colorado State Universitybates/NAG_M2_UIUC_14_day... · 2014-06-16 · •Make you into NAG experts! • Describe every alternative algorithm! • Placate

Example 1: !!!!We can see that either (a line) or (a point)…. !!!!!

Setting the ambiance

���12

f =

x(x� 1)x(y � 1)

2

f =

x(x� 1)x(y � 1)

x = 0

x = y = 1

2

f =

x(x� 1)x(y � 1)

x = 0

x = y = 1

2

Page 13: Numerical Algebraic Geometry - Colorado State Universitybates/NAG_M2_UIUC_14_day... · 2014-06-16 · •Make you into NAG experts! • Describe every alternative algorithm! • Placate

Example 1: !!!!We can see that either (a line) or (a point)…. !!!!!

Setting the ambiance

���13

f =

x(x� 1)x(y � 1)

2

f =

x(x� 1)x(y � 1)

x = 0

x = y = 1

2

f =

x(x� 1)x(y � 1)

x = 0

x = y = 1

2

Page 14: Numerical Algebraic Geometry - Colorado State Universitybates/NAG_M2_UIUC_14_day... · 2014-06-16 · •Make you into NAG experts! • Describe every alternative algorithm! • Placate

Example 2: !!!!Here, there are six (mostly less obvious) components: !Dimension 2: One surface. Dimension 1: Three lines and one cubic curve. Dimension 0: One point.

Setting the ambiance

���14

“main”2013/3/17page 159

DRAFT

Chapter 8

Positive-DimensionalComponents

In Part II of the book, we return to the fundamental problem of “solving” a poly-nomial system,

f(z) :=

⎢⎣f1(z1, . . . , zN)

...fn(z1, . . . , zN)

⎥⎦ = 0. (8.1)

As opposed to the case of systems of linear equations, where a nonempty so-lution set will consist of exactly one linear space, the solution set of a polynomialsystem can have several separate components and these may have different dimen-sions23 (points, curves, surfaces, etc). Thus, the problem of “solving” a polynomialsystem includes the detection of all such components no matter what dimensioneach has. Solution components of dimension greater than zero (everything exceptisolated points) are said to be “positive-dimensional.”

For example, consider the following system of three polynomials in the vari-ables x, y, z:

f =

⎣(y − x2)(x2 + y2 + z2 − 1)(x− 2)(z − x3)(x2 + y2 + z2 − 1)(y − 2)

(z − x3)(y − x2)(x2 + y2 + z2 − 1)(z − 2)

⎦ . (8.2)

The solution set of three linear equations in three variables must be one point, oneline, or one plane. The complex solution set of (8.2) consists of a surface, fourcurves, and a point. If we were to apply one of the homotopies presented in Part Ito solve this system, we would be assured to find the isolated solution, (2, 2, 2), butthere would be no guarantee of finding any points on the other components.

In brief, Part II presents how numerical algebraic geometry treats full solutionsets, including their positive-dimensional components. This chapter introduces thebasic concepts and shows results obtained with Bertini on some simple examples.The next two chapters, Chapter 9 and Chapter 10, which go into details of the

23We gave a definition of the dimension of a component in §1.2.2.

159

Page 15: Numerical Algebraic Geometry - Colorado State Universitybates/NAG_M2_UIUC_14_day... · 2014-06-16 · •Make you into NAG experts! • Describe every alternative algorithm! • Placate

Example 2: !!!!Here, there are six (mostly less obvious) components: !Dimension 2: One surface. Dimension 1: Three lines and one cubic curve. Dimension 0: One point.

Setting the ambiance

���15

“main”2013/3/17page 159

DRAFT

Chapter 8

Positive-DimensionalComponents

In Part II of the book, we return to the fundamental problem of “solving” a poly-nomial system,

f(z) :=

⎢⎣f1(z1, . . . , zN)

...fn(z1, . . . , zN)

⎥⎦ = 0. (8.1)

As opposed to the case of systems of linear equations, where a nonempty so-lution set will consist of exactly one linear space, the solution set of a polynomialsystem can have several separate components and these may have different dimen-sions23 (points, curves, surfaces, etc). Thus, the problem of “solving” a polynomialsystem includes the detection of all such components no matter what dimensioneach has. Solution components of dimension greater than zero (everything exceptisolated points) are said to be “positive-dimensional.”

For example, consider the following system of three polynomials in the vari-ables x, y, z:

f =

⎣(y − x2)(x2 + y2 + z2 − 1)(x− 2)(z − x3)(x2 + y2 + z2 − 1)(y − 2)

(z − x3)(y − x2)(x2 + y2 + z2 − 1)(z − 2)

⎦ . (8.2)

The solution set of three linear equations in three variables must be one point, oneline, or one plane. The complex solution set of (8.2) consists of a surface, fourcurves, and a point. If we were to apply one of the homotopies presented in Part Ito solve this system, we would be assured to find the isolated solution, (2, 2, 2), butthere would be no guarantee of finding any points on the other components.

In brief, Part II presents how numerical algebraic geometry treats full solutionsets, including their positive-dimensional components. This chapter introduces thebasic concepts and shows results obtained with Bertini on some simple examples.The next two chapters, Chapter 9 and Chapter 10, which go into details of the

23We gave a definition of the dimension of a component in §1.2.2.

159

Page 16: Numerical Algebraic Geometry - Colorado State Universitybates/NAG_M2_UIUC_14_day... · 2014-06-16 · •Make you into NAG experts! • Describe every alternative algorithm! • Placate

!!Given , we want to find all s.t. . !Q: What does this mean?? !!For each isolated solution, , we aim to compute a numerical approximation such that . !For each positive-dimensional irreducible component, , we aim to find similar numerical approximations to some number of generic points on .

Setting the ambiance

���16

f : CN ! CN

f1, . . . , fn 2 C[z1, . . . , zN ]

1

f : CN ! CN

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

1

f : CN ! CN

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

1

f : CN ! CN

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

f = (f1, . . . , fn)

R

N = n

N 6= n

Z = V(f) =D[

i=0

Zi =D[

i=0

[

j2⇤i

Zi,j

1

f =

x(x� 1)x(y � 1)

x = 0

x = y = 1

z

2

f =

x(x� 1)x(y � 1)

x = 0

x = y = 1

z

||z � bz|| < FinalTol

2

f : CN ! CN

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

f = (f1, . . . , fn)

R

N = n

N 6= n

Z = V(f) =D[

i=0

Zi =D[

i=0

[

j2⇤i

Zi,j

1

f : CN ! CN

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

f = (f1, . . . , fn)

R

N = n

N 6= n

Z = V(f) =D[

i=0

Zi =D[

i=0

[

j2⇤i

Zi,j

1

Page 17: Numerical Algebraic Geometry - Colorado State Universitybates/NAG_M2_UIUC_14_day... · 2014-06-16 · •Make you into NAG experts! • Describe every alternative algorithm! • Placate

About the underlying computations: * Numerical, inexact * Probabilistic, involving choices of random numbers * Theoretically probability one (Zariski open set of good choices) * Realistically not probability one, since numerics can fail !Mitigating numerical difficulties: * Adaptive precision * Recognition and signaling of failures !Fundamental choice: Speed vs. safety? * Could place fast and loose, but get wrong answers * Could recognize failures, sacrificing some speed but adding safety * Could certify (later), sacrificing more speed but adding certainty

Setting the ambiance

���17

Page 18: Numerical Algebraic Geometry - Colorado State Universitybates/NAG_M2_UIUC_14_day... · 2014-06-16 · •Make you into NAG experts! • Describe every alternative algorithm! • Placate

About the underlying computations: * Numerical, inexact * Probabilistic, involving choices of random numbers * Theoretically probability one (Zariski open set of good choices) * Realistically not probability one, since numerics can fail !Mitigating numerical difficulties: * Adaptive precision * Recognition and signaling of failures !Fundamental choice: Speed vs. safety? * Could place fast and loose, but get wrong answers * Could recognize failures, sacrificing some speed but adding safety * Could certify (later), sacrificing more speed but adding certainty

Setting the ambiance

���18

Page 19: Numerical Algebraic Geometry - Colorado State Universitybates/NAG_M2_UIUC_14_day... · 2014-06-16 · •Make you into NAG experts! • Describe every alternative algorithm! • Placate

About the underlying computations: * Numerical, inexact * Probabilistic, involving choices of random numbers * Theoretically probability one (Zariski open set of good choices) * Realistically not probability one, since numerics can fail !Mitigating numerical difficulties: * Adaptive precision * Recognition and signaling of failures !Fundamental choice: Speed vs. safety? * Could place fast and loose, but get wrong answers * Could recognize failures, sacrificing some speed but adding safety * Could certify (later), sacrificing more speed but adding certainty

Setting the ambiance

���19

Page 20: Numerical Algebraic Geometry - Colorado State Universitybates/NAG_M2_UIUC_14_day... · 2014-06-16 · •Make you into NAG experts! • Describe every alternative algorithm! • Placate

The tortoise & the hare example !In Banff, Maurice Rojas proposed a challenge — find the number of real isolated solutions of 3 nearly identical polynomial systems !Software package A: 1/2 second on a laptop…wrong answers for all 3. !Software package B: 1 hour on 180 processors…correct answers for all 3.

Setting the ambiance

���20

Page 21: Numerical Algebraic Geometry - Colorado State Universitybates/NAG_M2_UIUC_14_day... · 2014-06-16 · •Make you into NAG experts! • Describe every alternative algorithm! • Placate

1. Setting the ambiance

2. Bertini and friends

3. Basic homotopy continuation

4. Numerical irreducible decomposition

5. Advanced topics

!

!!!

Game plan

���21

Page 22: Numerical Algebraic Geometry - Colorado State Universitybates/NAG_M2_UIUC_14_day... · 2014-06-16 · •Make you into NAG experts! • Describe every alternative algorithm! • Placate

There are many (somewhat) related software packages: Macaulay2, Singular, CoCoA, GAP, AUTO, MATCONT, etc.

and many derivatives Paramotopy (Wed, 9), alphaCertified, KhRo, BertiniLab, etc.

but here are the main, currently active NAG software packages (in alphabetical order): ! Bertini (Dan Bates, Jon Hauenstein, Andrew Sommese, Charles Wampler) HOM4PS-2,3 (Tianran Chen, TY Li, Tsung-Lin Lee) NumericalAlgebraicGeometry, in M2 (Anton Leykin) PHCpack (Jan Verschelde) !I will focus on Bertini, due to time & expertise (no offense intended!). Please talk to the others about the other packages.

Bertini and friends

���22

Page 23: Numerical Algebraic Geometry - Colorado State Universitybates/NAG_M2_UIUC_14_day... · 2014-06-16 · •Make you into NAG experts! • Describe every alternative algorithm! • Placate

Bertini is free to download and use, and the source code is publicly available. It may be downloaded (source code or binary) at bertini.nd.edu. !2002-2006: Pre-release development. 2006: Initial beta release, during IMA special year. 2006-2013: Various releases. 2013: Version 1.4. !Next: 2.0 Large development team, C++ (not C), GPL (some flavor), modules, GitHub !What should we add/change? Want to join the development team?

Bertini and friends

���23

Page 24: Numerical Algebraic Geometry - Colorado State Universitybates/NAG_M2_UIUC_14_day... · 2014-06-16 · •Make you into NAG experts! • Describe every alternative algorithm! • Placate

Here’s a nice, simple example of a run…. !!!!!!!

Bertini and friends

���24

Page 25: Numerical Algebraic Geometry - Colorado State Universitybates/NAG_M2_UIUC_14_day... · 2014-06-16 · •Make you into NAG experts! • Describe every alternative algorithm! • Placate

1. Setting the ambiance

2. Bertini and friends

3. Basic homotopy continuation

4. Numerical irreducible decomposition

5. Advanced topics

!

!!!

Game plan

���25

Page 26: Numerical Algebraic Geometry - Colorado State Universitybates/NAG_M2_UIUC_14_day... · 2014-06-16 · •Make you into NAG experts! • Describe every alternative algorithm! • Placate

3. Basic homotopy continuation

A. Homotopies & path-tracking

B. Root counts & start systems

C. Adaptive precision

D. Endgames

E. Sharpening endpoints

F. Advanced topics: Deflation and regeneration

Game plan

���26

Page 27: Numerical Algebraic Geometry - Colorado State Universitybates/NAG_M2_UIUC_14_day... · 2014-06-16 · •Make you into NAG experts! • Describe every alternative algorithm! • Placate

Basic homotopy continuation A. Homopties & path-tracking

���27

Given polynomial system (the target system) homotopy continuation is a 3-step process: !1. Choose and solve a polynomial system (the start system)

based on characteristics of f(z) but relatively easy to solve. !2. Form the homotopy given by !!so that and . !3. Use numerical predictor-corrector methods (see Allgower-Georg) to follow the solutions as marches from 1 to 0, one solution at a time. !Here’s a schematic….

f : CN ! CN

1

f : CN ! CN

g : CN ! CN

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

f = (f1, . . . , fn)

R

N = n

N 6= n

1

f : CN ! CN

g : CN ! CN

H : CN ⇥ C ! CN

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

f = (f1, . . . , fn)

R

N = n

N 6= n

1

f : CN ! CN

g : CN ! CN

H : CN ⇥ C ! CN

H(z, t) = f(z) · (1� t) + g(z) · t

H(z, 1) = g(z)

H(z, 0) = f(z)

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

f = (f1, . . . , fn)

R

1

f : CN ! CN

g : CN ! CN

H : CN ⇥ C ! CN

H(z, t) = f(z) · (1� t) + g(z) · t

H(z, 1) = g(z)

H(z, 0) = f(z)

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

f = (f1, . . . , fn)

R

1

f : CN ! CN

g : CN ! CN

H : CN ⇥ C ! CN

H(z, t) = f(z) · (1� t) + g(z) · t

H(z, 1) = g(z)

H(z, 0) = f(z)

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

f = (f1, . . . , fn)

R

1

f : CN ! CN

g : CN ! CN

H : CN ⇥ C ! CN

H(z, t) = f(z) · (1� t) + g(z) · t

H(z, 1) = g(z)

H(z, 0) = f(z)

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

f = (f1, . . . , fn)

R

1

Page 28: Numerical Algebraic Geometry - Colorado State Universitybates/NAG_M2_UIUC_14_day... · 2014-06-16 · •Make you into NAG experts! • Describe every alternative algorithm! • Placate

Basic homotopy continuation A. Homopties & path-tracking

���28

Given polynomial system (the target system) homotopy continuation is a 3-step process: !1. Choose and solve a polynomial system (the start system)

based on characteristics of f(z) but relatively easy to solve. !2. Form the homotopy given by !!so that and . !3. Use numerical predictor-corrector methods (see Allgower-Georg) to follow the solutions as marches from 1 to 0, one solution at a time. !Here’s a schematic….

f : CN ! CN

1

f : CN ! CN

g : CN ! CN

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

f = (f1, . . . , fn)

R

N = n

N 6= n

1

f : CN ! CN

g : CN ! CN

H : CN ⇥ C ! CN

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

f = (f1, . . . , fn)

R

N = n

N 6= n

1

f : CN ! CN

g : CN ! CN

H : CN ⇥ C ! CN

H(z, t) = f(z) · (1� t) + g(z) · t

H(z, 1) = g(z)

H(z, 0) = f(z)

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

f = (f1, . . . , fn)

R

1

f : CN ! CN

g : CN ! CN

H : CN ⇥ C ! CN

H(z, t) = f(z) · (1� t) + g(z) · t

H(z, 1) = g(z)

H(z, 0) = f(z)

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

f = (f1, . . . , fn)

R

1

f : CN ! CN

g : CN ! CN

H : CN ⇥ C ! CN

H(z, t) = f(z) · (1� t) + g(z) · t

H(z, 1) = g(z)

H(z, 0) = f(z)

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

f = (f1, . . . , fn)

R

1

f : CN ! CN

g : CN ! CN

H : CN ⇥ C ! CN

H(z, t) = f(z) · (1� t) + g(z) · t

H(z, 1) = g(z)

H(z, 0) = f(z)

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

f = (f1, . . . , fn)

R

1

Page 29: Numerical Algebraic Geometry - Colorado State Universitybates/NAG_M2_UIUC_14_day... · 2014-06-16 · •Make you into NAG experts! • Describe every alternative algorithm! • Placate

Basic homotopy continuation A. Homopties & path-tracking

���29

Given polynomial system (the target system) homotopy continuation is a 3-step process: !1. Choose and solve a polynomial system (the start system)

based on characteristics of f(z) but relatively easy to solve. !2. Form the homotopy given by !!so that and . !3. Use numerical predictor-corrector methods (see Allgower-Georg) to follow the solutions as marches from 1 to 0, one solution at a time. !Here’s a schematic….

f : CN ! CN

1

f : CN ! CN

g : CN ! CN

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

f = (f1, . . . , fn)

R

N = n

N 6= n

1

f : CN ! CN

g : CN ! CN

H : CN ⇥ C ! CN

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

f = (f1, . . . , fn)

R

N = n

N 6= n

1

f : CN ! CN

g : CN ! CN

H : CN ⇥ C ! CN

H(z, t) = f(z) · (1� t) + g(z) · t

H(z, 1) = g(z)

H(z, 0) = f(z)

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

f = (f1, . . . , fn)

R

1

f : CN ! CN

g : CN ! CN

H : CN ⇥ C ! CN

H(z, t) = f(z) · (1� t) + g(z) · t

H(z, 1) = g(z)

H(z, 0) = f(z)

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

f = (f1, . . . , fn)

R

1

f : CN ! CN

g : CN ! CN

H : CN ⇥ C ! CN

H(z, t) = f(z) · (1� t) + g(z) · t

H(z, 1) = g(z)

H(z, 0) = f(z)

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

f = (f1, . . . , fn)

R

1

f : CN ! CN

g : CN ! CN

H : CN ⇥ C ! CN

H(z, t) = f(z) · (1� t) + g(z) · t

H(z, 1) = g(z)

H(z, 0) = f(z)

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

f = (f1, . . . , fn)

R

1

Page 30: Numerical Algebraic Geometry - Colorado State Universitybates/NAG_M2_UIUC_14_day... · 2014-06-16 · •Make you into NAG experts! • Describe every alternative algorithm! • Placate

Basic homotopy continuation A. Homopties & path-tracking

���30

SQUARING If (more variables), there will be no isolated solutions so there is nothing more to do (for now)…. !If (more equations), we can replace with linear combinations of the polynomials of (thanks to a theorem of Bertini). We could pick up spurious solutions or increase multiplicities, but at least “Bertini junk” is easily spotted and removed (automatically by Bertini)…. !FACT: The number of paths ending at one isolated solution is an upper bound on the multiplicity of that solution (equal if no squaring).

N = n

N 6= n

Z = V(f) =D[

i=0

Zi =D[

i=0

[

j2⇤i

Zi,j

f =

x(x� 1)x(y � 1)

x = 0

x = y = 1

z

||z � bz|| < FinalTol

N > n

2N < n

3

N = n

N 6= n

Z = V(f) =D[

i=0

Zi =D[

i=0

[

j2⇤i

Zi,j

f =

x(x� 1)x(y � 1)

x = 0

x = y = 1

z

||z � bz|| < FinalTol

N > n

2

N = n

N 6= n

Z = V(f) =D[

i=0

Zi =D[

i=0

[

j2⇤i

Zi,j

f =

x(x� 1)x(y � 1)

x = 0

x = y = 1

z

||z � bz|| < FinalTol

N > n

2

N = n

N 6= n

Z = V(f) =D[

i=0

Zi =D[

i=0

[

j2⇤i

Zi,j

f =

x(x� 1)x(y � 1)

x = 0

x = y = 1

z

||z � bz|| < FinalTol

N > n

2

Page 31: Numerical Algebraic Geometry - Colorado State Universitybates/NAG_M2_UIUC_14_day... · 2014-06-16 · •Make you into NAG experts! • Describe every alternative algorithm! • Placate

Basic homotopy continuation A. Homopties & path-tracking

���31

!!

!!!!2. Form the homotopy given by !!so that and . !!!!!

f : CN ! CN

g : CN ! CN

H : CN ⇥ C ! CN

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

f = (f1, . . . , fn)

R

N = n

N 6= n

1

f : CN ! CN

g : CN ! CN

H : CN ⇥ C ! CN

H(z, t) = f(z) · (1� t) + g(z) · t

H(z, 1) = g(z)

H(z, 0) = f(z)

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

f = (f1, . . . , fn)

R

1

f : CN ! CN

g : CN ! CN

H : CN ⇥ C ! CN

H(z, t) = f(z) · (1� t) + g(z) · t

H(z, 1) = g(z)

H(z, 0) = f(z)

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

f = (f1, . . . , fn)

R

1

f : CN ! CN

g : CN ! CN

H : CN ⇥ C ! CN

H(z, t) = f(z) · (1� t) + g(z) · t

H(z, 1) = g(z)

H(z, 0) = f(z)

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

f = (f1, . . . , fn)

R

1

THE GAMMA TRICK Recall: !!!

!!

!!!In fact, we use the homotopy: !!!where is chosen at random. Here’s why…. !!!

f : CN ! CN

g : CN ! CN

H : CN ⇥ C ! CN

H(z, t) = f(z) · (1� t) + �g(z) · t

� 2 C

H(z, 1) = g(z)

H(z, 0) = f(z)

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

f = (f1, . . . , fn)

1

f : CN ! CN

g : CN ! CN

H : CN ⇥ C ! CN

H(z, t) = f(z) · (1� t) + �g(z) · t

� 2 C

H(z, 1) = g(z)

H(z, 0) = f(z)

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

f = (f1, . . . , fn)

1

Page 32: Numerical Algebraic Geometry - Colorado State Universitybates/NAG_M2_UIUC_14_day... · 2014-06-16 · •Make you into NAG experts! • Describe every alternative algorithm! • Placate

Basic homotopy continuation A. Homopties & path-tracking

���32

!!

!!!!2. Form the homotopy given by !!so that and . !!!!!

f : CN ! CN

g : CN ! CN

H : CN ⇥ C ! CN

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

f = (f1, . . . , fn)

R

N = n

N 6= n

1

f : CN ! CN

g : CN ! CN

H : CN ⇥ C ! CN

H(z, t) = f(z) · (1� t) + g(z) · t

H(z, 1) = g(z)

H(z, 0) = f(z)

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

f = (f1, . . . , fn)

R

1

f : CN ! CN

g : CN ! CN

H : CN ⇥ C ! CN

H(z, t) = f(z) · (1� t) + g(z) · t

H(z, 1) = g(z)

H(z, 0) = f(z)

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

f = (f1, . . . , fn)

R

1

f : CN ! CN

g : CN ! CN

H : CN ⇥ C ! CN

H(z, t) = f(z) · (1� t) + g(z) · t

H(z, 1) = g(z)

H(z, 0) = f(z)

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

f = (f1, . . . , fn)

R

1

THE GAMMA TRICK Recall: !!!

!!

!!!In fact, we use the homotopy: !!!where is chosen at random. Here’s why…. !!!

f : CN ! CN

g : CN ! CN

H : CN ⇥ C ! CN

H(z, t) = f(z) · (1� t) + �g(z) · t

� 2 C

H(z, 1) = g(z)

H(z, 0) = f(z)

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

f = (f1, . . . , fn)

1

f : CN ! CN

g : CN ! CN

H : CN ⇥ C ! CN

H(z, t) = f(z) · (1� t) + �g(z) · t

� 2 C

H(z, 1) = g(z)

H(z, 0) = f(z)

f1, . . . , fn 2 C[z1, . . . , zN ]

bz 2 CN

fi(bz) = 0 8i

f = (f1, . . . , fn)

1

Page 33: Numerical Algebraic Geometry - Colorado State Universitybates/NAG_M2_UIUC_14_day... · 2014-06-16 · •Make you into NAG experts! • Describe every alternative algorithm! • Placate

Basic homotopy continuation A. Homopties & path-tracking

���33

DETECTING DIVERGENCE !Input can be non-homogeneous (use variable_group) or homogeneous (use hom_variable_group). !Either way, Bertini will homogenize (if necessary) and work over a random patch of . Thus, paths of infinite length become paths of finite length. !Even so, paths diverging to infinity often have highly singular endpoints, so it is preferable to avoid them. In Bertini, we kill any path that exceeds the threshold after t reaches 0.1.

N > n

N < n

PN

3

N > n

N < n

PN

SecurityMaxNorm

3

Page 34: Numerical Algebraic Geometry - Colorado State Universitybates/NAG_M2_UIUC_14_day... · 2014-06-16 · •Make you into NAG experts! • Describe every alternative algorithm! • Placate

Basic homotopy continuation A. Homopties & path-tracking

���34

CHECKING FOR PATH-CROSSING !We refer to the error of jumping from one path to another during path tracking as path-crossing. !We help to mitigate this sort of error by collecting all path data at t=0.1 and post-processing to make sure all paths were still separate at that point. If not, we spit out an error message to the screen. !(At t=0.1, the endgame kicks in with tighter tracking tolerances.)

Page 35: Numerical Algebraic Geometry - Colorado State Universitybates/NAG_M2_UIUC_14_day... · 2014-06-16 · •Make you into NAG experts! • Describe every alternative algorithm! • Placate

Basic homotopy continuation A. Homopties & path-tracking

���35

Any questions about the general homotopy continuation setup before we move on to root counts & start systems?

Page 36: Numerical Algebraic Geometry - Colorado State Universitybates/NAG_M2_UIUC_14_day... · 2014-06-16 · •Make you into NAG experts! • Describe every alternative algorithm! • Placate

Basic homotopy continuation B. Root counts & start systems

���36

Bézout: # finite, isolated solutions . !One choice of start system is the total degree or Bézout start system: !!! . This has exactly isolated, nonsingular, finite solutions. !This could be overkill — there might be many fewer solutions! !Different root counts lead to different start systems.

N > n

N < n

PN

SecurityMaxNorm

⇧Ni=1 deg(fi)

di = deg(fi)

3

N > n

N < n

PN

SecurityMaxNorm

⇧Ni=1 deg(fi)

di = deg(fi)

g =

2

64zd11 � 1

.

.

.

zdNN � 1

3

75

3

N > n

N < n

PN

SecurityMaxNorm

⇧Ni=1 deg(fi)

di = deg(fi)

g =

2

64zd11 � 1

.

.

.

zdNN � 1

3

75

3

Page 37: Numerical Algebraic Geometry - Colorado State Universitybates/NAG_M2_UIUC_14_day... · 2014-06-16 · •Make you into NAG experts! • Describe every alternative algorithm! • Placate

Basic homotopy continuation B. Root counts & start systems

���37

Bézout: # finite, isolated solutions . !One choice of start system is the total degree or Bézout start system: !!! . This has exactly isolated, nonsingular, finite solutions. !This could be overkill — there might be many fewer solutions! !Different root counts lead to different start systems.

N > n

N < n

PN

SecurityMaxNorm

⇧Ni=1 deg(fi)

di = deg(fi)

3

N > n

N < n

PN

SecurityMaxNorm

⇧Ni=1 deg(fi)

di = deg(fi)

g =

2

64zd11 � 1

.

.

.

zdNN � 1

3

75

3

N > n

N < n

PN

SecurityMaxNorm

⇧Ni=1 deg(fi)

di = deg(fi)

g =

2

64zd11 � 1

.

.

.

zdNN � 1

3

75

3

Page 38: Numerical Algebraic Geometry - Colorado State Universitybates/NAG_M2_UIUC_14_day... · 2014-06-16 · •Make you into NAG experts! • Describe every alternative algorithm! • Placate

Basic homotopy continuation B. Root counts & start systems

���38

Bézout: # finite, isolated solutions . !One choice of start system is the total degree or Bézout start system: !!! . This has exactly isolated, nonsingular, finite solutions. !This could be overkill — there might be many fewer solutions! !Different root counts lead to different start systems.

N > n

N < n

PN

SecurityMaxNorm

⇧Ni=1 deg(fi)

di = deg(fi)

3

N > n

N < n

PN

SecurityMaxNorm

⇧Ni=1 deg(fi)

di = deg(fi)

g =

2

64zd11 � 1

.

.

.

zdNN � 1

3

75

3

N > n

N < n

PN

SecurityMaxNorm

⇧Ni=1 deg(fi)

di = deg(fi)

g =

2

64zd11 � 1

.

.

.

zdNN � 1

3

75

3

Page 39: Numerical Algebraic Geometry - Colorado State Universitybates/NAG_M2_UIUC_14_day... · 2014-06-16 · •Make you into NAG experts! • Describe every alternative algorithm! • Placate

Basic homotopy continuation B. Root counts & start systems

���39

Bézout++: # finite, isolated solutions is also bounded above by some combinatorial formula built from the multidegrees of the polynomials, when the variables are broken into multiple groups. !Depending on choice of variable groups, you might get fewer or more startpoints (typically more). !Example: !!The total degree is 4.

N > n

N < n

PN

SecurityMaxNorm

⇧Ni=1 deg(fi)

di = deg(fi)

g =

2

64zd11 � 1

.

.

.

zdNN � 1

3

75

g =

xy � 1x2 � 1

3

Page 40: Numerical Algebraic Geometry - Colorado State Universitybates/NAG_M2_UIUC_14_day... · 2014-06-16 · •Make you into NAG experts! • Describe every alternative algorithm! • Placate

Basic homotopy continuation B. Root counts & start systems

���40

Example: !!The total degree is 4. !!!!!!The 2-homogeneous (or 2-hom) degree is 2, so we can build a start system with 2 nonsingular, isolated solutions and follow only 2 paths to find all solutions. !

N > n

N < n

PN

SecurityMaxNorm

⇧Ni=1 deg(fi)

di = deg(fi)

g =

2

64zd11 � 1

.

.

.

zdNN � 1

3

75

g =

xy � 1x2 � 1

3

“main”2013/3/17page 81

DRAFT

5.1. Multihomogeneous homotopy 81

N 1 2 3 4 5 6 7 8Bell(N) 1 2 5 15 52 203 877 4140

N 9 10 11 12Bell(N) 21,147 115,975 678,570 4,213,597

N 25Bell(N) 4,638,590,332,229,999,353

Table 5.1. Illustration of the growth of Bell(N) as N grows.

example, the cubic x2z+xyz+1 is quadratic in (x, y) and linear in z, so a partitionof the variables as {(x, y), (z)} could be advantageous. If all three polynomials ina system of three polynomials in C[x, y, z] had this same degree structure, then itwould certainly be an advantage to partition the variables in this manner. Thesituation becomes more complicated when a subdivision reduces degrees in somepolynomials of the system but increases them in others.

5.1.1 Multihomogeneous Bezout number

The number of paths in a multihomogeneous homotopy, also called the multiho-mogeneous Bezout number17 of the system, is closely tied to multihomogeneousprojective spaces already mentioned in §4.5. To decide which grouping of the vari-ables to use, one may easily compute the multihomogeneous Bezout number of eachgrouping under consideration, and pick the smallest one. As already mentioned, thetotal number of possible groupings grows quickly with the number of variables, soBertini does not automate an exhaustive search. But with a little practice, a usercan identify and check the most promising candidates.

Instead of introducing a detailed notation for expressing the multihomoge-neous Bezout number, let us demonstrate the idea through examples. Let’s startwith the system

xy − 1 = 0, x2 − 1 = 0. (5.1)

There are two possible groupings, {(x, y)} and {(x), (y)}, each with its own Bezoutnumber. For each grouping, we make a multidegree table with one column pergroup and one row per equation, as follows. For the grouping {(x, y)}, the table is:

(x, y)

xy − 1 2x2 − 1 2

17For brevity, we may sometimes call this variously the ‘Bezout number’, the ‘Bezout count’, oreven simply the ‘root count’.

“main”2013/3/17page 82

DRAFT

82 Chapter 5. Types of Homotopies

since both equations have degree 2, while for {(x), (y)}, we have:

(x) (y)

xy − 1 1 1x2 − 1 2 0

indicating the degrees of the polynomials with respect to each variable group. Inthe latter case, we may say the polynomial xy − 1 has multidegree (1, 1), or moresimply, the polynomial is type (1, 1), while x2 − 1 is type (2, 0).

The rules for computing the Bezout number for a given degree table are asfollows. As a preparatory step, replace the variable groups with the dimension ofthe subspace they live in. That is, (x, y) ∈ C2, so the first table becomes

2

xy − 1 2x2 − 1 2

while since x ∈ C and y ∈ C, the second one becomes

1 1

xy − 1 1 1x2 − 1 2 0

Before evaluating the multihomogeneous Bezout count for these and otherexamples, let us describe the general methodology. First, lay out the multidegreetable for an m-homogeneous system as:

k1 · · · km

f1 d1,1 · · · d1,m...

......

fN dN,1 · · · dN,m

So kj is the dimension of the jth group of variables (Ckj or Pkj , as appropriate), anddi,j is the degree of the ith polynomial, fi, with respect to the jth variable group.With this notation, the rules for evaluating the m-homogeneous Bezout count are:

1. find all ways of choosing N of the di,j such that there is one chosen in eachrow and kj chosen in each column j;

2. for each such choice, multiply the chosen degrees; and

3. sum these products over all the choices.

Let us return to the example above. In the 1-homogeneous case of {(x, y)},there is only one combination of the multidegrees that is possible, so the Bezout

Page 41: Numerical Algebraic Geometry - Colorado State Universitybates/NAG_M2_UIUC_14_day... · 2014-06-16 · •Make you into NAG experts! • Describe every alternative algorithm! • Placate

Basic homotopy continuation B. Root counts & start systems

���41

Example: !!The total degree is 4. !!!!!!The 2-homogeneous (or 2-hom) degree is 2, so we can build a start system with 2 nonsingular, isolated solutions and follow only 2 paths to find all solutions. !

N > n

N < n

PN

SecurityMaxNorm

⇧Ni=1 deg(fi)

di = deg(fi)

g =

2

64zd11 � 1

.

.

.

zdNN � 1

3

75

g =

xy � 1x2 � 1

3

“main”2013/3/17page 81

DRAFT

5.1. Multihomogeneous homotopy 81

N 1 2 3 4 5 6 7 8Bell(N) 1 2 5 15 52 203 877 4140

N 9 10 11 12Bell(N) 21,147 115,975 678,570 4,213,597

N 25Bell(N) 4,638,590,332,229,999,353

Table 5.1. Illustration of the growth of Bell(N) as N grows.

example, the cubic x2z+xyz+1 is quadratic in (x, y) and linear in z, so a partitionof the variables as {(x, y), (z)} could be advantageous. If all three polynomials ina system of three polynomials in C[x, y, z] had this same degree structure, then itwould certainly be an advantage to partition the variables in this manner. Thesituation becomes more complicated when a subdivision reduces degrees in somepolynomials of the system but increases them in others.

5.1.1 Multihomogeneous Bezout number

The number of paths in a multihomogeneous homotopy, also called the multiho-mogeneous Bezout number17 of the system, is closely tied to multihomogeneousprojective spaces already mentioned in §4.5. To decide which grouping of the vari-ables to use, one may easily compute the multihomogeneous Bezout number of eachgrouping under consideration, and pick the smallest one. As already mentioned, thetotal number of possible groupings grows quickly with the number of variables, soBertini does not automate an exhaustive search. But with a little practice, a usercan identify and check the most promising candidates.

Instead of introducing a detailed notation for expressing the multihomoge-neous Bezout number, let us demonstrate the idea through examples. Let’s startwith the system

xy − 1 = 0, x2 − 1 = 0. (5.1)

There are two possible groupings, {(x, y)} and {(x), (y)}, each with its own Bezoutnumber. For each grouping, we make a multidegree table with one column pergroup and one row per equation, as follows. For the grouping {(x, y)}, the table is:

(x, y)

xy − 1 2x2 − 1 2

17For brevity, we may sometimes call this variously the ‘Bezout number’, the ‘Bezout count’, oreven simply the ‘root count’.

“main”2013/3/17page 82

DRAFT

82 Chapter 5. Types of Homotopies

since both equations have degree 2, while for {(x), (y)}, we have:

(x) (y)

xy − 1 1 1x2 − 1 2 0

indicating the degrees of the polynomials with respect to each variable group. Inthe latter case, we may say the polynomial xy − 1 has multidegree (1, 1), or moresimply, the polynomial is type (1, 1), while x2 − 1 is type (2, 0).

The rules for computing the Bezout number for a given degree table are asfollows. As a preparatory step, replace the variable groups with the dimension ofthe subspace they live in. That is, (x, y) ∈ C2, so the first table becomes

2

xy − 1 2x2 − 1 2

while since x ∈ C and y ∈ C, the second one becomes

1 1

xy − 1 1 1x2 − 1 2 0

Before evaluating the multihomogeneous Bezout count for these and otherexamples, let us describe the general methodology. First, lay out the multidegreetable for an m-homogeneous system as:

k1 · · · km

f1 d1,1 · · · d1,m...

......

fN dN,1 · · · dN,m

So kj is the dimension of the jth group of variables (Ckj or Pkj , as appropriate), anddi,j is the degree of the ith polynomial, fi, with respect to the jth variable group.With this notation, the rules for evaluating the m-homogeneous Bezout count are:

1. find all ways of choosing N of the di,j such that there is one chosen in eachrow and kj chosen in each column j;

2. for each such choice, multiply the chosen degrees; and

3. sum these products over all the choices.

Let us return to the example above. In the 1-homogeneous case of {(x, y)},there is only one combination of the multidegrees that is possible, so the Bezout

Page 42: Numerical Algebraic Geometry - Colorado State Universitybates/NAG_M2_UIUC_14_day... · 2014-06-16 · •Make you into NAG experts! • Describe every alternative algorithm! • Placate

Basic homotopy continuation B. Root counts & start systems

���42

It is tempting to just try all possible variable groupings…DON’T! !The number of such groupings for n variables grows as the Bell number: !

“main”2013/3/17page 81

DRAFT

5.1. Multihomogeneous homotopy 81

N 1 2 3 4 5 6 7 8Bell(N) 1 2 5 15 52 203 877 4140

N 9 10 11 12Bell(N) 21,147 115,975 678,570 4,213,597

N 25Bell(N) 4,638,590,332,229,999,353

Table 5.1. Illustration of the growth of Bell(N) as N grows.

example, the cubic x2z+xyz+1 is quadratic in (x, y) and linear in z, so a partitionof the variables as {(x, y), (z)} could be advantageous. If all three polynomials ina system of three polynomials in C[x, y, z] had this same degree structure, then itwould certainly be an advantage to partition the variables in this manner. Thesituation becomes more complicated when a subdivision reduces degrees in somepolynomials of the system but increases them in others.

5.1.1 Multihomogeneous Bezout number

The number of paths in a multihomogeneous homotopy, also called the multiho-mogeneous Bezout number17 of the system, is closely tied to multihomogeneousprojective spaces already mentioned in §4.5. To decide which grouping of the vari-ables to use, one may easily compute the multihomogeneous Bezout number of eachgrouping under consideration, and pick the smallest one. As already mentioned, thetotal number of possible groupings grows quickly with the number of variables, soBertini does not automate an exhaustive search. But with a little practice, a usercan identify and check the most promising candidates.

Instead of introducing a detailed notation for expressing the multihomoge-neous Bezout number, let us demonstrate the idea through examples. Let’s startwith the system

xy − 1 = 0, x2 − 1 = 0. (5.1)

There are two possible groupings, {(x, y)} and {(x), (y)}, each with its own Bezoutnumber. For each grouping, we make a multidegree table with one column pergroup and one row per equation, as follows. For the grouping {(x, y)}, the table is:

(x, y)

xy − 1 2x2 − 1 2

17For brevity, we may sometimes call this variously the ‘Bezout number’, the ‘Bezout count’, oreven simply the ‘root count’.

Page 43: Numerical Algebraic Geometry - Colorado State Universitybates/NAG_M2_UIUC_14_day... · 2014-06-16 · •Make you into NAG experts! • Describe every alternative algorithm! • Placate

Basic homotopy continuation B. Root counts & start systems

���43

It is tempting to just try all possible variable groupings…DON’T! !The number of such groupings for n variables grows as the Bell number: !

“main”2013/3/17page 81

DRAFT

5.1. Multihomogeneous homotopy 81

N 1 2 3 4 5 6 7 8Bell(N) 1 2 5 15 52 203 877 4140

N 9 10 11 12Bell(N) 21,147 115,975 678,570 4,213,597

N 25Bell(N) 4,638,590,332,229,999,353

Table 5.1. Illustration of the growth of Bell(N) as N grows.

example, the cubic x2z+xyz+1 is quadratic in (x, y) and linear in z, so a partitionof the variables as {(x, y), (z)} could be advantageous. If all three polynomials ina system of three polynomials in C[x, y, z] had this same degree structure, then itwould certainly be an advantage to partition the variables in this manner. Thesituation becomes more complicated when a subdivision reduces degrees in somepolynomials of the system but increases them in others.

5.1.1 Multihomogeneous Bezout number

The number of paths in a multihomogeneous homotopy, also called the multiho-mogeneous Bezout number17 of the system, is closely tied to multihomogeneousprojective spaces already mentioned in §4.5. To decide which grouping of the vari-ables to use, one may easily compute the multihomogeneous Bezout number of eachgrouping under consideration, and pick the smallest one. As already mentioned, thetotal number of possible groupings grows quickly with the number of variables, soBertini does not automate an exhaustive search. But with a little practice, a usercan identify and check the most promising candidates.

Instead of introducing a detailed notation for expressing the multihomoge-neous Bezout number, let us demonstrate the idea through examples. Let’s startwith the system

xy − 1 = 0, x2 − 1 = 0. (5.1)

There are two possible groupings, {(x, y)} and {(x), (y)}, each with its own Bezoutnumber. For each grouping, we make a multidegree table with one column pergroup and one row per equation, as follows. For the grouping {(x, y)}, the table is:

(x, y)

xy − 1 2x2 − 1 2

17For brevity, we may sometimes call this variously the ‘Bezout number’, the ‘Bezout count’, oreven simply the ‘root count’.

Page 44: Numerical Algebraic Geometry - Colorado State Universitybates/NAG_M2_UIUC_14_day... · 2014-06-16 · •Make you into NAG experts! • Describe every alternative algorithm! • Placate

Basic homotopy continuation B. Root counts & start systems

���44

Warning: I am entirely ignoring polyhedral homotopies, which can be very efficient in terms of the number of paths to be tracked but is sometimes expensive in terms of precomputation.

December 29, 2004 11:35 WSPC/Book Trim Size for 9.75in x 6.5in main975x65

118 Numerical Solution of Systems of Polynomials Arising in Engineering and Science

8.1 A Hierarchy of Structures

Coefficient-Parameter

Polynomial

Products

Newton

Polytopes

Monomial Products

Linear Products

Multihomogeneous

Total Degree

!

!

!

!

!

!

!

easierstartsystem

specificity(fewer paths)

❥A❥B

Fig. 8.1 Classes of Product Structures. Below line A, start systems can be solved using onlyroutines for solving linear systems of equations. Above line B, special methods must be designedcase-by-case.

Figure 8.1 shows a hierarchy of classes of special structures that are useful inconstructing homotopies. Each structure in the diagram is a member of the classabove it; for example, a total degree structure is a particular kind of multihomo-geneous structure. (In particular, as we will shortly see, it is a one-homogeneousstructure.) As we ascend the hierarchy, each class of structures presents more andmore possibilities for matching a particular target system that we wish to solve. Asindicated on the right of the diagram, this means that we can select a more specialstructure, usually with the aim of reducing the number of solution paths to trackin the homotopy. The trade-off we face in this ascent is indicated by the downwardpointing arrow on the left of the diagram: the lower structures allow us to selectstart systems that are easier to solve. For some problems, the ascent up the dia-gram pays handsomely in path reduction and may turn an intractable problem intoa solvable one. On the other hand, it can happen that solving a start system for ahigher structure can consume more computer time than is saved in path reduction.Unfortunately, even just counting the number of roots of the start system can beexpensive, so it is a matter of experience to decide the most advantageous spot inthis hierarchy to solve a particular problem.

Two dashed lines appear in Figure 8.1 to demarcate significant differences in thestart systems of homotopies respecting the various special structures. Below Line A,

from Sommese-Wampler book

Page 45: Numerical Algebraic Geometry - Colorado State Universitybates/NAG_M2_UIUC_14_day... · 2014-06-16 · •Make you into NAG experts! • Describe every alternative algorithm! • Placate

Basic homotopy continuation C. Adaptive precision

���45

For matrix , the singular value decomposition (SVD) of is a decomposition with various properties. !For our purposes, the key is that is diagonal with nonnegative real entries called the singular values of . !Using this, we can define the condition number of as: !!!Wilkinson: When solving linear system ,

N > n

N < n

PN

SecurityMaxNorm

⇧Ni=1 deg(fi)

di = deg(fi)

g =

2

64zd11 � 1

.

.

.

zdNN � 1

3

75

g =

xy � 1x2 � 1

A 2 CN⇥N

3

N > n

N < n

PN

SecurityMaxNorm

⇧Ni=1 deg(fi)

di = deg(fi)

g =

2

64zd11 � 1

.

.

.

zdNN � 1

3

75

g =

xy � 1x2 � 1

A 2 CN⇥N

3

N > n

N < n

PN

SecurityMaxNorm

⇧Ni=1 deg(fi)

di = deg(fi)

g =

2

64zd11 � 1

.

.

.

zdNN � 1

3

75

g =

xy � 1x2 � 1

A 2 CN⇥N

A = U⌃V ⇤

3

N > n

N < n

PN

SecurityMaxNorm

⇧Ni=1 deg(fi)

di = deg(fi)

g =

2

64zd11 � 1

.

.

.

zdNN � 1

3

75

g =

xy � 1x2 � 1

A 2 CN⇥N

A = U⌃V ⇤

3

N > n

N < n

PN

SecurityMaxNorm

⇧Ni=1 deg(fi)

di = deg(fi)

g =

2

64zd11 � 1

.

.

.

zdNN � 1

3

75

g =

xy � 1x2 � 1

A 2 CN⇥N

3

(A) = smax

smin

4

N > n

N < n

PN

SecurityMaxNorm

⇧Ni=1 deg(fi)

di = deg(fi)

g =

2

64zd11 � 1

.

.

.

zdNN � 1

3

75

g =

xy � 1x2 � 1

A 2 CN⇥N

3

(A) = smax

smin

Ax = b

4

(A) = smax

smin

Ax = b

ACC ⇡ PREC� log10((A))

4

Page 46: Numerical Algebraic Geometry - Colorado State Universitybates/NAG_M2_UIUC_14_day... · 2014-06-16 · •Make you into NAG experts! • Describe every alternative algorithm! • Placate

Basic homotopy continuation C. Adaptive precision

���46

For matrix , the singular value decomposition (SVD) of is a decomposition with various properties. !For our purposes, the key is that is diagonal with nonnegative real entries called the singular values of . !Using this, we can define the condition number of as: !!!Wilkinson: When solving linear system ,

N > n

N < n

PN

SecurityMaxNorm

⇧Ni=1 deg(fi)

di = deg(fi)

g =

2

64zd11 � 1

.

.

.

zdNN � 1

3

75

g =

xy � 1x2 � 1

A 2 CN⇥N

3

N > n

N < n

PN

SecurityMaxNorm

⇧Ni=1 deg(fi)

di = deg(fi)

g =

2

64zd11 � 1

.

.

.

zdNN � 1

3

75

g =

xy � 1x2 � 1

A 2 CN⇥N

3

N > n

N < n

PN

SecurityMaxNorm

⇧Ni=1 deg(fi)

di = deg(fi)

g =

2

64zd11 � 1

.

.

.

zdNN � 1

3

75

g =

xy � 1x2 � 1

A 2 CN⇥N

A = U⌃V ⇤

3

N > n

N < n

PN

SecurityMaxNorm

⇧Ni=1 deg(fi)

di = deg(fi)

g =

2

64zd11 � 1

.

.

.

zdNN � 1

3

75

g =

xy � 1x2 � 1

A 2 CN⇥N

A = U⌃V ⇤

3

N > n

N < n

PN

SecurityMaxNorm

⇧Ni=1 deg(fi)

di = deg(fi)

g =

2

64zd11 � 1

.

.

.

zdNN � 1

3

75

g =

xy � 1x2 � 1

A 2 CN⇥N

3

(A) = smax

smin

4

N > n

N < n

PN

SecurityMaxNorm

⇧Ni=1 deg(fi)

di = deg(fi)

g =

2

64zd11 � 1

.

.

.

zdNN � 1

3

75

g =

xy � 1x2 � 1

A 2 CN⇥N

3

(A) = smax

smin

Ax = b

4

(A) = smax

smin

Ax = b

ACC ⇡ PREC� log10((A))

4

Page 47: Numerical Algebraic Geometry - Colorado State Universitybates/NAG_M2_UIUC_14_day... · 2014-06-16 · •Make you into NAG experts! • Describe every alternative algorithm! • Placate

Basic homotopy continuation C. Adaptive precision

���47

!!So, when the condition number gets high, we can increase precision to salvage accuracy. (There are many details….) !This isn’t free!! (There is a new multiprecision LAPACK on the way.) !The key point is that zones of ill-conditioning can cause numerical trouble but AMP reduces the size of these zones significantly. Of course, there is a limit on PREC and failure-causing pathologies can be constructed. !This is OK, so long as we recognize and report such failures!

(A) = smax

smin

Ax = b

ACC ⇡ PREC� log10((A))

4

Page 48: Numerical Algebraic Geometry - Colorado State Universitybates/NAG_M2_UIUC_14_day... · 2014-06-16 · •Make you into NAG experts! • Describe every alternative algorithm! • Placate

Basic homotopy continuation D. Endgames

���48

We cannot avoid t=0 — that is our target! !Interesting systems often have singular solutions, but we cannot track into t=0. So, we have endgames. !Two main options: !1. Power series endgame…. !2. Cauchy endgame….

Page 49: Numerical Algebraic Geometry - Colorado State Universitybates/NAG_M2_UIUC_14_day... · 2014-06-16 · •Make you into NAG experts! • Describe every alternative algorithm! • Placate

Basic homotopy continuation D. Endgames

���49

We cannot avoid t=0 — that is our target! !Interesting systems often have singular solutions, but we cannot track into t=0. So, we have endgames. !Two main options: !1. Power series endgame…. !2. Cauchy endgame….

Page 50: Numerical Algebraic Geometry - Colorado State Universitybates/NAG_M2_UIUC_14_day... · 2014-06-16 · •Make you into NAG experts! • Describe every alternative algorithm! • Placate

Basic homotopy continuation E. Sharpening

���50

After finding an isolated solution, it is sometimes necessary to sharpen the endpoint, i.e., find more (accurate) digits. !If the solution is nonsingular, this is just a matter of running Newton’s method several more times. !If the solution is singular, we need deflation (next). !Bertini can do this….

Page 51: Numerical Algebraic Geometry - Colorado State Universitybates/NAG_M2_UIUC_14_day... · 2014-06-16 · •Make you into NAG experts! • Describe every alternative algorithm! • Placate

Basic homotopy continuation F. Advanced topics: Deflation and regeneration

���51

Main idea of deflation: Given a singular isolated solution of f, replace f with a polynomial system having the original solution as a nonsingular solution. !There are many manifestations of deflation (starting with Leykin-Verschelde-Zhao for polynomial systems), but here’s the simplest version: !! where: is a set of d general liners we replace singular solution with . !

“main”2013/3/17page 210

DRAFT

210 Chapter 11. Advanced Topics Connected with Positive-Dimensional Solution Sets

After running Bertini, the last line printed to the screen, which is shown below,informs the user that two points had to be deflated.

Witness Points Deflated: 2

The remainder of this section describes how Bertini deflated this multiplicity 2component.

We start with the isolated case, that is, let f : CN → Cn be a polynomialsystem and x∗ be an isolated zero of multiplicity m > 1. By deflating f at x∗, wemean to construct a new polynomial system g : CN+N ′ → Cn+n′

and point (x∗,λ∗)with mult(g, (x∗,λ∗)) = 1. That is, Newton’s method applied to g near (x∗,λ∗)will be locally quadratic convergent. The modern study of restoring quadraticconvergence of Newton’s method in this context arises from work presented in [121,120] which were formalized into algorithms in [96] and [100] following a symbolicand numerical approach, respectively, with variants of deflation presented in [36, 78,101]. We describe the extrinsic deflation approach of [36] since this is the approachcurrently used by Bertini.

Let d be the dimension of the nullspace of the Jacobian of f at x∗, namely,d = dimnull Jf(x∗), and K : CN → Cd be a system of general linear polynomials.Consider the polynomial system g : C2N → C2n+1 defined by

g(x,λ) =

⎣f(x)

Jf(x) · λK(λ)

⎦ .

Based on the construction, g(x∗,λ) = 0 is a system of linear equations that has aunique solution, say λ∗. In particular, since x∗ is an isolated zero of f , it follows that(x∗,λ∗) is an isolated zero of g. If (x∗,λ∗) was nonsingular with respect to g, theprocess is terminated. Otherwise, we simply repeat the process upon renaming g asf and (x∗,λ∗) as x∗. The following theorem shows this process must terminate byshowing that the multiplicity (shown in [100]) and depth (shown in [36]) is reducedafter each iteration.

Theorem 11.11. Assume that x∗ is isolated with multiplicity m > 1 and depthδ ≥ 1 with respect to f . Let g be the system and (x∗,λ∗) be the point constructedfrom one deflation iteration as above. Then, (x∗,λ∗) is isolated with multiplicity atmost m− 1 and depth at most δ − 1 with respect to g.

We next turn to the positive-dimensional case which, as first shown in [139,§13.3.2,§15.2.2], reduces to the isolated case. Let V be an irreducible component off−1(0) of multiplicity m > 1 with witness set {f,L,W}. For each w ∈ W , we knowthat w is an isolated solution of [f L]T = 0 of multiplicity m. We deflate V byfirst fixing w∗ ∈ W and applying deflation to {f,L} at w∗. It immediately followsthat, for each w ∈ W , there is a point (w,λw) which is a nonsingular solutionfor the resulting system g. Due to the choice of generic linear polynomials K inthe deflation process, this deflated system g will work generically on V . That is,consider deforming g starting at these nonsingular solutions (w,λw) by changing

“main”2013/3/17page 210

DRAFT

210 Chapter 11. Advanced Topics Connected with Positive-Dimensional Solution Sets

After running Bertini, the last line printed to the screen, which is shown below,informs the user that two points had to be deflated.

Witness Points Deflated: 2

The remainder of this section describes how Bertini deflated this multiplicity 2component.

We start with the isolated case, that is, let f : CN → Cn be a polynomialsystem and x∗ be an isolated zero of multiplicity m > 1. By deflating f at x∗, wemean to construct a new polynomial system g : CN+N ′ → Cn+n′

and point (x∗,λ∗)with mult(g, (x∗,λ∗)) = 1. That is, Newton’s method applied to g near (x∗,λ∗)will be locally quadratic convergent. The modern study of restoring quadraticconvergence of Newton’s method in this context arises from work presented in [121,120] which were formalized into algorithms in [96] and [100] following a symbolicand numerical approach, respectively, with variants of deflation presented in [36, 78,101]. We describe the extrinsic deflation approach of [36] since this is the approachcurrently used by Bertini.

Let d be the dimension of the nullspace of the Jacobian of f at x∗, namely,d = dimnull Jf(x∗), and K : CN → Cd be a system of general linear polynomials.Consider the polynomial system g : C2N → C2n+1 defined by

g(x,λ) =

⎣f(x)

Jf(x) · λK(λ)

⎦ .

Based on the construction, g(x∗,λ) = 0 is a system of linear equations that has aunique solution, say λ∗. In particular, since x∗ is an isolated zero of f , it follows that(x∗,λ∗) is an isolated zero of g. If (x∗,λ∗) was nonsingular with respect to g, theprocess is terminated. Otherwise, we simply repeat the process upon renaming g asf and (x∗,λ∗) as x∗. The following theorem shows this process must terminate byshowing that the multiplicity (shown in [100]) and depth (shown in [36]) is reducedafter each iteration.

Theorem 11.11. Assume that x∗ is isolated with multiplicity m > 1 and depthδ ≥ 1 with respect to f . Let g be the system and (x∗,λ∗) be the point constructedfrom one deflation iteration as above. Then, (x∗,λ∗) is isolated with multiplicity atmost m− 1 and depth at most δ − 1 with respect to g.

We next turn to the positive-dimensional case which, as first shown in [139,§13.3.2,§15.2.2], reduces to the isolated case. Let V be an irreducible component off−1(0) of multiplicity m > 1 with witness set {f,L,W}. For each w ∈ W , we knowthat w is an isolated solution of [f L]T = 0 of multiplicity m. We deflate V byfirst fixing w∗ ∈ W and applying deflation to {f,L} at w∗. It immediately followsthat, for each w ∈ W , there is a point (w,λw) which is a nonsingular solutionfor the resulting system g. Due to the choice of generic linear polynomials K inthe deflation process, this deflated system g will work generically on V . That is,consider deforming g starting at these nonsingular solutions (w,λw) by changing

(A) = smax

smin

Ax = b

ACC ⇡ PREC� log10((A))

K : CN ! Cd

4

(A) = smax

smin

Ax = b

ACC ⇡ PREC� log10((A))

K : CN ! Cd

x⇤

(x⇤,�⇤)

4

(A) = smax

smin

Ax = b

ACC ⇡ PREC� log10((A))

K : CN ! Cd

x⇤

(x⇤,�⇤)

4

The new solution will have lower multiplicity than the original solution. If it is still singular, we can repeat this process. Leykin-Vershchelde-Zhao showed that this process will terminate. !

Page 52: Numerical Algebraic Geometry - Colorado State Universitybates/NAG_M2_UIUC_14_day... · 2014-06-16 · •Make you into NAG experts! • Describe every alternative algorithm! • Placate

Basic homotopy continuation F. Advanced topics: Deflation and regeneration

���52

Main idea of regeneration: Solve the polynomial system one equation at a time ; this is the latest, greatest equation-by-equation method. !This is just a sequence of homotopies of a certain type…. !To use this in Bertini, use the config “UseRegeneration: 1”….

Page 53: Numerical Algebraic Geometry - Colorado State Universitybates/NAG_M2_UIUC_14_day... · 2014-06-16 · •Make you into NAG experts! • Describe every alternative algorithm! • Placate

1. Setting the ambiance

2. Bertini and friends

3. Basic homotopy continuation

4. Numerical irreducible decomposition

5. Advanced topics

!

!!!

Game plan — tomorrow!

���53