Classical-mf-structure

From Kiran Kedlaya's Wiki
(Difference between revisions)
Jump to: navigation, search
Line 26: Line 26:
 
*** '''experimental''' !!!! (empty)
 
*** '''experimental''' !!!! (empty)
 
*** emf_render_web_newform.py: code to render a webpage with one newform
 
*** emf_render_web_newform.py: code to render a webpage with one newform
*** emf_main.py
+
*** emf_main.py: imports all the emf_render_web stuff, and defines the main routing function, render_elliptic_modular_forms, which takes parameters for level, weight, char... and calls the appropriate emf_render_web code (e.g. modform_space_gamma1 is char==none, modform_space if char is defined, ...). Also defines functions to deal with download queries and q-expansion queries.
 
*** emf_render_web_modform_space_gamma1.py: code to render a form space of level Gamma1 as a collection of spaces indexed by characters.
 
*** emf_render_web_modform_space_gamma1.py: code to render a form space of level Gamma1 as a collection of spaces indexed by characters.
 
*** '''static''' ???? Probably not used (deleting it does not seem to break anything)
 
*** '''static''' ???? Probably not used (deleting it does not seem to break anything)

Revision as of 19:46, 21 October 2015

Structure of the modular_forms folder:

  • backend
    • __init__.py: imports the content of this directory.
    • mf_classes.py: defines two classes. ??? The 1st one should contain a (dimension?) table obtained from the DB, the 2nd one should contain a single modular form obtained from the DB. ???
    • mf_utils.py: utility functions. The 1st one returns the list of distinct values of a field with a given key among all documents in the database.
  • elliptic_modular_forms
    • __init__.py: sets some global constants, imports the contents of this directory, initializes the Blueprint and logger.
    • test_emf.py: defines a class implementing tests for the emf pages.
    • backend
      • __init__.py: sets up connection to the database
      • emf_classes.py: Defines two classes: one reads a table of dimensions from the DB; the other displays table of holomorphic modular forms. CV adding detailed comments 10/14.
      • emf_core.py: "core functions" for forms and spaces of forms: get dimensions, sturm bound, decompose into subspaces, get eigenvalues, compute Fourier coefficients, determine CM status, Satake parameters.
      • emf_download_utils.py: user download routines, mostly around Fourier coeffs.
      • emf_utils.py: parsing functions, e.g. for ranges, or from tuple level,weight,char to string "emf.level.weight.char" and vice-versa... , code to fetch a fund domain plot from the database or draw it on the fly, code to fetch dimension of form spaces, interface between Sage and Conrey characters, and conversion from Sage NumberFields to corresponding LMFDB label. Also defines ajax_ functions (???).
      • experimental !!!! (empty)
      • web_newforms.py: imports WebXXX basic types (int, string...) and defines the WebqExp and WebEigenvalues classes to display q-exps and Hecke eigenvals, which are themselves used to define a WebNewform class, which includes methods to get complex coefficient embebbings, Atkin-Lehner eigenvals, coefficient field LMFDB label, ... also defines the function 0->'a', 1-> 'b', .., 26->'aa', ... used to label newforms in a given form space.
      • web_object.py: defines a WebProperty class, and derives basis WebXXX classes such as WebInt, WebString, ...
      • plot_dom.py: code to plot fundamental domains, including code for coset representatives and hyperbolic geodesics.
      • web_character.py: defines the WebChar and the WebCharProperty classes, which are used by WebModFormSpace and WebNewform, among others. Comments that this class should be replaced with WebDirichletCharacter when something (Conrey maybe ???) is fixed.
      • web_modform_space.py: imports WebXXX basic types (int, string...) and defines the WebHeckeOrbits class (decomposition of a form space into a collection of WebNewforms ??), as well as the WebModFormSpace (derived from WebObject) and WebModFormSpaceProperty (derived from WebProperty) classes.
    • views
      • __init__.py: imports the content of this directory.
      • emf_render_navigation.py: Defines 2 functions. 1st one is experimental (ranges) and calls 2nd one immediately, the rest of its code is never executed. 2nd one reads the database, creates a table (levels x weights) of form spaces, and renders the navigation page. It can also fetch a fundamental domain plot if given appropriate argument.
      • emf_render_web_modform_space.py: code to render a form space of given level, weight, and character.
      • experimental !!!! (empty)
      • emf_render_web_newform.py: code to render a webpage with one newform
      • emf_main.py: imports all the emf_render_web stuff, and defines the main routing function, render_elliptic_modular_forms, which takes parameters for level, weight, char... and calls the appropriate emf_render_web code (e.g. modform_space_gamma1 is char==none, modform_space if char is defined, ...). Also defines functions to deal with download queries and q-expansion queries.
      • emf_render_web_modform_space_gamma1.py: code to render a form space of level Gamma1 as a collection of spaces indexed by characters.
      • static ???? Probably not used (deleting it does not seem to break anything)
        • elliptic_modular_form_scripts.js ????
        • elliptic_modular_form_util-functions.js ????
      • templates
        • emf_browse_fixed_level.html
        • emf_navigation.html
        • emf_table.html
        • emf_web_newform.html
        • geometric.html
        • select_ranges.html
        • emf_browse_spaces.html
        • emf_render_web_modform_space_gamma1.html
        • emf_web_modform_space.html
        • not_available.html
        • experimental !!!!
          • data_table.html
          • emf2.html
          • emf_browse.html
          • emf_browse_graph.html
          • emf_browse_range.html
          • emf_new.html
          • emf_table2.html
  • maass_forms
    • ...
  • views
    • __init__.py: imports the content of this directory.
    • mf_main.py: defines the body_class to be "mf" and routes "/".
    • templates
      • mf_navigation.html: main navigation page of modular forms. List of links to pages of various types of modular forms.
Personal tools