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. Note: this method requires PHCpack.
i1 : setRandomSeed 2020; |
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 : for i from 0 to 5 list norm evaluate(PS, sols#i) o7 = {1.57009e-16, 4.44089e-16, 7.1089e-16, 5.55112e-16, 1.07783e-15, ------------------------------------------------------------------------ 6.28037e-16} o7 : 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.
The object sparseMonodromySolve is a method function with options.