Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

programming of looping to print selected value of m

I have the following code for m=1:

Qp=pAdicField(13)
E=EllipticCurve(Qp,[0,0,0,-3267,45630]); E
P=E([-21,324]);P
p=13;p #because I am working 13-adically
R=12104*1*P;R #m=1
S=-2*P;S
Q=R+S;Q
(12 + 8*13 + 5*13^2 + 10*13^3 + 10*13^4 + O(13^5) : 9 + 3*13 + 6*13^2 + 13^3 + 5*13^4 + 2*13^5 + O(13^5) : 1 + O(13^5))

x=Q[0];x
12 + 8*13 + 5*13^2 + 10*13^3 + 10*13^4 + O(13^5)

y=Q[1];y
9 + 3*13 + 6*13^2 + 13^3 + 5*13^4 + O(13^5)
W=(81*x^16 + 40662*x^15 + 14353281*x^14 - 460241028*x^13 - 644722959186*x^12 + 39379675354740*x^11 + 5212980804862026*x^10 - 415546630058854656*x^9 - 8202010485984353739*x^8 + 1396767997483732402758*x^7 - 27550698906220673513787*x^6 - 1044392234943529703379852*x^5 + 60770398462922893831446348*x^4 - 1284453663719469166478575296*x^3 + 14183844641879715988450074288*x^2 - 81800517874945025246941522368*x + 196162341839727571433321441856)- (3240*x^14 + 456840*x^13 + 188268624*x^12 - 45834271200*x^11 - 2435651997264*x^10 + 682353767281968*x^9 - 7053953405575680*x^8 - 2553415737499629216*x^7 + 98906717445152189544*x^6 + 1348117411901578667784*x^5 - 162666175355778441465360*x^4 + 4276857451171442758058304*x^3 - 54456600108308451946891776*x^2 + 350065581968511893813480064*x - 918312303919436410092339456)*y;W
2 + 4*13 + 3*13^2 + 11*13^3 + 11*13^4 + O(13^5)

D=W[0];D
2
T=kronecker(D,p);T
-1

So in this example I reject m=1 because T=-1. So basically I want to do a loop for m=1,2,...,10, and everytime T=-1 I will reject that value of m and only leave set of numbers of m=[2,..10] that gives T=1. I tried doing the coding to work but it keeps giving error regarding the "m" value. I did something like this

Qp=pAdicField(13)
E=EllipticCurve(Qp,[0,0,0,-3267,45630]); E
P=E([-21,324]);P
p=13;p #because I am working 13-adically
R=12104*m*P;R #I use a general m which I will define later that m=1,2,...,10
S=-2*P;S
Q=R+S;Q
x=Q[0];x    
y=Q[1];y
W=(81*x^16 + 40662*x^15 + 14353281*x^14 - 460241028*x^13 - 644722959186*x^12 + 39379675354740*x^11 + 5212980804862026*x^10 - 415546630058854656*x^9 - 8202010485984353739*x^8 + 1396767997483732402758*x^7 - 27550698906220673513787*x^6 - 1044392234943529703379852*x^5 + 60770398462922893831446348*x^4 - 1284453663719469166478575296*x^3 + 14183844641879715988450074288*x^2 - 81800517874945025246941522368*x + 196162341839727571433321441856)- (3240*x^14 + 456840*x^13 + 188268624*x^12 - 45834271200*x^11 - 2435651997264*x^10 + 682353767281968*x^9 - 7053953405575680*x^8 - 2553415737499629216*x^7 + 98906717445152189544*x^6 + 1348117411901578667784*x^5 - 162666175355778441465360*x^4 + 4276857451171442758058304*x^3 - 54456600108308451946891776*x^2 + 350065581968511893813480064*x - 918312303919436410092339456)*y;W

D=W[0];D
T=kronecker(D,p);T

for (m=1,...,10);
   if(T=1);
      print(m)

Unfortunately, the programming is not working, keeps giving error for m.

programming of looping to print selected value of m

I have the following code for m=1:

