Samples points from an irreducible component of a variety using Bertini. The irreducible component needs to be in its numerical form as a WitnessSet. The method bertiniPosDimSolve can be used to generate a witness set for the component. Bertini (1) writes the witness set to a temporary file, (2) invokes Bertini's solver with option TrackType => 2, and (3 moves the hyperplanes defined in the WitnessSet W within the space until the desired points are sampled, (4) stores the output of Bertini in a temporary file, and finally (5) parses and outputs the solutions.
i1 : R = CC[x,y,z] o1 = R o1 : PolynomialRing |
i2 : F = { (y^2+x^2+z^2-1)*x, (y^2+x^2+z^2-1)*y } 3 2 2 2 3 2 o2 = {x + x*y + x*z - x, x y + y + y*z - y} o2 : List |
i3 : NV = bertiniPosDimSolve(F) o3 = NV o3 : NumericalVariety |
i4 : W = NV#1_0 --z-axis o4 = W o4 : WitnessSet |
i5 : bertiniSample(4, W) o5 = {{-1.03853e-320-1.67291e-320*ii, -8.73068e-20-5.9335e-20*ii, 2.81409+.182791*ii}, {9.88131e-324, -7.44426e-20-3.60071e-19*ii, 1.99906+1.58373*ii}, {0, -1.53316e-20-9.6132e-20*ii, .543814-.831323*ii}, {-1.94662e-321+7.41098e-322*ii, 3.22341e-21+1.48053e-20*ii, .109152-.286424*ii}} o5 : List |
The object bertiniSample is a method function with options.