6
$\begingroup$

I am a little confused on the $p$-adic regulator on elliptic curves and what happens when you switch to different Weierstrass models. Restrict to ell. curves over $\mathbb Q$ for simplicity.

From my understanding, to define the p-adic height (and more precisely the $p$-adic sigma function), you need an integral Weierstrass model minimal at $p$. As long as that condition is cleared, the $p$-adic regulator should be independent of the model.

However, when I try this in practice, I get different results. For example, (and this is the case with most examples), take the rank 1 curves on Sage:

E=EllipticCurve('143a1')
E.is_p_minimal(7)
E1=E.short_weierstrass_model()
E1.is_p_minimal(7)

It's easy to check, they're both minimal at $p=7$ and that $p=7$ is a good ordinary non-anomalous prime. (The model of $E$ is automatically The minimal Weierstrass model).

However, their regulators are completely different.

E.padic_regulator(7)
2*7^2 + 5*7^3 + 7^4 + 5*7^5 + 3*7^6 + 5*7^7 + 7^8 + 5*7^9 + O(7^10)
E1.padic_regulator(7)
3*7 + 3*7^2 + 4*7^3 + 3*7^4 + 5*7^6 + 7^8 + 3*7^9 + 5*7^11 + 7^12 +O(7^13)

Not only are they different, but their $p$-valuation as you can see is also different, which, without going through details, would imply in the first case that the Iwasawa $\lambda$ invariant would be greater than 1, whereas in the second case it would imply that $\lambda_p(E)= 1$, which is absurd since $\lambda_p(E)$ does not depend on the model. The correct regulator is the first one, of The minimal curve, since in this example one can check $\lambda_p(E) >1$.

At first I was convinced it was an implementation error by Sage, so I posted pretty much the same question on Ask Sage with the assumption that it was a bug, but for various reasons I could go through, now I have started to doubt that it was due to implementation errors, which is why I also decided to post the question here.

So in short, am I misunderstanding something? Shouldn't both the regulators be the same, since both models are minimal at $p$?

$\endgroup$
2
  • 3
    $\begingroup$ That looks like a bug to me; the $p$-adic height should be invariant under a change of Weierstrass model. (It may very well be that I am the origin of this bug.) When I get time I will look into it and fix it. $\endgroup$ Commented Nov 2, 2022 at 16:50
  • 1
    $\begingroup$ @ChrisWuthrich An easy fix is to define the regulator for non minimal models as E.minimal_model().padic_regulator(p) since I am quite sure that the algorithm on Sage works fine for the minimal model. However, I would be interested in seeing exactly what goes wrong on the original implementation on the non minimal models. I am certainly not an expert, but I thought I had good reasons to believe that the implementation was correct, which is what confused me and led me to post this question. $\endgroup$
    – foivos
    Commented Nov 2, 2022 at 17:13

2 Answers 2

2
$\begingroup$

Here a long comment to settle this question.

This is really a bug in the implementation of $p$-adic heights in sagemath. I have announced it as a bug here on the sage trac list. I hope to add the code to fix it soon after this post.

The current implementation is based on [1], which in turn is a refinement of the method by Mazur-Stein-Tate mentioned before.

First of all the $p$-adic height of a point on an elliptic curve must be independent of the chosen model. The formula used looks like $\hat{h}_p(P) = \log_p(\sigma_p(P)/d(P))$ up to a chosen constant factor, where $\sigma_p$ is the canonical $p$-adic $\sigma$-function for this model and $d(P)$ is the square root of the denominator of the $x$-coordinate of $P$. However this formula only holds if $P$ has good reduction at all places for the given model and trivial reduction at $p$. Instead of figuring out the correction factors introduced when the point has bad reduction in the model, one uses the fact that $\hat{h}_p$ is quadratic. First a certain multiple $Q=nP$ has good reduction everywhere. Then a multiple $mQ$ has trivial reduction at $p$.

The algorithm implemented took $n=\operatorname{lcm}(c_v)$, the lowest common multiple of all Tamagawa numbers, but this is only valid if the model is minimal. Instead for primes $p$ at which the model is not minimal, one needs to correct this.

As explained in [1], David Harvey has optimised the implementation by a clever trick to avoid the next multiplication by $m$ which brings the point into the formal group. As one only needs a $p$-adic approximation of $d(mQ)$ and of $\sigma(mQ)$. This follows the idea explained in the other answer.

I would avoid to try and extend this trick to the first multiplication $nP$ which aims at getting the point to have good reduction at all primes. The reason is that there will be cancellation in the fraction obtained by the formula using the $n$-th division polynomial $f_n$. When the point $P$ has good reduction at all primes then $d(nP) = f_n(P)\cdot d(P)^{n^2}$ as explained in Proposition 1 here. Otherwise this formula does not holds as such.

[1] MR2395362 Harvey, David Efficient computation of p-adic heights. LMS J. Comput. Math. 11 (2008), 40–59.

$\endgroup$
1
$\begingroup$

After some trial and error, here's what I think is the origin of the bug from my understanding. It's not a complete answer, but there's not enough space to write it as a comment.

The algorithm for the $p-$adic height follows, more or less, the algorith found in the paper by Mazur-Stein-Tate: (there are different conventions, e.g. on Sage the 1/p part is ignored etc, but the logic is the same)

enter image description here

The problem lies in the first step of the algorithm. In particular, we want to take $Q=mP$ such that:

(1) $Q$ reduces to $0\in E(\mathbb F_p)$

(2) $Q$ reduces to the non-singular component $E_{ns}(\mathbb F_\ell)$ over any bad prime $\ell$.

To achieve the first, we have to multiply $P$ with $N_p= \# E(\mathbb F_p)$ (or if you like, with the order of $\tilde P$ in $\tilde E(\mathbb F_p)$ ). This part is fine, regardless the model.

For (2), if the elliptic curve is in global minimal model, it suffices to multiply $P$ with $c=\prod c_\ell$, so that $Q=cP$ will always reduce to a non-singular point (follows immediately from the definition...). When the Elliptic Curve is NOT in minimal model though, $Q=cP$ will not always reduce to a non-singular point.

For reference, the reason we need (2) is so that $$|d(nQ)|=|d(Q)^{n^2}f_n(Q) | \qquad (3) $$ holds for any n. (Here $f_n$ is the division polynomial and $d(Q)$ is the denominator as explained on step 2 of the above image).

I am sure there are explicit ways of calculating the correct value for $c$ so that (2) (or equivalently (3) ) holds (I would be interested in knowing them). A very naive (but quick) way that I am currently using to resolve it is having a function that takes P=E.gen(0) and calculates the smallest value of c such that $$ |d(3 cP)| = |d(cP)^{3^2}f_3(cP) |$$

(I believe this is guaranteed to work as long as you take P as a generator. It is very inconvenient for complicated curves where finding generators is difficult/impossible, but for small curves the time is negligible. Hence a "correct" and explicit way of finding c would be helpful... I am not sure, mathematically, why or if that would imply (2) as I am only aware of the fact that $(2)\Rightarrow (3)$, not that a special case of (3) implies (2), but it seems that it does...)

Defining $m$ as the least common multiple of $c$ and $N_p$ and taking $Q=mP$ should resolve the issue. I have tried it with a wide range of rank 1 elliptic curves and always get the expected value for the $p-$adic regulator that agrees both with the one from the minimal model and that also gives the correct prediction for lambda invariants.

This is not a complete answer as the described algorithm to find $c$ is a bit silly (and unproven) but I hope it provides some insight. Any corrections or improvements are welcome.

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .