def __init__(self, E, m): if E.has_cm(): raise ValueError("E should not be cm") from sympowlmfdb import sympowlmfdb bad_primes, conductor, root_number = sympowlmfdb.local_data(E, m) self.bad_prime_euler = {} self.bad_primes = [i for (i, _) in bad_primes] for j in bad_primes: a, b = j self.bad_prime_euler[a] = b self.m = m self.conductor = conductor self.root_number = root_number self.E = E self._construct_L()
def symmetricEulerFactor(E, m, p): bad_primes, conductor, root_number = sympowlmfdb.local_data(E, m) bad_P_poly = {} bad_P_list = [i for (i, _) in bad_primes] for j in bad_primes: a, b = j bad_P_poly[a] = b if p in bad_P_list: return bad_P_poly[p] m = sage.rings.all.Integer(m) # E=EllipticCurve(E) R = sage.rings.all.PolynomialRing(sage.rings.all.RationalField(), 't') t = R('t') F = 1 print type(F) for i in range(0, (m - 1) / 2 + 1): s = m - 2 * i s2 = s // 2 ap = E.ap(p) TI = sum([ tbin(s, s2 - k) * ap**(2 * k) * p**(s2 - k) for k in xrange(0, s2 + 1) ]) if s % 2 != 0: TI = ap * TI F = F * (1 - TI * p**i * t + p**m * t**2) if m % 2 == 0: F = F * (1 - p**(m / 2) * t) return F.coeffs()
def symmetricEulerFactor(E, m, p): bad_primes, conductor, root_number = sympowlmfdb.local_data(E, m) bad_P_poly = {} bad_P_list = [i for (i, _) in bad_primes] for j in bad_primes: a, b = j bad_P_poly[a] = b if p in bad_P_list: return bad_P_poly[p] m = sage.rings.all.Integer(m) # E=EllipticCurve(E) R = sage.rings.all.PolynomialRing(sage.rings.all.RationalField(), 't') t = R('t') F = 1 print type(F) for i in range(0, (m - 1) / 2 + 1): s = m - 2 * i s2 = s // 2 ap = E.ap(p) TI = sum([tbin(s, s2 - k) * ap ** (2 * k) * p ** (s2 - k) for k in xrange(0, s2 + 1)]) if s % 2 != 0: TI = ap * TI F = F * (1 - TI * p ** i * t + p ** m * t ** 2) if m % 2 == 0: F = F * (1 - p ** (m / 2) * t) return F.coeffs()
def symmetricPowerLfunction(E, n): """ gives lcalc version of symmetric power L function """ bad_primes, conductor, root_number = sympowlmfdb.local_data(E, n)
def symmetricPowerLfunction(E, n): """gives lcalc version of symmetric power L function""" bad_primes, conductor, root_number = sympowlmfdb.local_data(E, n)