Macaulay2 » Documentation
Packages » MonodromySolver :: sparseMonodromySolve
next | previous | forward | backward | up | index | toc

sparseMonodromySolve -- an "out of the box" polynomial system solver

Synopsis

Description

Blackbox monodromy solver for a square polynomial system without parameters. The example below finds all six intersection of a generic cubic F with its quadratic polar curve P.

i1 : setRandomSeed 2021;
i2 : R=CC[x,y,z];
i3 : F=random(3,R);
-- warning: experimental computation over inexact field begun
--          results not reliable (one warning given per session)
i4 : P=sum apply(gens R,g->diff(g,F)*random CC);
i5 : PS = polySystem {F,P,random(1,R)-1};
i6 : sols = sparseMonodromySolve PS;
i7 : length points sols

o7 = 6
i8 : for i from 0 to 5 list norm evaluate(PS, sols#i)

o8 = {4.44089e-15, 1.0732e-14, 1.11022e-16, 6.66134e-16, 2.78677e-13,
     ------------------------------------------------------------------------
     2.98937e-16}

o8 : List

For systems with dense support such as the above, the total number of paths tracked is generally not optimal, though timings may be comparable.

Ways to use sparseMonodromySolve :

For the programmer

The object sparseMonodromySolve is a method function with options.