def test_det_is_divisible_x35_fifth(): prec = 18 x35 = x35_with_prec(prec) f187 = ModFormQexpLevel1.load_from(os.path.join(data_dir, "gens_even_det.sobj")) es4 = eisenstein_series_degree2(4, prec) es6 = eisenstein_series_degree2(6, prec) g = (x35 ** 5) * (es4 ** 3 - es6 ** 2) assert f187 * g[(16, 5, 10)] == g * f187[(16, 5, 10)]
def polynomial_to_form(f, prec): es4 = eisenstein_series_degree2(4, prec) es6 = eisenstein_series_degree2(6, prec) x10 = x10_with_prec(prec) x12 = x12_with_prec(prec) x35 = x35_with_prec(prec) gens = [es4, es6, x10, x12, x35] def monom(t): return reduce(operator.mul, [f ** a for f, a in zip(gens, t)]) return sum([a * monom(t) for t, a in f.dict().iteritems()])
def test_wt_35_eigenvalues(self): x35 = x35_with_prec([(12, 33, 27), (8, 35, 39), (34, -17, 51)]) d = {2: -25073418240, 3: -11824551571578840, 4: 138590166352717152256, 5: 9470081642319930937500, 7: -10370198954152041951342796400, 9: -96268467952179923650803475996239, 11: -8015071689632034858364818146947656, 13: -20232136256107650938383898249808243380, 17: 118646313906984767985086867381297558266980} d1 = {m: x35.hecke_eigenvalue(m) for m in d.keys()} self.assertTrue(d == d1)
def check_det_with_prec(prec): es4 = eisenstein_series_degree2(4, prec) es6 = eisenstein_series_degree2(6, prec) x35 = x35_with_prec(prec) f = (es4**3 - es6**2) * x35**6 t = f._none_zero_tpl() d = calculator.forms_dict(prec) # Constructions of the first 11 generators. cs = list(sorted(calculator._const_vecs, key=lambda x: x.weight()))[:11] wt = sum(c.weight() for c in cs) + (10 * 11)//2 mat = [d[c].forms for c in cs] det = det_deg2(mat, wt=wt) assert f[t] * det == det[t] * f
ff_qsrx10 = qsrx10.change_ring(ffld) dzx10 = x10.differentiate_wrt_z() ff_dzx10 = dzx10.change_ring(ffld) x12 = x12_with_prec(global_prec) qsrx12 = QexpLevel1(x12.fc_dct, global_prec, is_cuspidal=True, base_ring=ZZ) dzx12 = x12.differentiate_wrt_z() ff_x12 = x12.change_ring(ffld) ff_qsrx12 = qsrx12.change_ring(ffld) ff_dzx12 = dzx12.change_ring(ffld) x35 = x35_with_prec(global_prec) ff_x35 = x35.change_ring(ffld) dct_of_forms = {"es4": es4, "qsres4": qsres4, "es6": es6, "qsres6": qsres6, "x10": x10, "qsrx10": qsrx10, "x12": x12, "qsrx12": qsrx12, "dzx10": dzx10, "dzx12": dzx12, "x35": x35, "2": 2, "0": 0,
def test_x35(self): x35 = x35_with_prec(global_prec) self.assertTrue(self.sub_dct(x35) == fc_dct35)