def _height(P, check=True): if check: assert P.curve() == self._E, "the point P must lie on the curve from which the height function was created" Q = n * P cQ = denominator(Q[0]) uQ = self.lift(Q, prec=prec) si = self.__padic_sigma_square(uQ, prec=prec) nn = self._q.valuation() qEu = self._q / p ** nn return -(log(si*self._Csquare()/cQ) + log(uQ)**2/log(qEu)) / n**2
def _height(P, check=True): if check: assert P.curve( ) == self._E, "the point P must lie on the curve from which the height function was created" Q = n * P cQ = denominator(Q[0]) q = self.parameter(prec=prec) nn = q.valuation() precp = prec + nn + 2 uQ = self.lift(Q, prec=precp) si = self.__padic_sigma_square(uQ, prec=precp) q = self.parameter(prec=precp) nn = q.valuation() qEu = q / p**nn res = -(log(si * self._Csquare(prec=precp) / cQ) + log(uQ)**2 / log(qEu)) / n**2 R = Qp(self._p, prec) return R(res)