def render_one_elliptic_modular_form(level, weight, character, label, **kwds): r""" Renders the webpage for one elliptic modular form. """ if character == 0: dimtbl = DimensionTable() else: dimtbl = DimensionTable(1) emf_logger.debug("Created dimension table") if not dimtbl.is_in_db(level, weight, character): emf_logger.debug("Data not available") return render_template("not_available.html") citation = ['Sage:' + version()] info = set_info_for_one_modular_form(level, weight, character, label, **kwds) emf_logger.debug("info={0}".format(info)) err = info.get('error', '') ## Check if we want to download either file of the function or Fourier coefficients if 'download' in info and 'error' not in info: return send_file(info['tempfile'], as_attachment=True, attachment_filename=info['filename']) url1 = url_for("emf.render_elliptic_modular_forms") url2 = url_for("emf.render_elliptic_modular_forms", level=level) url3 = url_for("emf.render_elliptic_modular_forms", level=level, weight=weight) url4 = url_for("emf.render_elliptic_modular_forms", level=level, weight=weight, character=character) bread = [(EMF_TOP, url1)] bread.append(("of level %s" % level, url2)) bread.append(("weight %s" % weight, url3)) if int(character) == 0: bread.append(("and trivial character", url4)) else: bread.append(("and character \(\chi_{%s}\)" % character, url4)) info['bread'] = bread return render_template("emf.html", **info)
def render_elliptic_modular_form_space(level=None, weight=None, character=None, label=None, **kwds): r""" Render the webpage for a elliptic modular forms space. """ emf_logger.debug( "In render_ellitpic_modular_form_space kwds: {0}".format(kwds)) emf_logger.debug( "Input: level={0},weight={1},character={2},label={3}".format( level, weight, character, label)) info = to_dict(kwds) info['level'] = level info['weight'] = weight info['character'] = character # if kwds.has_key('character') and kwds['character']=='*': # return render_elliptic_modular_form_space_list_chars(level,weight) if character == 0: dimtbl = DimensionTable() else: dimtbl = DimensionTable(1) if not dimtbl.is_in_db(level, weight, character): emf_logger.debug("Data not available") return render_template("not_available.html") emf_logger.debug( "Created dimension table in render_elliptic_modular_form_space") info = set_info_for_modular_form_space(**info) emf_logger.debug("keys={0}".format(info.keys())) if 'download' in kwds and 'error' not in kwds: return send_file(info['tempfile'], as_attachment=True, attachment_filename=info['filename']) if 'dimension_newspace' in kwds and kwds['dimension_newspace'] == 1: # if there is only one orbit we list it emf_logger.debug("Dimension of newforms is one!") info['label'] = 'a' return redirect(url_for('emf.render_elliptic_modular_forms', **info)) info['title'] = "Newforms of weight %s on \(\Gamma_{0}(%s)\)" % (weight, level) bread = [(EMF_TOP, url_for('emf.render_elliptic_modular_forms'))] bread.append(("Level %s" % level, url_for('emf.render_elliptic_modular_forms', level=level))) bread.append(("Weight %s" % weight, url_for('emf.render_elliptic_modular_forms', level=level, weight=weight))) # emf_logger.debug("friends={0}".format(friends)) info['bread'] = bread return render_template("emf_space.html", **info)
def render_elliptic_modular_form_space(level=None, weight=None, character=None, label=None, **kwds): r""" Render the webpage for a elliptic modular forms space. """ emf_logger.debug("In render_elliptic_modular_form_space kwds: {0}".format(kwds)) emf_logger.debug("Input: level={0},weight={1},character={2},label={3}".format(level, weight, character, label)) info = to_dict(kwds) info["level"] = level info["weight"] = weight info["character"] = character # if kwds.has_key('character') and kwds['character']=='*': # return render_elliptic_modular_form_space_list_chars(level,weight) if character == 0: dimtbl = DimensionTable() else: dimtbl = DimensionTable(1) if not dimtbl.is_in_db(level, weight, character): emf_logger.debug("Data not available") if character == 0: d = dimension_new_cusp_forms(level, weight) else: D = DirichletGroup(level) x = D.galois_orbits(reps_only=True)[character] d = dimension_new_cusp_forms(x, weight) if d > 0: return render_template("not_available.html") else: info["is_empty"] = True return render_template("emf_space.html", **info) emf_logger.debug("Created dimension table in render_elliptic_modular_form_space") info = set_info_for_modular_form_space(**info) emf_logger.debug("keys={0}".format(info.keys())) if "download" in kwds and "error" not in kwds: return send_file(info["tempfile"], as_attachment=True, attachment_filename=info["filename"]) if "dimension_newspace" in kwds and kwds["dimension_newspace"] == 1: # if there is only one orbit we list it emf_logger.debug("Dimension of newforms is one!") info["label"] = "a" return redirect(url_for("emf.render_elliptic_modular_forms", **info)) info["title"] = "Newforms of weight %s on \(\Gamma_{0}(%s)\)" % (weight, level) bread = [(EMF_TOP, url_for("emf.render_elliptic_modular_forms"))] bread.append(("Level %s" % level, url_for("emf.render_elliptic_modular_forms", level=level))) bread.append(("Weight %s" % weight, url_for("emf.render_elliptic_modular_forms", level=level, weight=weight))) # emf_logger.debug("friends={0}".format(friends)) info["bread"] = bread return render_template("emf_space.html", **info)
def render_one_elliptic_modular_form(level, weight, character, label, **kwds): r""" Renders the webpage for one elliptic modular form. """ if character == 0: dimtbl = DimensionTable() else: dimtbl = DimensionTable(1) emf_logger.debug("Created dimension table") if not dimtbl.is_in_db(level, weight, character): ## We now check explicitly C = lmfdb.base.getDBConnection() if C['modularforms2']['Newform_factors.files'].find().count() == 0: emf_logger.debug("Data not available") return render_template("not_available.html") citation = ['Sage:' + version()] info = set_info_for_one_modular_form(level, weight, character, label, **kwds) emf_logger.debug("info={0}".format(info)) err = info.get('error', '') ## Check if we want to download either file of the function or Fourier coefficients if 'download' in info and 'error' not in info: return send_file(info['tempfile'], as_attachment=True, attachment_filename=info['filename']) url1 = url_for("emf.render_elliptic_modular_forms") url2 = url_for("emf.render_elliptic_modular_forms", level=level) url3 = url_for("emf.render_elliptic_modular_forms", level=level, weight=weight) url4 = url_for("emf.render_elliptic_modular_forms", level=level, weight=weight, character=character) bread = [(EMF_TOP, url1)] bread.append(("of level %s" % level, url2)) bread.append(("weight %s" % weight, url3)) if int(character) == 0: bread.append(("and trivial character", url4)) else: bread.append(("and character \(\chi_{%s}\)" % character, url4)) info['bread'] = bread return render_template("emf.html", **info)
def render_elliptic_modular_form_space(level=None, weight=None, character=None, label=None, **kwds): r""" Render the webpage for a elliptic modular forms space. """ emf_logger.debug("In render_ellitpic_modular_form_space kwds: {0}".format(kwds)) emf_logger.debug( "Input: level={0},weight={1},character={2},label={3}".format(level, weight, character, label)) info = to_dict(kwds) info['level'] = level info['weight'] = weight info['character'] = character # if kwds.has_key('character') and kwds['character']=='*': # return render_elliptic_modular_form_space_list_chars(level,weight) if character == 0: dimtbl = DimensionTable() else: dimtbl = DimensionTable(1) if not dimtbl.is_in_db(level, weight, character): emf_logger.debug("Data not available") return render_template("not_available.html") emf_logger.debug("Created dimension table in render_elliptic_modular_form_space") info = set_info_for_modular_form_space(**info) emf_logger.debug("keys={0}".format(info.keys())) if 'download' in kwds and 'error' not in kwds: return send_file(info['tempfile'], as_attachment=True, attachment_filename=info['filename']) if 'dimension_newspace' in kwds and kwds['dimension_newspace'] == 1: # if there is only one orbit we list it emf_logger.debug("Dimension of newforms is one!") info['label'] = 'a' return redirect(url_for('emf.render_elliptic_modular_forms', **info)) info['title'] = "Newforms of weight %s on \(\Gamma_{0}(%s)\)" % (weight, level) bread = [(EMF_TOP, url_for('emf.render_elliptic_modular_forms'))] bread.append(("Level %s" % level, url_for('emf.render_elliptic_modular_forms', level=level))) bread.append( ("Weight %s" % weight, url_for('emf.render_elliptic_modular_forms', level=level, weight=weight))) # emf_logger.debug("friends={0}".format(friends)) info['bread'] = bread return render_template("emf_space.html", **info)