Hi, When computing Eisenstein series with a given character, Sage may return some forms with a wrong character. The following lines show an example of this:
sage: G = DirichletGroup(7) sage: E = EisensteinForms(G[4]).eisenstein_series() sage: E[0].character() == G[4] False The problem appears to be caused by the condition if chi*psi == eps: in the function __find_eisen_chars in modular/modform/eis_series.py. According to Miyake, _Modular Forms_, Lemma 7.1.1 (cited in a comment in this function), it should be if chi == eps*psi: Another bug is that Sage uses an incorrect formula to compute q- expansions of Eisenstein series. Here the origin of the problem seems to be formula (5.3.1) in Stein, _Modular Forms: A Computational Approach_, where the psi(n) should be replaced by its complex conjugate (cf. Miyake, _Modular Forms_, Theorem 4.7.1 and the first three lines of page 271). The method __compute_general_case of the class EisensteinSeries in modular/modform/element.py reproduces this formula in the form v.append(sum([psi(n)*chi(m/n)*n**(k-1) for n in rings.divisors(m)])) Here psi should be ~psi. Thanks, Peter Bruin --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-support URLs: http://www.sagemath.org -~----------~----~----~----~------~----~------~--~---