You should use on of the following two commands:

A1.<theta>=FFpr.quotient(ep)


A1.<theta>=PolynomialQuotientRing(FFpr,ep)

Le lundi 7 avril 2014 16:33:00 UTC+2, Irene a écrit :
>
> I am programming an example about elliptic curves but I need to define a 
> couple of field extensions to make there some operations and Sage consider 
> them as rings, then it doesn't allow me to compute divisions.
> What can I do?
> Here is the code:
>
> p=3700001
> Fp=GF(p)
> E=EllipticCurve([Fp(3),Fp(5)])
> j=E.j_invariant()
> l=13#Atkin prime
> n=((l-1)/2).round()
> r=2# Phi_13 factorize in factors of degree 2
> s=12#Psi_13 factorize in factors of degree 12
>
> #repsq(a,n) computes a^n
> def repsq(a,n):
>     B = Integer(n).binary()
>     C=list(B)
>     k=len(B)-1
>     bk=a
>     i=1
>     while i <= k:
>         if C[i]=="1":
>             bk=(bk^2)*a
>         else:
>             bk=bk^2
>         i=i+1
>     return bk
>
> d=E.division_polynomial(13)
> Fps=GF(repsq(p,s),'a')
> Fpr=GF(repsq(p,r),'b')
> FFpr.<x>=PolynomialRing(Fpr)
> Fl=GF(l)
> c=GF(2)
> rts=d.roots(Fps,multiplicities=False)
> Px=rts[0]
> Py2=Px^3+3*Px+5
> c=Fl.multiplicative_generator()
>
> def produx(n,Qx):
>     if is_odd(n):
>         
> pro=Qx-(E.division_polynomial(n-1,(Qx,1),two_torsion_multiplicity=1)*E.division_polynomial(n+1,(Qx,1),two_torsion_multiplicity=1))/((E.division_polynomial(n,(Qx,1),two_torsion_multiplicity=1)^2)
>  
> * (Qx+3*Qx+5))
>     else:
>         
> pro=Qx-(E.division_polynomial(n-1,(Qx,1),two_torsion_multiplicity=1)*E.division_polynomial(n+1,(Qx,1),two_torsion_multiplicity=1))*(Qx^3+3*Qx+5)/(E.division_polynomial(n,(Qx,1),two_torsion_multiplicity=1)^2)
>     return pro
>     
> #Ray-polynomial
> def EP(x,Qx,n):
>     i=2
>     m=(x-Qx)
>     while i<=n:
>         m=m*(x-produx(n,Qx))
>         i=i+1
>     return m
>
> ep=EP(x,Px,n)
> #A1.<theta>=FFpr.extension(ep)
> #A1.<theta>=PolynomialQuotientRing(Fpr,ep)
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-support" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-support+unsubscr...@googlegroups.com.
To post to this group, send email to sage-support@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-support.
For more options, visit https://groups.google.com/d/optout.

Reply via email to