Interfacing with the Numerical Homotopy Algorithms in PHCpack Anton - - PowerPoint PPT Presentation

interfacing with the numerical homotopy algorithms in
SMART_READER_LITE
LIVE PREVIEW

Interfacing with the Numerical Homotopy Algorithms in PHCpack Anton - - PowerPoint PPT Presentation

PHCmaple PHCpack and C Interfacing with the Numerical Homotopy Algorithms in PHCpack Anton Leykin and Jan Verschelde Institute of Mathematics and its Applications, Minneapolis, USA ICMS 2006, Castro Urdiales Anton Leykin Interfacing with the


slide-1
SLIDE 1

PHCmaple PHCpack and C

Interfacing with the Numerical Homotopy Algorithms in PHCpack

Anton Leykin and Jan Verschelde

Institute of Mathematics and its Applications, Minneapolis, USA

ICMS 2006, Castro Urdiales

Anton Leykin Interfacing with the Numerical Homotopy Algorithms in PHCpack

slide-2
SLIDE 2

PHCmaple PHCpack and C

Evolution of PHCpack interfaces

PHCpack: a general-purpose solver for polynomial systems by homotopy continuation Implementation language: Ada User interface: interactive text terminal

1

OpenXM calls the blackbox solver

2

A simple Maple 7 procedure calls the blackbox solver

3

A functional C interface to the Ada routines in PHCpack

4

PHCmaple gives access to the tools of phc

5

PHCpack as a state machine Plan of the talk: Maple interface bindings for C

Anton Leykin Interfacing with the Numerical Homotopy Algorithms in PHCpack

slide-3
SLIDE 3

PHCmaple PHCpack and C dim = 0 dim > 0

Numerical algebraic geometry

Sommese and Wampler, “The numerical solution of systems of polynomials” (2005). What does it mean “to solve”? (dim = 0) the number of solutions is finite

the system is overdetermined compute the approximations to the solutions

(dim > 0) the solution set is infinite

decompose the solution set into equidimensional parts each part is represented via an approximation to a witness set decompose each equidimensional part into irreducible components

Anton Leykin Interfacing with the Numerical Homotopy Algorithms in PHCpack

slide-4
SLIDE 4

PHCmaple PHCpack and C dim = 0 dim > 0

Systems with a finite number of solutions

Basic idea of homotopy continuation

1

“Connect” a start system with known solutions to the target system via a homotopy.

2

Follow (numerically) the paths from the start solutions to the target solutions. phc[solve] – black-box solver A start system is created automatically: the number of paths to track in the worst case is the Bézout bound. phc[track] – specify start system and its solutions Tracks selected paths for a given start system. phc[drawPaths] – visualizing the continuation paths Draws projections of continuation paths on the specified coordinate C-axis.

Anton Leykin Interfacing with the Numerical Homotopy Algorithms in PHCpack

slide-5
SLIDE 5

PHCmaple PHCpack and C dim = 0 dim > 0

Singular isolated solutions The continuation procedure is not well-conditioned when approaching an isolated solution that is singular (=multiple). Example (Ojika (1995)) x2 + y − 3 = 0 x + 0.125y2 − 1.5 = 0 The solution x∗ = (1, 2) is isolated and singular – A(x) = 2x 1 1 0.25y

  • is a singular matrix at x = x∗.

First-order deflation Augment the original system with a certain number of linear combinations of the derivatives

  • f the original equations with

indeterminate coefficients. The resulting system has x∗ as a solution, but with lower multiplicity. Repeat the procedure until x∗ is regular.

Anton Leykin Interfacing with the Numerical Homotopy Algorithms in PHCpack

slide-6
SLIDE 6

PHCmaple PHCpack and C dim = 0 dim > 0

Example (Circles and points) x2 + y2 + (z − 1)2 − 1 = 0; (z − 0.5)(z − 1)y = 0; (z − 0.5)(z − 1)x = 0 define the following variety The solution set consists of four irreducible components: the two points (0, 0, 1), (0, 0, −1), and the circles x2 + y2 = 1 in the xy-plane and x2 + y2 = 0.75, z = 0.5. Witness set Higher-dimensional parts of the solution set are represented by 0-dimensional witness sets. Irreducible decomposition Usually, irreducible components correspond to essentially different solution cases of the underlying problem.

Anton Leykin Interfacing with the Numerical Homotopy Algorithms in PHCpack

slide-7
SLIDE 7

PHCmaple PHCpack and C C bindings Parallel homotopy continuation

Using PHCpack in C programs

Minimalism: PHCpack as a state machine The only Ada function used is function use_c2phc ( job : integer; a : C_intarrs.Pointer; b : C_intarrs.Pointer; c : C_dblarrs.Pointer ) return integer; and there are only three functions available in C extern void adainit( void ); extern int _ada_use_c2phc ( int job, ...); extern void adafinal( void ); Bindings There is a collection of header files matching job numbers for the state machine with functions having meaningful names.

Anton Leykin Interfacing with the Numerical Homotopy Algorithms in PHCpack

slide-8
SLIDE 8

PHCmaple PHCpack and C C bindings Parallel homotopy continuation

Parallel PHCpack

Why parallelize? Coarse-grain parallelization is natural for homotopy continuation methods. Master-slave paradigm: distribute path-tracking jobs over a cluster of worker nodes. Parallel implementations parallel monodromy decomposition parallel polyhedral homotopies Jan Verschelde, 3:30pm, Room B

Anton Leykin Interfacing with the Numerical Homotopy Algorithms in PHCpack

slide-9
SLIDE 9

PHCmaple PHCpack and C C bindings Parallel homotopy continuation

Caveats and future

Dependency on the operating system and Maple version Currently PHCmaple is available for Windows Maple 8+. It is considerably faster if Classical Worksheet is used. GPL interface for a commercial software? Yes, we will continue developing PHCmaple. Yes, we consider writing an interface for a major GPL computer system.

Anton Leykin Interfacing with the Numerical Homotopy Algorithms in PHCpack