Qp=pAdicField(13)
E=EllipticCurve(Qp,[0,0,0,-3267,45630]); E
P=E([-21,324]);P
p=13;p #because I am working 13-adically
R=12104*1*P;R #m=1
S=-2*P;S
Q=R+S;Q
(12 + 8*13 + 5*13^2 + 10*13^3 + 10*13^4 + O(13^5) : 9 + 3*13 + 6*13^2 + 13^3 + 5*13^4 + 2*13^5 + O(13^5) : 1 + O(13^5))

x=Q[0];x
12 + 8*13 + 5*13^2 + 10*13^3 + 10*13^4 + O(13^5)

y=Q[1];y
9 + 3*13 + 6*13^2 + 13^3 + 5*13^4 + O(13^5)
W=(81*x^16 + 40662*x^15 + 14353281*x^14 - 460241028*x^13 - 644722959186*x^12 + 39379675354740*x^11 + 5212980804862026*x^10 - 415546630058854656*x^9 - 8202010485984353739*x^8 + 1396767997483732402758*x^7 - 27550698906220673513787*x^6 - 1044392234943529703379852*x^5 + 60770398462922893831446348*x^4 - 1284453663719469166478575296*x^3 + 14183844641879715988450074288*x^2 - 81800517874945025246941522368*x + 196162341839727571433321441856)- (3240*x^14 + 456840*x^13 + 188268624*x^12 - 45834271200*x^11 - 2435651997264*x^10 + 682353767281968*x^9 - 7053953405575680*x^8 - 2553415737499629216*x^7 + 98906717445152189544*x^6 + 1348117411901578667784*x^5 - 162666175355778441465360*x^4 + 4276857451171442758058304*x^3 - 54456600108308451946891776*x^2 + 350065581968511893813480064*x - 918312303919436410092339456)*y;W
2 + 4*13 + 3*13^2 + 11*13^3 + 11*13^4 + O(13^5)

D=W[0];D
2
T=kronecker(D,p);T
-1

So in this example I reject m=1 because T=-1. So basically I want to do a loop for m=1,2,...,10, and everytime T=-1 I will reject that value of m and only leave set of numbers of m=[2,..10] that gives T=1. I tried doing the coding to work but it keeps giving error regarding the "m" value. I did something like this

Qp=pAdicField(13)
E=EllipticCurve(Qp,[0,0,0,-3267,45630]); E
P=E([-21,324]);P
p=13;p #because I am working 13-adically
R=12104*m*P;R #I use a general m which I will define later that m=1,2,...,10
S=-2*P;S
Q=R+S;Q
x=Q[0];x    
y=Q[1];y
W=(81*x^16 + 40662*x^15 + 14353281*x^14 - 460241028*x^13 - 644722959186*x^12 + 39379675354740*x^11 + 5212980804862026*x^10 - 415546630058854656*x^9 - 8202010485984353739*x^8 + 1396767997483732402758*x^7 - 27550698906220673513787*x^6 - 1044392234943529703379852*x^5 + 60770398462922893831446348*x^4 - 1284453663719469166478575296*x^3 + 14183844641879715988450074288*x^2 - 81800517874945025246941522368*x + 196162341839727571433321441856)- (3240*x^14 + 456840*x^13 + 188268624*x^12 - 45834271200*x^11 - 2435651997264*x^10 + 682353767281968*x^9 - 7053953405575680*x^8 - 2553415737499629216*x^7 + 98906717445152189544*x^6 + 1348117411901578667784*x^5 - 162666175355778441465360*x^4 + 4276857451171442758058304*x^3 - 54456600108308451946891776*x^2 + 350065581968511893813480064*x - 918312303919436410092339456)*y;W

D=W[0];D
T=kronecker(D,p);T

for (m=1,...,10);
m in range(12104) :
   if(T=1);
      print(m)
print m

Unfortunately, the programming is not working, keeps giving error for m.

programming of looping to print selected value of m

I have the following code for m=1:

Qp=pAdicField(13)
E=EllipticCurve(Qp,[0,0,0,-3267,45630]); E
P=E([-21,324]);P
p=13;p #because I am working 13-adically
R=12104*1*P;R #m=1
S=-2*P;S
Q=R+S;Q
(12 + 8*13 + 5*13^2 + 10*13^3 + 10*13^4 + O(13^5) : 9 + 3*13 + 6*13^2 + 13^3 + 5*13^4 + 2*13^5 + O(13^5) : 1 + O(13^5))

