#!/usr/bin/python
# mfe_qexpansion.py (part of the Modular Forms Explorer)
# (c) William Stein, November 2001, was@math.harvard.edu
import cgi # cgi-bin
import Documents, HTML
import misc
import constants
import mfd # modular forms database
import os, string
print "Content-Type: text/html" # HTML is following
print # blank line, end of headers
form = cgi.FieldStorage()
if not form.has_key("code"):
print "
Error
"
print "The mfe_qexpansion.py script was called from an invalid form."
print "This means William Stein (was@math.harvard.edu) made a mistake somewhere, "
print "or our web client did something funny."
print "Please let him know how you caused this error message."
##################################
code = form["code"].value
prec = form["precision"].value
if not misc.is_nonnegative_number(prec):
prec = 8
else:
prec = int(prec)
f = mfd.ModSym_From_Code(code)
N = f.level
k = f.weight
eps = f.dirchar
doc = Documents.Document()
doc.append(HTML.TITLE('The Modular Forms Explorer: q-Expansion of %s'%code))
doc.append(HTML.LINK(rel="stylesheet", type="text/css", \
HREF="/mfd/mfd.css", TITLE="was"))
body = HTML.BODY(klass="top")
doc.append(body)
body.append(HTML.CENTER(HTML.H1('The Modular Forms Explorer')))
body.append(HTML.CENTER(HTML.FORM(\
HTML.INPUT(type="submit", name="button", value="Go to N=%s, k=%s"%(N,k)),\
HTML.INPUT(type="hidden", name="level", value=str(N)), \
HTML.INPUT(type="hidden", name="weight", value=str(k)), \
HTML.INPUT(type="hidden", name="character", value=eps+":"+str(N)), \
HTML.INPUT(type="hidden", name="iso_class", value="0"), \
action="%s/mfe_full_html.py"%constants.CGIROOT, method="POST")))
body.append(HTML.HR())
body.append(HTML.H2("The q-Expansion of %s to precision at most %s."%(code,prec)))
qexp = f.q_expansion(prec)
if f.hecke_field() != constants.not_computed:
body.append("Let a be a root of %s.
"%f.hecke_field())
body.append("
The q-expansion of f is:
%s"%qexp)
print doc