#19993: Arb: parse symbolic expressions
-------------------------------------+-------------------------------------
Reporter: cheuberg | Owner:
Type: enhancement | Status: needs_review
Priority: major | Milestone: sage-7.1
Component: numerical | Resolution:
Keywords: arb | Merged in:
Authors: Clemens Heuberger | Reviewers:
Report Upstream: N/A | Work issues:
Branch: u/cheuberg/arb | Commit:
/parse-symbolic | 2c2955f15ed22920dc9599085a9dd63e68a512f7
Dependencies: | Stopgaps:
-------------------------------------+-------------------------------------
Comment (by cheuberg):
Replying to [comment:8 fredrik.johansson]:
> It might be worth handling rational arguments in some cases, if it's not
too complicated?
For each operand in a symbolic expression, we could check whether it is an
element of `QQ` and, in that case, just take the `.pyobject` of the
operand instead of converting it into the Real Ball Field. Then it would
be the responsibility of the respective functions to deal with those
elements appropriately (either by the coercion model or by hand).
> x^(2/3)^ -> arb_pow_fmpq
in that case, we should also modify `__pow__` which currently does not
consider rational exponents.
>
> exp(I*pi/3) -> arb_sin_cos_pi_fmpq
I am not sure that we want to do that much parsing of a symbolic
expression.
> gamma(1/3) -> arb_gamma_fmpq
tricky: we would have to hardwire this function because we'd have to call
`RealBallField.gamma`.
I think I'd prefer to postpone such optimizations to a follow-up ticket.
--
Ticket URL: <http://trac.sagemath.org/ticket/19993#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 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.