x=Q[0];x
12 + 8*13 + 5*13^2 + 10*13^3 + 10*13^4 + O(13^5)

y=Q[1];y
9 + 3*13 + 6*13^2 + 13^3 + 5*13^4 + O(13^5)
W=(81*x^16 + 40662*x^15 + 14353281*x^14 - 460241028*x^13 - 644722959186*x^12 + 39379675354740*x^11 + 5212980804862026*x^10 - 415546630058854656*x^9 - 8202010485984353739*x^8 + 1396767997483732402758*x^7 - 27550698906220673513787*x^6 - 1044392234943529703379852*x^5 + 60770398462922893831446348*x^4 - 1284453663719469166478575296*x^3 + 14183844641879715988450074288*x^2 - 81800517874945025246941522368*x + 196162341839727571433321441856)- (3240*x^14 + 456840*x^13 + 188268624*x^12 - 45834271200*x^11 - 2435651997264*x^10 + 682353767281968*x^9 - 7053953405575680*x^8 - 2553415737499629216*x^7 + 98906717445152189544*x^6 + 1348117411901578667784*x^5 - 162666175355778441465360*x^4 + 4276857451171442758058304*x^3 - 54456600108308451946891776*x^2 + 350065581968511893813480064*x - 918312303919436410092339456)*y;W
2 + 4*13 + 3*13^2 + 11*13^3 + 11*13^4 + O(13^5)

D=W[0];D
2
T=kronecker(D,p);T
-1

So in this example I reject m=1 because T=-1. So basically I want to do a loop for m=1,2,...,10, and everytime T=-1 I will reject that value of m and only leave set of numbers of m=[2,..10] that gives T=1. I tried doing the coding to work but it keeps giving error regarding the "m" value. I did something like this

Qp=pAdicField(13)
E=EllipticCurve(Qp,[0,0,0,-3267,45630]); E
P=E([-21,324]);P
p=13;p #because I am working 13-adically
R=12104*m*P;R #I use a general m which I will define later that m=1,2,...,10
S=-2*P;S
Q=R+S;Q
x=Q[0];x    
y=Q[1];y
W=(81*x^16 + 40662*x^15 + 14353281*x^14 - 460241028*x^13 - 644722959186*x^12 + 39379675354740*x^11 + 5212980804862026*x^10 - 415546630058854656*x^9 - 8202010485984353739*x^8 + 1396767997483732402758*x^7 - 27550698906220673513787*x^6 - 1044392234943529703379852*x^5 + 60770398462922893831446348*x^4 - 1284453663719469166478575296*x^3 + 14183844641879715988450074288*x^2 - 81800517874945025246941522368*x + 196162341839727571433321441856)- (3240*x^14 + 456840*x^13 + 188268624*x^12 - 45834271200*x^11 - 2435651997264*x^10 + 682353767281968*x^9 - 7053953405575680*x^8 - 2553415737499629216*x^7 + 98906717445152189544*x^6 + 1348117411901578667784*x^5 - 162666175355778441465360*x^4 + 4276857451171442758058304*x^3 - 54456600108308451946891776*x^2 + 350065581968511893813480064*x - 918312303919436410092339456)*y;W

D=W[0];D
T=kronecker(D,p);T

for m in range(12104) :
   if(T=1);
      print m
if T == 1:
     print(m)

Unfortunately, the programming is not working, keeps giving error for m.

programming of looping to print selected value of m

I have the following code for m=1:

Qp=pAdicField(13)
E=EllipticCurve(Qp,[0,0,0,-3267,45630]); E
P=E([-21,324]);P
p=13;p #because I am working 13-adically
R=12104*1*P;R #m=1
S=-2*P;S
Q=R+S;Q
(12 + 8*13 + 5*13^2 + 10*13^3 + 10*13^4 + O(13^5) : 9 + 3*13 + 6*13^2 + 13^3 + 5*13^4 + 2*13^5 + O(13^5) : 1 + O(13^5))

x=Q[0];x
12 + 8*13 + 5*13^2 + 10*13^3 + 10*13^4 + O(13^5)

