assumes that p is a homogeneous quadratic polynomial in the
first three ring variables of the current basering;
Assumes that there is a (1x3) matrix named 'point' in r with
entries from the ground field of r.
Return:
returns 1 iff the point named 'point', residing in r, lies on
the conic given by p; 0 otherwise
Note:
This method temporarily changes the basering to r. Afterwards,
the basering will be the same as before.
Example:
LIB "paraplanecurves.lib";
ring R = 0, (x,y,z), dp;
system("random", 4711);
poly p = x^2 + 2*y^2 + 5*z^2 - 4*x*y + 3*x*z + 17*y*z;
def S = rationalPointConic(p);
if (testPointConic(p, S) == 1)
==> conic: x2-4xy+2y2+3xz+17yz+5z2
==> point: (-1/4a), (-1/4a+1/4), 0
==> minpoly: (a2-2)
{ "point lies on conic"; }
==> point lies on conic
else
{ "point does not lie on conic"; }