#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.