On Fri, Aug 27, 2021 at 6:56 PM Isuru Fernando <isu...@gmail.com> wrote: > > 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.
a humble request is to get pkg-config supporting symengine. Otherwise the task of determining version etc gets quite tricky. See https://trac.sagemath.org/ticket/32421 > > 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. -- 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/CAAWYfq2ijm-q-6j%2Bg80jHQCJ6CwFDsT3vcnDjgUPADRNSxnvNw%40mail.gmail.com.