This package checks congruence between Kim-Ramakrishnan-Shahidi lifts and non-lifts. We check congruences for lifts of elliptic modular forms of level one and of weight 16, 18, 20.
- Install SageMath. We use SageMath 6.5.
- degree2 and this package are packages written in pure Python. Place them to an appropriate directory so that SageMath can find these packages.
First prepare a directory for saving data. For example, we create “~/krs_lift_data_dir” for the data directory.
$ mkdir ~/krs_lift_data_dir
And in SageMath, evaluate the following code.
sage: import krs_lift_congruence.utils
sage: import os
sage: krs_lift_congruence.utils.data_dir = os.path.expanduser("~/krs_lift_data_dir")
To compute basis of weights det^17 Sym(14), det^19 Sym(16) and det^21 Sym(18), lifts and non-lifts with precision 6, evaluate the following code. This takes about 15 hours (OS: Ubuntu 14.04 64 bit, Memory: 20GB, CPU: core i7-3770).
sage: from krs_lift_congruence.check_krs_cong import compute_lift_and_non_lift
sage: compute_lift_and_non_lift()
Then basis, lifts and non-lifts will be saved in the data directory. For example to load the lift of weight det^17 Sym(14) and non-lift of the same weight, try the following code.
sage: from degree2.elements import SymWtModFmElt
sage: lift = SymWtModFmElt.load_from("~/krs_lift_data_dir/lift_17_14_prec6.sobj")
sage: nonlift = SymWtModFmElt.load_from("~/krs_lift_data_dir/nonlift_17_14_prec6.sobj")
To check congruences, evaluate the following code.
sage: from krs_lift_congruence.check_krs_cong import check_congruence
sage: check_congruence()
To compute the critical value of symmetric 6th of elliptic modular form,
try the following code (here we compute L(Sym^6, 46, f16)
where f16
is
the primitive form of level 1 and weight 16).
sage: from krs_lift_congruence.symmetric_l_calculator import Symm6Calculator
sage: f16 = CuspForms(1, 16).basis()[0] # The primitive form of weight 16.
sage: lcalc = Symm6Calculator(f16, digits=150)
sage: alg_part = lcalc.algebraic_part_numeric(46) # The conjectural algebraic part.
sage: alg_part
1.87966186352303659892877519163336698098888790010700567447336739672714532309789854529673272542132901080918376259689834113363757245781300129905679338263e-41
sage: alg_part_normalized = alg_part * 2^(-6*16) * gamma(46) * gamma(46-16) * gamma(46-32)
sage: cfls = continued_fraction_list(alg_part_normalized, bits=502); cfls
[1562540000945356473049039526,
1,
1,
1,
2,
6,
1,
1,
1,
199192463969969370870280561,
...]
sage: continued_fraction(cfls[:9]).value().factor()
2^26 * 3^14 * 5^4 * 7^6 * 11^2 * 13^-2 * 92467
Fourier coefficients of lifts and non-lifts are stored in CSV files.
krs_lift_data.zip in Google Drive
Licensed under GPL.