Hi,

A SymEngine maintainer here.

> Pynac has a lot of I think nontrivial efficient hooks back into Sage
for working with various data types, and doing things like equality
testing, fast evaluation of expression (fast_float, etc.),

With SymEngine, we do have fast evaluation of expressions with
several backends. One backend is LLVM, where we compile the function
using LLVM and generate a callable C function using that.

As part of my GSoC project 5 years ago, I added a lot of functionality
that was missing in SymEngine like MPFR types, MPC types, etc.
We also have sage interoperability where we can use an arbitrary
pynac/sympy function object and pass it around in C++ and evaluate when
necessary.

I think the biggest obstacle would be the quirks of different CASs
instead of the functionality needed.
Some design decisions would impact a lot of downstreams.
For eg: SymEngine doesn't expand 2*a - (b + a) automatically
unless specifically asked to, while SymPy does.

If there's specific functionality you are looking for, please let us know
and
we'll probably be able to find someone to do it through GSoC.

Isuru Fernando

On Fri, Aug 27, 2021 at 12:45 PM William Stein <wst...@gmail.com> wrote:

> On Fri, Aug 27, 2021 at 2:21 AM Dima Pasechnik <dimp...@gmail.com> wrote:
> > How are these integrals above computed by Sage? Via Maxima, or in some
> > other way?
>
> When I implemented this, they were all computed in Maxima by default,
> unless otherwise requested.  Thus symbolic integration may be
> orthogonal to the pynac vs symengine discussion.  You can browse  some
> of the beautiful decades(!) old Maxima lisp code for integration
> starting here:
> https://github.com/andrejv/maxima/blob/master/src/defint.lisp
> I'm cc'ing RJF in case he has some perspective to add.
>
> Pynac has a lot of I think nontrivial efficient hooks back into Sage
> for working with various data types, and doing things like equality
> testing, fast evaluation of expression (fast_float, etc.), so it'll be
> quite a lot of work to switch away from.   I created pynac as a fork
> of ginac only because there was a very talented student trying for a
> year to do something similar more from scratch in Cython, and I got
> impatient.   It's too bad pynac is unmaintained now; I think the basic
> idea wasn't so bad, and the performance was pretty good.
>
> -- William
>
> > > and sympy.integrate(*map(sympify, (dgamma(x, a, b), (x, 0,
> 1)))).simplify()._sage_() never returns. Res ipsa loquitur…
> > >
> > > BTW : many Sympy integrations result in Sympy’s Piecewise expressions
> (correctly transcripted as Sage’s cases) involving logical expressions
> using Sympy’s symbolic logical functions/operators And, Or and Not, which
> have currently no equivalent in Sage (but see Trac#31911…)
> > >
> > > --
> > > You received this message because you are subscribed to the Google
> Groups "sage-devel" group.
> > > To unsubscribe from this group and stop receiving emails from it, send
> an email to sage-devel+unsubscr...@googlegroups.com.
> > > To view this discussion on the web visit
> https://groups.google.com/d/msgid/sage-devel/eb1cfbc2-3339-4031-8e24-fc0ceca307ben%40googlegroups.com
> .
> >
> > --
> > You received this message because you are subscribed to the Google
> Groups "sage-devel" group.
> > To unsubscribe from this group and stop receiving emails from it, send
> an email to sage-devel+unsubscr...@googlegroups.com.
> > To view this discussion on the web visit
> https://groups.google.com/d/msgid/sage-devel/CAAWYfq0kcukS4RfSJ4oaxNM0yZHt3n5zFvdGk%2BuRr34M6YZ2SA%40mail.gmail.com
> .
>
>
>
> --
> William (http://wstein.org)
>
> --
> You received this message because you are subscribed to the Google Groups
> "sage-devel" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to sage-devel+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/sage-devel/CACLE5GBhpFYXvbfqE8u-AU42cdDN8dQP320znbPHRkvivPXVRA%40mail.gmail.com
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-devel/CA%2B01voOtDmTgwQAN-t1f%3DUDBGpwWmeh75DXOfRvcjXBiMTZpbw%40mail.gmail.com.

Reply via email to