def point(self, v, check=True): r""" Constructs a point on ``self`` corresponding to the input ``v``. If ``check`` is True, then checks if ``v`` defines a valid point on ``self``. If no rational point on ``self`` is known yet, then also caches the point for use by ``self.rational_point()`` and ``self.parametrization()``. EXAMPLES :: sage: c = Conic([1, -1, 1]) sage: c.point([15, 17, 8]) (15/8 : 17/8 : 1) sage: c.rational_point() (15/8 : 17/8 : 1) sage: d = Conic([1, -1, 1]) sage: d.rational_point() (1 : 1 : 0) """ if is_Vector(v): v = Sequence(v) p = ProjectiveCurve_generic.point(self, v, check=check) if self._rational_point is None: self._rational_point = p return p
def point(self, v, check=True): r""" Constructs a point on ``self`` corresponding to the input ``v``. If ``check`` is True, then checks if ``v`` defines a valid point on ``self``. If no rational point on ``self`` is known yet, then also caches the point for use by ``self.rational_point()`` and ``self.parametrization()``. EXAMPLES :: sage: c = Conic([1, -1, 1]) sage: c.point([15, 17, 8]) (15/8 : 17/8 : 1) sage: c.rational_point() (15/8 : 17/8 : 1) sage: d = Conic([1, -1, 1]) sage: d.rational_point() (-1 : 1 : 0) """ if is_Vector(v): v = Sequence(v) p = ProjectiveCurve_generic.point(self, v, check=check) if self._rational_point is None: self._rational_point = p return p