Macaulay2 » Documentation
Packages » NumericalCertification :: certifySingularSolution
next | previous | forward | backward | up | index | toc

certifySingularSolution -- certify if a given point is a singular solution for a given system using the deflation method.

Synopsis

Description

This function determines if a given point or interval box is associated to a singular solution for a given system. It uses the fact that a singular solution can be regularized via the deflation method (e.g. see "Newton's method with deflation for isolated singularities of polynomial systems" (2006). Caveat : Certification is done by a subsystem obtained from the deflation method. It may produce a false positive result probabilistically.

i1 : R = CC[x,y,z];
i2 : f = polySystem {x^2+y+z-1,x+y^2+z-1,x+y+z^2-1};
i3 : p = point{{1e-7-1e-7*ii,1e-7+1e-7*ii,1+1e-7}};
i4 : certifySingularSolution(f,p)

o4 = true

It is known that an isolated singular solution is regularized within finitely many steps by the iterated first order deflation (e.g. see "Newton's method with deflation for isolated singularities of polynomial systems" (2006)). A positive integer can be given as a number of iterations. If no number is given, it iterates until the solution is regularized (hence, it may not be terminated).

i5 : R = CC[x,y]

o5 = R

o5 : PolynomialRing
i6 : f = polySystem {x+y^3,x^2*y-y^4};
i7 : p = point {{-3.38813e-21+1.35525e-20*ii, -3.38813e-21+2.03288e-20*ii}};
i8 : certifySingularSolution(f,p,2) -- false, two iterations are not enough

o8 = false
i9 : certifySingularSolution(f,p,3)

o9 = true

As it checks the regularity of a numerical point eventually, two strategies (alpha theory and interval arithmetic) can be used.

i10 : certifySingularSolution(f,p,3,Strategy => "intervalArithmetic")

o10 = true

Ways to use certifySingularSolution :

For the programmer

The object certifySingularSolution is a method function with options.