#9407: fixed fields for dirichlet characters and conductors and dirichlet
characters for abelian fields
-----------------------------------------------------------+----------------
   Reporter:  wuthrich                                     |       Owner:  
davidloeffler                                           
       Type:  enhancement                                  |      Status:  
needs_review                                            
   Priority:  major                                        |   Milestone:  
sage-4.6.2                                              
  Component:  number fields                                |    Keywords:  
Dirichlet characters, abelian fields, class field theory
     Author:  Michael Daub, John Bergdall, Chris Wuthrich  |    Upstream:  N/A  
                                                   
   Reviewer:  Marco Streng                                 |      Merged:       
                                                   
Work_issues:                                               |  
-----------------------------------------------------------+----------------
Changes (by mstreng):

  * reviewer:  => Marco Streng


Comment:

 All tests pass (including long). I did not take the time to check the
 algorithms. Documentation and code (aside from the actual algorithms)
 looks good. Here are some comments:

   * "{{{'the conductor %s is supposed to be prime' % n }}}", what do you
 mean by
   "supposed to be"? Do you mean the following?
   {{{"fixed_field_polynomial is only implemented if the conductor is
 prime, and %s is not" % n}}}

   * an example
   {{{
   sage: G = DirichletGroup(37)
   sage: psi = G.0^36; psi
   Dirichlet character modulo 37 of conductor 1 mapping 2 |--> 1
   sage: psi.fixed_field_polynomial()
   NotImplementedError: the conductor 1 is supposed to be prime
   }}}
   Why not add a simple check for this case to get the following?
   {{{
   sage: psi.fixed_field_polynomial()
   x
   sage: psi.fixed_field()
   Rational Field
   }}}

   * "{{{if euler_phi(n) % d != 0: }}}"
   This never happens: d is in a group of order {{{euler_phi(n)}}}, hence
 has order dividing that number

   {{{
   if f == 1:
       from sage.misc.functional import cyclotomic_polynomial
       return cyclotomic_polynomial(n, S.gen())
   }}}
   It would be good if this check is also added to {{{fixed_field()}}}, so
 that the output could be a {{{NumberField_cyclotomic}}}

   * when constructing a field from a character, you write
   {{{
   K.is_abelian.set_cache(True)
   K.is_galois.set_cache(True)
   }}}
   Why not add K.conductor.set_cache(self.conductor())

   * "{{{This assumes that `K/\mathbb{Q}` is an abelian extension;}}}" add
 "{{{even with check_abelian=True}}}"? Also, I think the developer's guide
 says something about how to typeset QQ, RR, ZZ etc. in the documentation,
 I think it is `QQ`.

   * "{{{.. warning: The 2-part of the conductor might be too big.}}}". Too
 big for what? Or do you mean that it is incorrect? Add an example and
 change the first line to "{{{Computes the conductor of the abelian field
 `K` up to a power of 2.}}}"

   * In the documentation of {{{dirichlet group}}}, "{{{a abelian}}}"
 should be "{{{an abelian}}}",
   and can you find a better word for "corresponding"?

   * {{{# d could be improve to be the exponenent of the Galois group
 rather than the degree, but I do not see how to how about it already. }}}
 I can't read this: not grammatical

   * "{{{Tough}}}" should be "{{{Though}}}"

   * "{{{Given a number field `K` of conductor `m` and degree `d`,}}}" add
 the word "abelian"

 And then only the algorithms need to be checked.

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/9407#comment:9>
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 post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en.

Reply via email to