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

certifyDistinctSolutions -- determine whether given points are distinct approximate solutions to the system

Synopsis

Description

This function executes the gamma test based on the value computed by computeConstants, and determine whether given points are distinct or not.

i1 : R = RR[x1,x2,y1,y2];
i2 : f = polySystem {3*y1 + 2*y2 -1, 3*x1 + 2*x2 -3.5,x1^2 + y1^2 -1, x2^2 + y2^2 - 1};
i3 : p1 = point{{.95,.32,-.30,.95}};
i4 : p2 = point{{.65,.77,.76,-.64}};
i5 : certifyDistinctSolutions(f,p1,p2)

o5 = true

However, if two solutions are too close, it concludes that inputs are not distinct.

i6 : p1 = point{{.6525,.7712,.7577,-.6366}};
i7 : p2 = point{{.653,.771,.758,-.637}};
i8 : certifyDistinctSolutions(f,p1,p2)

o8 = false

Even worse, if two solutions are close enough and both have alpha value which are bigger than $0.03$, it gives indecisive comments.

In this case, user should apply newton to the point to get more precise approximation.

i9 : p1 = point{{.95,.32,-.30,.95}};
i10 : p2 = point{{.95,.32,-.301,.95}};
i11 : certifyDistinctSolutions(f,p1,p2)

o11 = false

Ways to use certifyDistinctSolutions :

For the programmer

The object certifyDistinctSolutions is a method function.