y=Q[1];y
9 + 3*13 + 6*13^2 + 13^3 + 5*13^4 + O(13^5)
W=(81*x^16 + 40662*x^15 + 14353281*x^14 - 460241028*x^13 - 644722959186*x^12 + 39379675354740*x^11 + 5212980804862026*x^10 - 415546630058854656*x^9 - 8202010485984353739*x^8 + 1396767997483732402758*x^7 - 27550698906220673513787*x^6 - 1044392234943529703379852*x^5 + 60770398462922893831446348*x^4 - 1284453663719469166478575296*x^3 + 14183844641879715988450074288*x^2 - 81800517874945025246941522368*x + 196162341839727571433321441856)- (3240*x^14 + 456840*x^13 + 188268624*x^12 - 45834271200*x^11 - 2435651997264*x^10 + 682353767281968*x^9 - 7053953405575680*x^8 - 2553415737499629216*x^7 + 98906717445152189544*x^6 + 1348117411901578667784*x^5 - 162666175355778441465360*x^4 + 4276857451171442758058304*x^3 - 54456600108308451946891776*x^2 + 350065581968511893813480064*x - 918312303919436410092339456)*y;W
2 + 4*13 + 3*13^2 + 11*13^3 + 11*13^4 + O(13^5)

D=W[0];D
2
T=kronecker(D,p);T
-1

So in this example I reject m=1 because T=-1. So basically I want to do a loop for m=1,2,...,10, and everytime T=-1 I will reject that value of m and only leave set of numbers of m=[2,..10] that gives T=1. I tried doing the coding to work but it keeps giving error regarding the "m" value. I did something like this

Qp=pAdicField(13)
E=EllipticCurve(Qp,[0,0,0,-3267,45630]); E
P=E([-21,324]);P
p=13;p #because I am working 13-adically
R=12104*m*P;R #I use a general m which I will define later that m=1,2,...,10
S=-2*P;S
Q=R+S;Q
x=Q[0];x    
y=Q[1];y
W=(81*x^16 + 40662*x^15 + 14353281*x^14 - 460241028*x^13 - 644722959186*x^12 + 39379675354740*x^11 + 5212980804862026*x^10 - 415546630058854656*x^9 - 8202010485984353739*x^8 + 1396767997483732402758*x^7 - 27550698906220673513787*x^6 - 1044392234943529703379852*x^5 + 60770398462922893831446348*x^4 - 1284453663719469166478575296*x^3 + 14183844641879715988450074288*x^2 - 81800517874945025246941522368*x + 196162341839727571433321441856)- (3240*x^14 + 456840*x^13 + 188268624*x^12 - 45834271200*x^11 - 2435651997264*x^10 + 682353767281968*x^9 - 7053953405575680*x^8 - 2553415737499629216*x^7 + 98906717445152189544*x^6 + 1348117411901578667784*x^5 - 162666175355778441465360*x^4 + 4276857451171442758058304*x^3 - 54456600108308451946891776*x^2 + 350065581968511893813480064*x - 918312303919436410092339456)*y;W

D=W[0];D
T=kronecker(D,p);T

for m in range(12104) range(10) :
  if T == 1:
     print(m)

Unfortunately, the programming is not working, keeps giving error for m.

programming of looping to print selected value of m

I have the following code for m=1:

Qp=pAdicField(13)
E=EllipticCurve(Qp,[0,0,0,-3267,45630]); E
P=E([-21,324]);P
p=13;p #because I am working 13-adically
R=12104*1*P;R #m=1
S=-2*P;S
Q=R+S;Q
(12 + 8*13 + 5*13^2 + 10*13^3 + 10*13^4 + O(13^5) : 9 + 3*13 + 6*13^2 + 13^3 + 5*13^4 + 2*13^5 + O(13^5) : 1 + O(13^5))

x=Q[0];x
12 + 8*13 + 5*13^2 + 10*13^3 + 10*13^4 + O(13^5)

