Ask Your Question

Revision history [back]

The construction goes like this (obtained by entering E.height_pairing_matrix?? into a SageMath session):

for j in range(r):
    mat[j, j] = points[j].height(precision=precision, normalised=normalised)
for j in range(r):
    for k in range(j + 1, r):
        mat[j, k] = ((points[j] + points[k]).height(precision=precision, normalised=normalised) - mat[j, j] - mat[k, k]) / 2
        mat[k, j] = mat[j, k]

So the matrix contains P.height() and ((2*P).height() - 2*P.height())/2.