#8327: Implement the universal cyclotomic field, using Zumbroich basis
-----------------------------------------------------+----------------------
Reporter: nthiery | Owner:
Type: enhancement | Status:
needs_work
Priority: major | Milestone: sage-5.0
Component: number fields | Resolution:
Keywords: Cyclotomic field, Zumbroich basis | Work issues:
Report Upstream: N/A | Reviewers:
Authors: Christian Stump, Simon King | Merged in:
Dependencies: #4539 #10771 #7980 | Stopgaps:
-----------------------------------------------------+----------------------
Comment (by davidloeffler):
Replying to [comment:94 stumpc5]:
>
> I didn't implement the `__call__` method - what is the behaviour you
would expect here?
Oh, I don't know, maybe the same behaviour as every other parent object in
the Sage library? The default {{{ __call__ }}} calls {{{
_element_constructor_ }}}, which you should override, in order to create
an element of self from the given arguments. This includes checking
whether the given arguments are reasonable, and raising a !TypeError
otherwise.
You should also set the attribute wrapped_class for your element class to
something other than the default (which is "object"), so the {{{
__init__}}} it inherits from !ElementWrapper knows what it's supposed to
be wrapping and doesn't wrap obviously bogus objects as in the examples
above.
>
> how can I get a coerce from `CyclotomicField(n)` for all `n`?
>
I don't quite understand the question, but if you're going to implement a
class and call it "universal cyclotomic field", surely it had better
satisfy a universal property with respect to cyclotomic fields? If your
question is "how do I recognise a cyclotomic field", you might find {{{
isinstance(K, sage.rings.number_field.number_field.NumberField_cyclotomic)
}}} or perhaps {{{
sage.rings.number_field.number_field.is_CyclotomicField(K) }}} helpful.
You should also check {{{ K.coerce_embedding}}}, since it's possible to
create cyclotomic fields with complex embeddings other than the standard
one.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/8327#comment:95>
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.