#13619: Enable polynomial content over padic fields
--------------------------------+-------------------------------------------
Reporter: saraedum | Owner: roed
Type: enhancement | Status: new
Priority: trivial | Milestone: sage-5.5
Component: padics | Resolution:
Keywords: | Work issues:
Report Upstream: N/A | Reviewers:
Authors: Julian Rueth | Merged in:
Dependencies: | Stopgaps:
--------------------------------+-------------------------------------------
Description changed by saraedum:
Old description:
> Currently, one cannot call {{{content()}}} for a polynomial defined over
> {{{Qp}}}:
> {{{
> sage: K = Qp(3)
> sage: R.<t> = K[]
> sage: t.content()
> TypeError: ground ring is a field. Answer is only defined up to units.
> }}}
>
> The intention is apparently to protect the user from calling
> {{{content()}}} if he mistakenly got from {{{Zp}}} into {{{Qp}}}, since
> the content there would be always zero or one. However, this can be
> annoying when writing algorithms which work over {{{Zp}}} and
> {{{Qp}}} but which have to take the content into account over {{{Zp}}}.
>
> Additionally, the content shows a somewhat strange behaviour for zero
> polynomials::
> {{{
> sage: R = Zp(3)
> sage: S.<t> = R[]
> sage: f = S(R(0,3)); f
> (O(3^3))
> sage: f.is_zero()
> True
> sage: f.content()
> 3 + O(3^23)
> sage: _.is_zero()
> False
> }}}
>
> I don't think that the current behaviour is not mathematically incorrect,
> but I believe it's not very intuitive.
New description:
Currently, one cannot call {{{content()}}} for a polynomial defined over
{{{Qp}}}:
{{{
sage: K = Qp(3)
sage: R.<t> = K[]
sage: t.content()
TypeError: ground ring is a field. Answer is only defined up to units.
}}}
The intention is apparently to protect the user from calling
{{{content()}}} if he mistakenly got from {{{Zp}}} into {{{Qp}}}, since
the content there would be always zero or one. However, this can be
annoying when writing algorithms which work over {{{Zp}}} and {{{Qp}}} but
which have to take the content into account over {{{Zp}}}.
Additionally, the content shows a somewhat strange behaviour for zero
polynomials::
{{{
sage: R = Zp(3)
sage: S.<t> = R[]
sage: f = S(R(0,3)); f
(O(3^3))
sage: f.is_zero()
True
sage: f.content()
3 + O(3^23)
sage: _.is_zero()
False
}}}
I don't think that the current behaviour is mathematically incorrect, but
I believe it's not very intuitive.
--
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/13619#comment:3>
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.