Beispiel #1
0
                 default=True),
    MathCol("level_norm", "mf.level_norm", "Level norm"),
    MathCol("weight", "mf.hilbert.weight_vector", "Weight"),
    MathCol("dimension", "mf.hilbert.dimension", "Dimension", default=True),
    ProcessedCol("is_CM",
                 "mf.cm",
                 "CM",
                 lambda cm: "✓" if cm == "yes" else "",
                 align="center"),
    ProcessedCol("is_base_change",
                 "mf.base_change",
                 "Base change",
                 lambda bc: "✓" if bc == "yes" else "",
                 align="center")
])
hmf_columns.dummy_download = True


@search_wrap(table=db.hmf_forms,
             title='Hilbert modular form search results',
             err_title='Hilbert modular form search error',
             columns=hmf_columns,
             per_page=50,
             shortcuts={'jump': hilbert_modular_form_jump},
             bread=lambda: get_bread("Search results"),
             learnmore=learnmore_list,
             url_for_label=url_for_label,
             properties=lambda: [])
def hilbert_modular_form_search(info, query):
    parse_nf_string(info, query, 'field_label', name="Field")
    parse_ints(info, query, 'deg', name='Field degree')
Beispiel #2
0
        disp = r"$, \cdots ,$".join(disp)
    else:
        disp = "$,$&nbsp".join(disp)
    return f'<p style="margin-top: 0px;margin-bottom:0px;">\n{disp}\n</p>'

character_columns = SearchColumns([
    LinkCol("label", "character.dirichlet.galois_orbit_label", "Orbit label", lambda label: label.replace(".", "/"), default=True, align="center"),
    MultiProcessedCol("conrey", "character.dirichlet.conrey'", "Conrey labels", ["galois_orbit", "modulus"],
                      display_galois_orbit, default=True, align="center"),
    MathCol("modulus", "character.dirichlet.modulus", "Modulus", default=True),
    MathCol("conductor", "character.dirichlet.conductor", "Conductor", default=True),
    MathCol("order", "character.dirichlet.order", "Order", default=True),
    ProcessedCol("parity", "character.dirichlet.primitive", "Parity", lambda parity: "even" if parity == 1 else "odd", default=True),
    CheckCol("is_primitive", "character.dirichlet.primitive", "Primitive", default=True)])

character_columns.dummy_download = True

@search_wrap(
    table=db.char_dir_orbits,
    title="Dirichlet character search results",
    err_title="Dirichlet character search input error",
    columns=character_columns,
    shortcuts={"jump": jump},
    url_for_label=url_for_label,
    learnmore=learn,
    random_projection="label",
    bread=lambda: bread("Search results"),
)
def dirichlet_character_search(info, query):
    common_parse(info, query)
Beispiel #3
0
        return url_for(".random_abstract_group")
    return url_for(".by_label", label=label)


def get_url(label):
    return url_for(".by_label", label=label)


glnQ_columns = SearchColumns([
    LinkCol("label", "group.label", "Label", get_url, default=True),
    MathCol("tex_name", "group.name", "Name", default=True),
    MathCol("order", "group.order", "Order", default=True),
    MathCol("dim", "group.dimension", "Dimension", default=True)
],
                             db_cols=["label", "group", "order", "dim"])
glnQ_columns.dummy_download = True


def glnQ_postprocess(res, info, query):
    tex_names = {
        rec["label"]: rec["tex_name"]
        for rec in db.gps_groups.search(
            {"label": {
                "$in": [gp["group"] for gp in res]
            }}, ["label", "tex_name"])
    }
    for gp in res:
        gp["tex_name"] = tex_names[gp["group"]]
    return res

Beispiel #4
0
              "$G$",
              default=True,
              align="center"),
    MathCol(
        "indicator", "artin.frobenius_schur_indicator", "Ind", default=True),
    MathCol("trace_complex_conjugation",
            "artin.trace_of_complex_conj",
            r"$\chi(c)$",
            default=True)
], [
    "Baselabel", "GaloisConjugates", "Dim", "Conductor", "BadPrimes", "NFGal",
    "GaloisLabel", "Indicator", "Is_Even"
])

artin_columns.above_table = "<div>Galois conjugate representations are grouped into single lines.</div>"
artin_columns.dummy_download = True


@search_wrap(table=db.artin_reps,
             title='Artin representation search results',
             err_title='Artin representation search error',
             per_page=50,
             columns=artin_columns,
             learnmore=learnmore_list,
             url_for_label=url_for_label,
             shortcuts={'jump': artin_representation_jump},
             postprocess=lambda res, info, query:
             [ArtinRepresentation(data=x) for x in res],
             bread=lambda: [('Artin representations', url_for(".index")),
                            ('Search results', ' ')])
def artin_representation_search(info, query):