Opened 8 years ago

Closed 8 years ago

#14189 closed enhancement (fixed)

Extend modular degree and congruence modulus of elliptic curves over QQ to arbitrary level.

Reported by: spice Owned by: spice
Priority: major Milestone: sage-5.8
Component: elliptic curves Keywords: modular degree, congruence modulus
Cc: was, aly.deines Merged in: sage-5.8.beta4
Authors: Simon Spicer Reviewers: Aly Deines
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges

Description (last modified by spice)

The modular degree of m an elliptic curve is defined as the degree of the map from X_0(N) down to E, when N is the conductor of E. See Agashe/Ribet/Stein's paper: The Modular Degree, Congruence Primes and Multiplicity One.

The congruence number for E is defined as the largest integer r such that there exists a cusp form of level N that is orthogonal to the cusp form attached to E w.r.t. the Petersson inner product, but congruent to it modulo r.

One of the major results known connecting the two values is that for elliptic curves over QQ, the modular degree divides the congruence number.

Both of these invariants generalize to higher level. Maps also exist from X_0(M*N) down to E for any positive integer M, so one can define modular degrees for any multiple of N. Likewise, we can ask, for any M*N, what the largest integer r is such that the space of cusp forms at level M*N forms generated by E for which mod r congruences exist between orthogonal cusp forms of level M*N.

This enhancement would allow us to compute the generalized notions of modular degree and congruence modulus and investigate whether divisibility still holds.

Attachments (1)

trac_14189.patch (13.3 KB) - added by spice 8 years ago.
Fixes documentation, removes unnecessary asterisks

Download all attachments as: .zip

Change History (22)

comment:1 Changed 8 years ago by spice

  • Cc aly.deines added
  • Status changed from new to needs_review

comment:2 Changed 8 years ago by spice

  • Description modified (diff)

comment:3 Changed 8 years ago by spice

  • Description modified (diff)

comment:4 Changed 8 years ago by spice

  • Description modified (diff)

comment:5 Changed 8 years ago by aly.deines

  • Reviewers set to aly.deines
  • Status changed from needs_review to positive_review

comment:6 Changed 8 years ago by spice

  • Status changed from positive_review to needs_work

I've modified self._generalized_modcong_numbers() to allow computation of just the modular degree or the congruence number singly; previously the were both computed and cached. Also, the function now returns a dictionary with one or both of the above invariants as entries as well as populating the cache; previously the values were just cached by the function. self.modular_degree() and self.congruence_number() have also been modified slightly to incorporate this.

comment:7 Changed 8 years ago by spice

  • Status changed from needs_work to needs_review

comment:8 Changed 8 years ago by aly.deines

  • Status changed from needs_review to positive_review

comment:9 Changed 8 years ago by jdemeyer

  • Authors set to Simon Spicer
  • Reviewers changed from aly.deines to Aly Deines

comment:10 Changed 8 years ago by jdemeyer

  • Status changed from positive_review to needs_work

The documentation doesn't build properly:

[plane_cur] /release/merger/sage-5.8.beta3/local/lib/python2.7/site-packages/sage/schemes/elliptic_curves/ell_rational_field.py:docstring of sage.schemes.elliptic_curves.ell_rational_field.EllipticCurve_rational_field.modular_degree:96: WARNING: Literal block expected; none found.

comment:11 Changed 8 years ago by spice

  • Status changed from needs_work to needs_review

Documentation should now build.

comment:12 Changed 8 years ago by spice

Removed unnecessary asterisks: M*N becomes MN.

comment:13 Changed 8 years ago by spice

Removes unnecessary asterisks for real this time.

comment:14 Changed 8 years ago by aly.deines

  • Status changed from needs_review to positive_review

comment:15 Changed 8 years ago by jdemeyer

  • Status changed from positive_review to needs_work

There is an obvious doctest failure:

**********************************************************************
File "/release/merger/sage-5.8.beta3/devel/sage-main/sage/schemes/elliptic_curves/ell_rational_field.py", line 3412:
    sage: E.congruence_number()  # long time (4s on sage.math, 2011)
Expected:
    176
    # Higher level cases
Got:
    176
**********************************************************************

comment:16 Changed 8 years ago by jdemeyer

Also: this patch seems to add about 20 seconds to the total test time of ell_rational_field.py. Either it slows down some things or the added tests should be marked # long time.

Changed 8 years ago by spice

Fixes documentation, removes unnecessary asterisks

comment:17 Changed 8 years ago by spice

  • Status changed from needs_work to needs_review

Doctest mentioned above has been fixed, and I've marked the relevant tests with # long time as per suggestion.

comment:18 Changed 8 years ago by aly.deines

  • Status changed from needs_review to positive_review

Thanks Simon. It now only takes 2 seconds longer on my mac.

comment:19 Changed 8 years ago by jdemeyer

  • Milestone changed from sage-5.8 to sage-5.9

comment:20 Changed 8 years ago by jdemeyer

  • Milestone changed from sage-5.9 to sage-5.8

comment:21 Changed 8 years ago by jdemeyer

  • Merged in set to sage-5.8.beta4
  • Resolution set to fixed
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.