#20312: parent of argument lost with GinacFunctions
-----------------------------+------------------------
Reporter: rws | Owner:
Type: defect | Status: new
Priority: major | Milestone: sage-7.2
Component: symbolics | Resolution:
Keywords: | Merged in:
Authors: | Reviewers:
Report Upstream: N/A | Work issues:
Branch: | Commit:
Dependencies: | Stopgaps:
-----------------------------+------------------------
Description changed by rws:
Old description:
> Except for some classes, Python objects as function arguments are coerced
> into SR, but with `GinacFunction`s the parent gets lost, i.e. the result
> is not converted back. Ths violates the rule that function input and
> output should be of the same type.
> {{{
> sage: S.<y> = PolynomialRing(RR)
> sage: ex = sin(asin(y)); ex
> y
> sage: type(ex)
> <type 'sage.symbolic.expression.Expression'>
> sage: ex.is_symbol()
> True
> }}}
> This also shows that the notion "SR encapsulates all Sage objects" is
> wrong because everything coerces into SR. SR only encapsulates certain
> "numeric" objects. Pynac can't be blamed as it only sees expressions. The
> problem is in `symbolic/function.pyx` where the parent of function
> arguments is lost.
New description:
Except for some classes, Python objects as function arguments are coerced
into SR, but with `GinacFunction`s the parent gets lost, i.e. the result
is not converted back. Ths violates the rule that function input and
output should be of the same type.
{{{
sage: S.<y> = PolynomialRing(RR)
sage: ex = sin(asin(y)); ex
y
sage: type(ex)
<type 'sage.symbolic.expression.Expression'>
sage: ex.is_symbol()
True
}}}
This also shows that the notion "SR encapsulates all Sage objects" is
wrong because everything coerces into SR. SR only encapsulates certain
"numeric" objects. Pynac can't be blamed as it only sees expressions. The
problem is in `symbolic/function.pyx` where the parent of function
arguments is lost.
See also #18832
--
--
Ticket URL: <http://trac.sagemath.org/ticket/20312#comment:1>
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 https://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.