Repository: LMFDB/lmfdb

Issue:
Bianchi modular form n/a
A small thing. 

The curve:
http://beta.lmfdb.org/EllipticCurve/2.0.643.1/1.0.1/a/1
points to:
http://beta.lmfdb.org/ModularForm/GL2/ImaginaryQuadratic/2.0.643.1/1.0.1/a/
which does not exist.

In my recent PR #2246, I have some code to deal with that:
https://github.com/LMFDB/lmfdb/pull/2246/files#diff-d1a9e3a6c6dc6a2981acb082731e0cf5R27

Cheers,
Edgar




Discussion:
Sorry about this.  the vast majority of elliptic curves over imaginary quadratic fields which we have are over the five fields for which we have Bianchi data, but there are  a few exceptions (precisely 8 in fact, see http://www.lmfdb.org/EllipticCurve/browse/2/0/) since a few curves with everywhere good reduction were added too.

I'll fix this by only putting the link in when the Bianchi for is there.   We already think about this in the code so that a curve such as http://www.lmfdb.org/EllipticCurve/2.0.11.1/9.1/CMa/1 which has no associated Bianchi __cusp__ form is shown correctly.

Resolving patch:
diff --git a/lmfdb/bianchi_modular_forms/web_BMF.py b/lmfdb/bianchi_modular_forms/web_BMF.py
--- a/lmfdb/bianchi_modular_forms/web_BMF.py
+++ b/lmfdb/bianchi_modular_forms/web_BMF.py
@@ -2,7 +2,6 @@
 from lmfdb.base import getDBConnection
 from lmfdb.utils import make_logger
 from lmfdb.WebNumberField import nf_display_knowl, field_pretty
-from lmfdb.ecnf.WebEllipticCurve import FIELD
 from lmfdb.elliptic_curves.web_ec import split_lmfdb_label
 from lmfdb.modular_forms.elliptic_modular_forms.backend.emf_utils import newform_label, is_newform_in_db
 from lmfdb.nfutils.psort import primes_iter, ideal_from_label, ideal_label
@@ -61,6 +60,7 @@ def make_form(self):
         # the database.  We need to reformat these and compute some
         # further (easy) data about it.
         #
+        from lmfdb.ecnf.WebEllipticCurve import FIELD
         self.field = FIELD(self.field_label)
         pretty_field = field_pretty(self.field_label)
         self.field_knowl = nf_display_knowl(self.field_label, getDBConnection(), pretty_field)
diff --git a/lmfdb/ecnf/WebEllipticCurve.py b/lmfdb/ecnf/WebEllipticCurve.py
--- a/lmfdb/ecnf/WebEllipticCurve.py
+++ b/lmfdb/ecnf/WebEllipticCurve.py
@@ -7,6 +7,7 @@
 from lmfdb.utils import web_latex, web_latex_split_on, web_latex_ideal_fact, encode_plot
 from lmfdb.WebNumberField import WebNumberField
 from lmfdb.sato_tate_groups.main import st_link_by_name
+from lmfdb.bianchi_modular_forms.web_BMF import db_forms
 
 def db_ecnf():
     return getDBConnection().elliptic_curves.nfcurves
@@ -520,11 +521,13 @@ def make_E(self):
             self.friends += [('Hilbert Modular Form ' + self.hmf_label, self.urls['hmf'])]
             self.friends += [('L-function', self.urls['Lfunction'])]
         if imag_quadratic:
-            #self.friends += [('Bianchi Modular Form %s not available' % self.bmf_label, '')]
             if "CM" in self.label:
                 self.friends += [('Bianchi Modular Form is not cuspidal', '')]
             else:
-                self.friends += [('Bianchi Modular Form %s' % self.bmf_label, self.bmf_url)]
+                if db_forms().find_one({'label':self.bmf_label}) != None:
+                    self.friends += [('Bianchi Modular Form %s' % self.bmf_label, self.bmf_url)]
+                else:
+                    self.friends += [('Bianchi Modular Form %s not available' % self.bmf_label, '')]
 
         self.properties = [
             ('Base field', self.field.field_pretty()),


Test patch: