p adic regulator on different Weierstrass models.

asked 2022-10-26 20:12:51 +0100

fhn gravatar image

updated 2023-01-10 11:13:13 +0100

FrédéricC gravatar image

There are apparently some bugs when trying to calculate the $p-$ adic regulator on different Weierstrass models (both minimal at $p$). I am restricting my attention for Rank 1 curves over $\mathbb Q$

For example:

print(E.is_p_minimal(5), E1.is_p_minimal(5), E.padic_regulator(5)==E1.padic_regulator(5) )

If you run this, it will be True-True-False. And the inequality is not only up to a sign or a constant, the entire $p-$valuation of the regulator could be different.

This is not a special example, one can make dozens examples like this. The correct regulator is the one of $E$, i.e the one that uses THE minimal Weierstrass model.

I am trying to find where the problem boils down to. If you look at the code of the p-adic regulator, it says that :

" Todo: Remove restriction that curve must be in minimal Weierstrass form. This is currently required for E.gens()."

I have tried myself doing all the other steps "step by step" and I think they check out fine. But I am still confused on why there is such an issue for the command E.gens().

For example, in the above example, if you run


you will get True. And on the code for E.gens(), I don't see any restrictions for minimal models. And mind you, this bug does not appear all the time. For example, on the code itself for the $p$-adic regulator, they provide the example :

sage: E = EllipticCurve([0,0,0,0,2^12*17])
sage: Em = E.minimal_model()
sage: E.padic_regulator(7) == Em.padic_regulator(7)

So could someone direct me as to where the problem is?

edit retag flag offensive close merge delete


The question has been moved and (partially answered) on Overflow

fhn gravatar imagefhn ( 2022-11-05 06:02:23 +0100 )edit