#6018: Confusing behaviour with Dirichlet characters
-------------------------------------+-------------------------------------
       Reporter:  davidloeffler      |        Owner:  craigcitro
           Type:  defect             |       Status:  needs_work
       Priority:  minor              |    Milestone:  sage-6.4
      Component:  modular forms      |   Resolution:
       Keywords:  Dirichlet          |    Merged in:
  characters                         |    Reviewers:
        Authors:  David Loeffler,    |  Work issues:
  Peter Bruin                        |       Commit:
Report Upstream:  N/A                |  b03524d51a87612922108e137132f7d55ef13646
         Branch:                     |     Stopgaps:
  u/pbruin/6018-DirichletGroup_zeta  |
   Dependencies:  #18540             |
-------------------------------------+-------------------------------------
Changes (by {'newvalue': u'David Loeffler, Peter Bruin', 'oldvalue': ''}):

 * commit:   => b03524d51a87612922108e137132f7d55ef13646
 * dependencies:   => #18540
 * branch:   => u/pbruin/6018-DirichletGroup_zeta
 * author:   => David Loeffler, Peter Bruin


Comment:

 Here is a branch implementing a solution which is somewhat like the third
 option in the ticket description.  The idea is to introduce two different
 variants of `DirichletGroup`:
 - `DirichletGroup(N, base_ring)`, corresponding to the group
 Hom(('''Z'''/''N'''''Z''')^*^, ''R''^*^);
 - `DirichletGroup(N, base_ring, zeta[, zeta_order])` corresponding to the
 group Hom(('''Z'''/''N'''''Z''')^*^, 〈ζ〉).
 If ''R'' is a domain, we also allow the user to only specify `zeta_order`,
 in which case the `DirichletGroup` factory tries to compute a suitable
 `zeta`.

 The difference between the two variants is visible from the string
 representation:
 {{{
 sage: R.<x> = PolynomialRing(QQ)
 sage: K.<a> = NumberField(x^4 + 1)
 sage: DirichletGroup(5, K)
 Group of Dirichlet characters of modulus 5 over Number Field in a with
 defining polynomial x^4 + 1
 sage: DirichletGroup(5, K, a)
 Group of Dirichlet characters of modulus 5 over Number Field in a with
 defining polynomial x^4 + 1 with values in the group of order 8 generated
 by a
 }}}

 Because it is no longer mandatory to have a distinguished `zeta`,
 Dirichlet characters are by default specified by their values instead of a
 vector of integers modulo the order of `zeta`.  For efficiency reasons,
 this vector is still used whenever a `zeta` is known (whether it has been
 specified as in the second syntax above or has been computed at a later
 stage).

 Besides solving the problems in the ticket description, this ticket
 greatly speeds up constructing Dirichlet groups over number fields.  This
 is because `zeta` is only computed when needed, and hence factoring
 cyclotomic polynomials is avoided.  This factoring will still happen when
 one asks for things like generators or a list of all elements.

 David: part of the branch (including some doctests) is based on your
 patches; I hope you don't mind me adding you as an author.

--
Ticket URL: <http://trac.sagemath.org/ticket/6018#comment:18>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to