e=ellinit([1,-1,1,-1,-14]);
E=ellinit([0,0,0,-e.c4/48,-e.c6/864]);
P=[1,-1/4;0,1];
{
  forprime(p=3,40,if(p==17,next);
  A=ellpadicfrobenius(e,p,10);
  B=ellpadicfrobenius(E,p,10);
  if(P*B!=A*P,error(p)));
}

E=ellinit([1,-1,1,0,0]);P=[0,0];
ellpadicheight(E,2,4, P)
ellpadicheight(E,3,4, P)
ellpadicheight(E,5,4, P)

E=ellinit([0,-1,1,-10,-20]);P=[5,5];
ellpadicheight(E,19,6, P)
ellpadicheight(E,19,0, P)

E=ellinit([0,0,1,-4,2]);P=[-2,1];
ellpadicheight(E,3,5, P)
P2 = ellmul(E,P,2);
ellpadiclog(E,3,5,P)
ellpadiclog(E,3,5,P2)
E=ellinit([0,0,1,-7,6]);
P=[-2,3]; P2=ellmul(E,P,2);
Q=[-1,3]; Q2=ellmul(E,Q,2);
R=[0,2];
ellpadicheight(E,2,5, P,Q2)
ellpadicheight(E,2,5, P2,Q)
ellpadicheightmatrix(E,5,5, [P,Q,R])
ellpadicheight(E,[3,[1,2]],5, P)
ellpadicheight(E,[3,[1,2]],5, P,Q)
M=ellpadicheightmatrix(E,[5,[1,0]],5, [P,Q,R])
N=ellpadicheightmatrix(E,[5,[0,1]],5, [P,Q,R])
matdet(M)
matdet(N)

E=ellinit([-577/48,14689/864]);
ellpadics2(E,43,6)
E=ellinit([1,0,1,-460,-3830]);
ellpadics2(E,5,6)
E=ellinit([0,0,1,-1,0]);
ellpadics2(E,5,6)

E=ellinit([1, -1, 1, 0, 0]);
ellpadicfrobenius(E,5,7)
E=ellinit([0,0,1,-4,2]);
ellpadicfrobenius(E,3,5)
