Ask Your Question

Lee's profile - activity

2019-08-11 16:05:54 -0600 asked a question How to find a CM point with the image in the elliptic curve under modular parametrization given

everyone! Let $E:y^2+y=x^3-61$ be the minimal model of the elliptic curve 243b. How can I find the CM point $\tau$ in $X_0(243)$ such that $\tau$ maps to the point $(3\sqrt[3]{3},4)$ under the modular parametrization? Can anyone tell me the answer or how to use sagemath to find it?

I use the sagemath code

EllipticCurve([0,0,1,0,-61])
phi = EllipticCurve([0,0,1,0,-61]).modular_parametrization()
f=phi.power_series(prec = 10000)[1]
f.truncate(20000)

to get the parametrization of y coordinate, then I use

q=var('q')
f(q)=
df=diff(f,q)              
NewtonIt(q)=q-(f/df)(q)
xn=e^(2*pi*I*a/20.031)                      
for i in range(1000):
    xn=N(NewtonIt(xn),digits=2000)
print xn

to get the numerical $e^{2\pi i \tau}$. After taking log and dividing by $2 \pi i$, I get the numerical $\tau$. But if I use

z=
p=z.algebraic_dependency(100)

I get the wrong polynomial. Why?

2017-03-28 18:38:01 -0600 received badge  Nice Question (source)
2017-03-20 05:33:45 -0600 commented answer How to use many cpus to compute in sage

Thank you very much! I modified the code into following

@parallel(ncpus=47)

def P(i,j):

if sqrt(i*i+i*j+j*j) in QQ:
    for k in [0,1,2]:
        L=Q(i,j)*W*Q(i,j)^(-1)*W^(-1)*B^k
        if Gamma(L):
            for l in [0,1,2]:
                M=Q(i,j)*B*Q(i,j)^(-1)*B^l
                if Gamma(M):
                    return i,j

I=[1..1000]

for i,j in itertools.product([1..100],I): P(i,j)

but seems no effect. What is the reason?

2017-03-19 04:22:40 -0600 received badge  Student (source)
2017-03-18 19:48:48 -0600 asked a question How to use many cpus to compute in sage

There is an server with 48 cpus in my office. I want to use all of them to compute the following codes in sage. How can I do that?

%time

import itertools

def is_matrix_integral(M):

    for i,j in itertools.product(range(2),range(2)):
        if M[i][j] not in ZZ:
            return False
    return True

def Gamma(M):

    if is_matrix_integral(M) and M[1][0]%243==0 and M.det()==1:
        return True
    return False


p=4

T=Matrix([[2,-1],[9,-4]])*Matrix([[4,0],[0,9]])

W=Matrix([[0,1],[-243,0]])

S=Matrix([[1,1/3],[0,1]])

A=Matrix([[1,0],[81,1]])

B=-1/(243)*W*A^(-1)*W*A

C=Matrix([[1,1/9],[-27,-2]])

e=Matrix([[1,0],[0,-1]])


def Q(a,c):

    return T*Matrix([[a,a+c],[c,-a]])*T^(-1)*e   

I=[-100000..-1]+[1..100000]

for i,j in itertools.product([1..100000],I):

    if sqrt(i*i+i*j+j*j) in QQ:
        for k in [0,1,2]:
            L=Q(i,j)*W*Q(i,j)^(-1)*W^(-1)*B^k
            if Gamma(L):
                print x,Q(i,j),Q(i,j).det(),i,j
                for l in [0,1,2]:
                    M=Q(i,j)*B*Q(i,j)^(-1)*B^l
                    if Gamma(M):
                        print x,x,M,M.det(),i,j,k,l
                        break