y=Q[1];y
9 + 3*13 + 6*13^2 + 13^3 + 5*13^4 + O(13^5)
W=(81*x^16 + 40662*x^15 + 14353281*x^14 - 460241028*x^13 - 644722959186*x^12 + 39379675354740*x^11 + 5212980804862026*x^10 - 415546630058854656*x^9 - 8202010485984353739*x^8 + 1396767997483732402758*x^7 - 27550698906220673513787*x^6 - 1044392234943529703379852*x^5 + 60770398462922893831446348*x^4 - 1284453663719469166478575296*x^3 + 14183844641879715988450074288*x^2 - 81800517874945025246941522368*x + 196162341839727571433321441856)- (3240*x^14 + 456840*x^13 + 188268624*x^12 - 45834271200*x^11 - 2435651997264*x^10 + 682353767281968*x^9 - 7053953405575680*x^8 - 2553415737499629216*x^7 + 98906717445152189544*x^6 + 1348117411901578667784*x^5 - 162666175355778441465360*x^4 + 4276857451171442758058304*x^3 - 54456600108308451946891776*x^2 + 350065581968511893813480064*x - 918312303919436410092339456)*y;W
2 + 4*13 + 3*13^2 + 11*13^3 + 11*13^4 + O(13^5)

D=W[0];D
2
T=kronecker(D,p);T
-1

So in this example I reject m=1 because T=-1. So basically I want to do a loop for m=1,2,...,10, and everytime T=-1 I will reject that value of m and only leave set of numbers of m=[2,..10] that gives T=1. I tried doing the coding to work but it keeps giving error regarding the "m" value. I did something like this

Qp=pAdicField(13)
E=EllipticCurve(Qp,[0,0,0,-3267,45630]); E
P=E([-21,324]);P
p=13;p #because I am working 13-adically
R=12104*m*P;R #I use a general m which I will define later that m=1,2,...,10
S=-2*P;S
Q=R+S;Q
x=Q[0];x    
y=Q[1];y
W=(81*x^16 + 40662*x^15 + 14353281*x^14 - 460241028*x^13 - 644722959186*x^12 + 39379675354740*x^11 + 5212980804862026*x^10 - 415546630058854656*x^9 - 8202010485984353739*x^8 + 1396767997483732402758*x^7 - 27550698906220673513787*x^6 - 1044392234943529703379852*x^5 + 60770398462922893831446348*x^4 - 1284453663719469166478575296*x^3 + 14183844641879715988450074288*x^2 - 81800517874945025246941522368*x + 196162341839727571433321441856)- (3240*x^14 + 456840*x^13 + 188268624*x^12 - 45834271200*x^11 - 2435651997264*x^10 + 682353767281968*x^9 - 7053953405575680*x^8 - 2553415737499629216*x^7 + 98906717445152189544*x^6 + 1348117411901578667784*x^5 - 162666175355778441465360*x^4 + 4276857451171442758058304*x^3 - 54456600108308451946891776*x^2 + 350065581968511893813480064*x - 918312303919436410092339456)*y;W

D=W[0];D
T=kronecker(D,p);T

for m in range(10) :
  if T == 1:
     print(m)

Unfortunately, the programming is not working, keeps giving error for m.

By the way, I got the following code working on PARI, but I prefer to use SAGE. Is there a way to get the coding to work on SAGE too.

for(m=1,10,R=12104*m*P;p=13;x=R[1];y=R[2]; W=(81*x^16 + 40662*x^15 + 14353281*x^14 - 460241028*x^13 - 644722959186*x^12 + 39379675354740*x^11 + 5212980804862026*x^10 - 415546630058854656*x^9 - 8202010485984353739*x^8 + 1396767997483732402758*x^7 - 27550698906220673513787*x^6 - 1044392234943529703379852*x^5 + 60770398462922893831446348*x^4 - 1284453663719469166478575296*x^3 + 14183844641879715988450074288*x^2 - 81800517874945025246941522368*x + 196162341839727571433321441856)- (3240*x^14 + 456840*x^13 + 188268624*x^12 - 45834271200*x^11 - 2435651997264*x^10 + 682353767281968*x^9 - 7053953405575680*x^8 - 2553415737499629216*x^7 + 98906717445152189544*x^6 + 1348117411901578667784*x^5 - 162666175355778441465360*x^4 + 4276857451171442758058304*x^3 - 54456600108308451946891776*x^2 + 350065581968511893813480064*x - 918312303919436410092339456)*y;q=lift(W);a=q*(denominator(q))^2;if(kronecker(a,p)<0, print1(m "\t")))