Makdisi’s algorithms All we need is the matrix V =    v1(P1) v2(P1) · · · . . . . . . v1(Pn) v2(Pn) · · ·    where v1, v2 are “functions” on C forming a basis of the space of global sections of a line bundle L on C (≈ Riemann-Roch space), and P1, P2, · · · ∈ C are sufficiently many points. A point on J is then represented by a matrix W =    w1(P1) w2(P1) · · · . . . . . . w1(Pn) w2(Pn) · · ·    where w1, w2, · · · is a basis of a subspace. Nicolas Mascot p-adic computation of Galois representations