CoCalc Public Fileswww / 168 / notes / 2005-10-17 / 2005-10-17-sage-log.txtOpen with one click!
Author: William A. Stein
Compute Environment: Ubuntu 18.04 (Deprecated)
1
[email protected]:~$ cd 168/notes/2005-10-17
2
[email protected]:~/168/notes/2005-10-17$ sage
3
------------------------------------------------------------------------
4
SAGE Version 0.7.13, Export Date: 2005-10-17-0407
5
Distributed under the terms of the GNU General Public License (GPL)
6
IPython shell -- for help type <object>?, <object>??, %magic, or help
7
------------------------------------------------------------------------
8
9
sage: (3/2)^2 + (20/3)^2
10
_1 = 1681/36
11
sage: (41/6)^2
12
_2 = 1681/36
13
sage: attach "cong.sage"
14
sage: E = congru
15
congruent_curve_gens congruent_triangle
16
sage: E = cong_num
17
cong_number_curve cong_number_sets
18
sage: E = cong_number_curve(5)
19
sage: E
20
_5 = Elliptic Curve defined by y^2 = x^3 - 25*x over Rational Field
21
sage: G = E.gens()
22
sage: G
23
_7 = [(-4, 6)]
24
sage: P = G[0]
25
sage: P
26
_9 = (-4, 6)
27
sage: congrue
28
congruent_curve_gens congruent_triangle
29
sage: congruent_triangle(P)
30
_10 = (3/2, 20/3, 41/6)
31
sage: 2*P
32
_11 = (1681/144, -62279/1728)
33
sage: congruent_triangle(2*P)
34
_12 = (1519/492, 4920/1519, -3344161/747348)
35
sage: a,b,c = _12
36
sage: a
37
_14 = 1519/492
38
sage: b
39
_15 = 4920/1519
40
sage: c
41
_16 = -3344161/747348
42
sage: a^2 + b^2 == c^2
43
_17 = True
44
sage: a*b/2
45
_18 = 5
46
sage: a,b,c
47
_19 = (1519/492, 4920/1519, -3344161/747348)
48
sage: a,b,c=congruent_triangle(5*P)
49
sage: a
50
_21 = -394091011800472369443/63458283116489076790
51
sage: b
52
_22 = -634582831164890767900/394091011800472369443
53
sage: c
54
_23 = -160443526614433014168714029147613242401001/25008339000498013289668468371318876527970
55
sage: E
56
_24 = Elliptic Curve defined by y^2 = x^3 - 25*x over Rational Field
57
sage: factor(conductor(E))
58
_25 = 2^5 * 5^2
59
sage: cong_nu
60
cong_number_curve cong_number_sets
61
sage: cong_number_sets?
62
Type: function
63
Base Class: <type 'function'>
64
String Form: <function cong_number_sets at 0xaacedd84>
65
Namespace: Interactive
66
File: /home/was/edu/fall05/168/notes/2005-10-17/cong.sage.py
67
Definition: cong_number_sets(n)
68
Docstring:
69
Given a positive integer n, returns the two sets appearing in the
70
conjectural criterion for when a number is congruent.
71
72
sage: cong_number_sets(6)
73
_27 = ([], [])
74
sage: cong_number_sets(5)
75
_28 = ([], [])
76
sage: S1, S2 = cong_number_sets(7)
77
sage: S1
78
_30 = []
79
sage: S2
80
_31 = []
81
sage: S1, S2 = cong_number_sets(100)
82
sage: S1
83
_33 = [(0, 1, 0)]
84
sage: S2
85
_34 = []
86
sage: S1, S2 = cong_number_sets(1)
87
sage: S1
88
_36 = [(0, 1, 0)]
89
sage: S2
90
_37 = []
91
sage: S1, S2 = cong_number_sets(103)
92
sage: S1
93
_39 = []
94
sage: S2
95
_40 = []
96
sage: E = con
97
conductor cong_number_sets
98
cong.sage congruent_curve_gens
99
cong.sage.aux congruent_triangle
100
cong.sage.dvi conj_congruent_number_list
101
cong.sage.log continue
102
cong.sage.pdf continued_fraction
103
cong.sage.ps convergent
104
cong.sage.py convergents
105
cong.sage.tex conway_polynomial
106
cong_number_curve
107
sage: E = cong_nu
108
cong_number_curve cong_number_sets
109
sage: E = cong_number_curve(103)
110
sage: E
111
_42 = Elliptic Curve defined by y^2 = x^3 - 10609*x over Rational Field
112
sage: G = E.gens()
113
sage: G
114
_44 = [(-777848715219380607/8780605285453456, 406939902409963977921570495/822785599723202981879104)]
115
sage: P = G[0]
116
sage: P
117
_46 = (-777848715219380607/8780605285453456, 406939902409963977921570495/822785599723202981879104)
118
sage: congru
119
congruent_curve_gens congruent_triangle
120
sage: congruent_triangle(P)
121
_47 =
122
(45463628564396045/8143126555471908,
123
16286253110943816/441394452081515,
124
134130664938047228374702001079697/3594330884182957394223708580620)
125
sage: congruent_triangle(2*P)
126
_48 =
127
(17185634719391093727634843473743585469340755051722944799891950559/964219983005638593080701999601243903601008247213261446739344280,
128
198629316499161550174624611917856244141807698925931858028304921680/17185634719391093727634843473743585469340755051722944799891950559,
129
-352008659948220111075691074151631552714265844032730144831000926906517193179085542508749236648581510050936484589962917565740092481/16570732417072392965427706076087110093738148708575603533511700446069960034049208047977307349747461389650861475528706577839452520)
130
sage: S1, S2 = cong_number_sets(541)
131
sage: S1
132
_50 = []
133
sage: S2
134
_51 = []
135
sage: v = [n for n in range(1,200) if is_conj_congruent_number(n)]
136
sage: print v
137
[5, 6, 7, 13, 14, 15, 20, 21, 22, 23, 24, 28, 29, 30, 31, 34, 37, 38, 39, 41, 45, 46, 47, 52, 53, 54, 55, 56, 60, 61, 62, 63, 65, 69, 70, 71, 77, 78, 79, 80, 84, 85, 86, 87, 88, 92, 93, 94, 95, 96, 101, 102, 103, 109, 110, 111, 112, 116, 117, 118, 119, 120, 124, 125, 126, 127, 133, 134, 135, 136, 137, 138, 141, 142, 143, 145, 148, 149, 150, 151, 152, 154, 156, 157, 158, 159, 161, 164, 165, 166, 167, 173, 174, 175, 180, 181, 182, 183, 184, 188, 189, 190, 191, 194, 197, 198, 199]
138
sage: set([a%8 for a in v])
139
_54 = set([1, 0, 2, 5, 4, 7, 6])
140
sage: v = [n for n in range(200,250) if is_conj_congruent_number(n)]
141
sage: set([a%8 for a in v])
142
_56 = set([0, 3, 2, 5, 4, 7, 6])
143
sage: is_conj_congruent_number(219)
144
_57 = True
145
sage: is_conj_congruent_number(2005)
146
_58 = True
147
sage: E = cong_number_curve(2005)
148
sage: E
149
_60 = Elliptic Curve defined by y^2 = x^3 - 4020025*x over Rational Field
150
sage: G = E.gens(verbose=True)
151
152
3 points of order 2:
153
[0:0:1], [2005:0:1], [-2005:0:1]
154
155
****************************
156
* Using 2-isogeny number 1 *
157
****************************
158
159
Using 2-isogenous curve [0,0,0,16080100,0]
160
-------------------------------------------------------
161
First step, determining 1st descent Selmer groups
162
-------------------------------------------------------
163
After first local descent, rank bound = 3
164
rk(S^{phi}(E'))= 3
165
rk(S^{phi'}(E))= 2
166
167
-------------------------------------------------------
168
Second step, determining 2nd descent Selmer groups
169
-------------------------------------------------------
170
After second local descent, rank bound = 3
171
rk(phi'(S^{2}(E)))= 3
172
rk(phi(S^{2}(E')))= 2
173
rk(S^{2}(E))= 5
174
rk(S^{2}(E'))= 4
175
176
****************************
177
* Using 2-isogeny number 2 *
178
****************************
179
180
Using 2-isogenous curve [0,-12030,0,4020025,0]
181
-------------------------------------------------------
182
First step, determining 1st descent Selmer groups
183
-------------------------------------------------------
184
After first local descent, rank bound = 3
185
rk(S^{phi}(E'))= 4
186
rk(S^{phi'}(E))= 1
187
188
-------------------------------------------------------
189
Second step, determining 2nd descent Selmer groups
190
-------------------------------------------------------
191
After second local descent, rank bound = 3
192
rk(phi'(S^{2}(E)))= 4
193
rk(phi(S^{2}(E')))= 1
194
rk(S^{2}(E))= 5
195
rk(S^{2}(E'))= 4
196
197
****************************
198
* Using 2-isogeny number 3 *
199
****************************
200
201
Using 2-isogenous curve [0,12030,0,4020025,0]
202
-------------------------------------------------------
203
First step, determining 1st descent Selmer groups
204
-------------------------------------------------------
205
After first local descent, rank bound = 3
206
rk(S^{phi}(E'))= 3
207
rk(S^{phi'}(E))= 2
208
209
-------------------------------------------------------
210
Second step, determining 2nd descent Selmer groups
211
-------------------------------------------------------
212
After second local descent, rank bound = 2
213
rk(phi'(S^{2}(E)))= 3
214
rk(phi(S^{2}(E')))= 1
215
rk(S^{2}(E))= 5
216
rk(S^{2}(E'))= 3
217
218
After second local descent, combined upper bound on rank = 2
219
Third step, determining E(Q)/phi(E'(Q)) and E'(Q)/phi'(E(Q))
220
-------------------------------------------------------
221
1. E(Q)/phi(E'(Q))
222
-------------------------------------------------------
223
(c,d) =(-6015,8040050)
224
(c',d')=(12030,4020025)
225
First stage (no second descent yet)...
226
(5,0,-6015,0,1608010): no rational point found (hlim=8)
227
(10,0,-6015,0,804005): no rational point found (hlim=8)
228
(401,0,-6015,0,20050): no rational point found (hlim=8)
229
(802,0,-6015,0,10025): no rational point found (hlim=8)
230
After first global descent, this component of the rank
231
has lower bound 0
232
and upper bound 1
233
(difference = 1)
234
Second descent will attempt to reduce this
235
Second stage (using second descent)...
236
d1=5:
237
(x:y:z) = (12883:337361925:158)
238
Curve E Point [131117634310:21731168398875:3944312], height = 18.893783589929163211674233870788384718695982504872
239
Second descent successfully found rational point for d1=5
240
241
After second global descent, this component of the rank = 3
242
-------------------------------------------------------
243
2. E'(Q)/phi'(E(Q))
244
-------------------------------------------------------
245
First stage (no second descent yet)...
246
(401,0,12030,0,10025): no rational point found (hlim=8)
247
After first global descent, this component of the rank
248
has lower bound 0
249
and upper bound 1
250
(difference = 1)
251
Second descent will attempt to reduce this
252
Second stage (using second descent)...
253
d1=401:
254
Second descent inconclusive for d1=401: ELS descendents exist but no rational point found
255
256
After second global descent, this component of the rank
257
has lower bound 0
258
and upper bound 1
259
(difference = 1)
260
261
-------------------------------------------------------
262
Summary of results:
263
-------------------------------------------------------
264
1 <= rank(E) <= 2
265
#E(Q)/2E(Q) >= 8
266
267
Information on III(E/Q):
268
#III(E/Q)[phi'] <= 4
269
#III(E/Q)[2] is between 2 and 4
270
271
Information on III(E'/Q):
272
#phi'(III(E/Q)[2]) = 1
273
#III(E'/Q)[phi] = 1
274
#III(E'/Q)[2] <= 2
275
276
-------------------------------------------------------
277
278
List of points on E = [0,0,0,-4020025,0]:
279
280
I. Points on E mod phi(E')
281
Point [123209288750:21731168398875:3944312], height = 18.893783589929163211674233870788384718695982504871
282
283
II. Points on phi(E') mod 2E
284
--none (modulo torsion).
285
286
-------------------------------------------------------
287
Computing full set of 2 coset representatives for
288
2E(Q) in E(Q) (modulo torsion), and sorting into height order....done.
289
290
291
Regulator (before saturation) = 18.893783589929163211674233870788384718695982504871
292
Searching for points (bound = 10)...done
293
Regulator (after searching) = 18.893783589929163211674233870788384718695982504871
294
Saturating (bound = -1)...finished saturation (index was 1)
295
Regulator (after saturation) = 18.893783589929163211674233870788384718695982504871
296
Unable to compute the rank, hence generators, with certainty (lower bound=1). This could be because Sha(E/Q)[2] is nontrivial.
297
sage: G
298
_62 = [(779805625/24964, 21731168398875/3944312)]
299
sage: P = G[0]
300
sage: a,b,c=congruent_triangle(P)
301
sage: a
302
_65 = -155639523/882430
303
sage: b
304
_66 = -3538544300/155639523
305
sage: c
306
_67 = 24424083902863721/137340984280890
307
sage: factor(2005)
308
_68 = 5 * 401
309
sage: factor(2006)
310
_69 = 2 * 17 * 59
311
sage: E = cong_number_curve(2006)
312
sage: E
313
_71 = Elliptic Curve defined by y^2 = x^3 - 4024036*x over Rational Field
314
sage: is_conj_congruent_number(2006)
315
_72 = True
316
sage: E = cong_number_curve(2006)
317
sage: G = E.gens(verbose=True)
318
319
3 points of order 2:
320
[0:0:1], [2006:0:1], [-2006:0:1]
321
322
****************************
323
* Using 2-isogeny number 1 *
324
****************************
325
326
Using 2-isogenous curve [0,0,0,16096144,0]
327
-------------------------------------------------------
328
First step, determining 1st descent Selmer groups
329
-------------------------------------------------------
330
After first local descent, rank bound = 3
331
rk(S^{phi}(E'))= 4
332
rk(S^{phi'}(E))= 1
333
334
-------------------------------------------------------
335
Second step, determining 2nd descent Selmer groups
336
-------------------------------------------------------
337
After second local descent, rank bound = 3
338
rk(phi'(S^{2}(E)))= 4
339
rk(phi(S^{2}(E')))= 1
340
rk(S^{2}(E))= 5
341
rk(S^{2}(E'))= 4
342
343
****************************
344
* Using 2-isogeny number 2 *
345
****************************
346
347
Using 2-isogenous curve [0,-12036,0,4024036,0]
348
-------------------------------------------------------
349
First step, determining 1st descent Selmer groups
350
-------------------------------------------------------
351
After first local descent, rank bound = 3
352
rk(S^{phi}(E'))= 4
353
rk(S^{phi'}(E))= 1
354
355
-------------------------------------------------------
356
Second step, determining 2nd descent Selmer groups
357
-------------------------------------------------------
358
After second local descent, rank bound = 3
359
rk(phi'(S^{2}(E)))= 4
360
rk(phi(S^{2}(E')))= 1
361
rk(S^{2}(E))= 5
362
rk(S^{2}(E'))= 4
363
364
****************************
365
* Using 2-isogeny number 3 *
366
****************************
367
368
Using 2-isogenous curve [0,12036,0,4024036,0]
369
-------------------------------------------------------
370
First step, determining 1st descent Selmer groups
371
-------------------------------------------------------
372
After first local descent, rank bound = 3
373
rk(S^{phi}(E'))= 3
374
rk(S^{phi'}(E))= 2
375
376
-------------------------------------------------------
377
Second step, determining 2nd descent Selmer groups
378
-------------------------------------------------------
379
After second local descent, rank bound = 2
380
rk(phi'(S^{2}(E)))= 3
381
rk(phi(S^{2}(E')))= 1
382
rk(S^{2}(E))= 5
383
rk(S^{2}(E'))= 3
384
385
After second local descent, combined upper bound on rank = 2
386
Third step, determining E(Q)/phi(E'(Q)) and E'(Q)/phi'(E(Q))
387
-------------------------------------------------------
388
1. E(Q)/phi(E'(Q))
389
-------------------------------------------------------
390
(c,d) =(-6018,8048072)
391
(c',d')=(12036,4024036)
392
First stage (no second descent yet)...
393
(17,0,-6018,0,473416): (x:y:z) = (10:204:1)
394
Curve E Point [1700:34680:1], height = 3.7970846911387271852102431813863172782263003517029
395
(59,0,-6018,0,136408): (x:y:z) = (3:295:1)
396
Curve E Point [531:52215:1], height = 3.7970846911387271852102431813863172782263003517028
397
After first global descent, this component of the rank = 3
398
-------------------------------------------------------
399
2. E'(Q)/phi'(E(Q))
400
-------------------------------------------------------
401
First stage (no second descent yet)...
402
(17,0,12036,0,236708): no rational point found (hlim=8)
403
After first global descent, this component of the rank
404
has lower bound 0
405
and upper bound 1
406
(difference = 1)
407
Second descent will attempt to reduce this
408
Second stage (using second descent)...
409
d1=17:
410
Second descent inconclusive for d1=17: ELS descendents exist but no rational point found
411
412
After second global descent, this component of the rank
413
has lower bound 0
414
and upper bound 1
415
(difference = 1)
416
417
-------------------------------------------------------
418
Summary of results:
419
-------------------------------------------------------
420
1 <= rank(E) <= 2
421
#E(Q)/2E(Q) >= 8
422
423
Information on III(E/Q):
424
#III(E/Q)[phi'] <= 4
425
#III(E/Q)[2] is between 2 and 4
426
427
Information on III(E'/Q):
428
#phi'(III(E/Q)[2]) = 1
429
#III(E'/Q)[phi] = 1
430
#III(E'/Q)[2] <= 2
431
432
-------------------------------------------------------
433
434
List of points on E = [0,0,0,-4024036,0]:
435
436
I. Points on E mod phi(E')
437
Point [-306:34680:1], height = 3.7970846911387271852102431813863172782263003517032
438
Point [-1475:52215:1], height = 3.7970846911387271852102431813863172782263003517033
439
440
II. Points on phi(E') mod 2E
441
--none (modulo torsion).
442
443
-------------------------------------------------------
444
Computing full set of 2 coset representatives for
445
2E(Q) in E(Q) (modulo torsion), and sorting into height order....done.
446
447
448
Regulator (before saturation) = 3.7970846911387271852102431813863172782263003517032
449
Searching for points (bound = 10)...done
450
Regulator (after searching) = 3.7970846911387271852102431813863172782263003517032
451
Saturating (bound = -1)...finished saturation (index was 1)
452
Regulator (after saturation) = 3.7970846911387271852102431813863172782263003517032
453
Unable to compute the rank, hence generators, with certainty (lower bound=1). This could be because Sha(E/Q)[2] is nontrivial.
454
sage: G
455
_75 = [(-306, 34680)]
456
sage: P = G[0]
457
sage: a,b,c=congruent_triangle(P)
458
sage: a,b,c
459
_78 = (340/3, 177/5, 1781/15)
460
sage: is_conj_congruent_number(2007)
461
_79 = True
462
sage: is_conj_congruent_number(2008)
463
_80 = True
464
sage: is_conj_congruent_number(2009)
465
_81 = True
466
sage: is_conj_congruent_number(2010)
467
_82 = False
468
sage: time v = [n for n in range(1, 300) if is_conj_congruent_number(n)]
469
CPU times: user 6.91 s, sys: 0.32 s, total: 7.24 s
470
Wall time: 7.43
471
sage: len(v)
472
_84 = 163
473
sage:
474