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

Synopsis

• Usage:
certifyDistinctSoln(PS, P1, P2)
• Inputs:
• PS, ,
• P1, ,
• P2, ,

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 = QQ[x1,x2,y1,y2]; i2 : f = polySystem {3*y1 + 2*y2 -1, 3*x1 + 2*x2 -7/2,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 : certifyDistinctSoln(f,p1,p2) o5 = true

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

 i6 : p1 = point{{.6525,.7712,.7577,-.6366}}; i7 : p2 = point{{.653,.771,.758,-.637}}; i8 : certifyDistinctSoln(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 newtonOper to the point to get more precise approximation.

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

Ways to use certifyDistinctSoln :

• "certifyDistinctSoln(PolySystem,Point,Point)"

For the programmer

The object certifyDistinctSoln is .