These are chat archives for symengine/symengine

28th
Oct 2015
Ralf Stephan
@rwst
Oct 28 2015 07:03
@certik Thanks for your explanations. I've put them into https://github.com/symengine/symengine/wiki/Beginner-Contributor-Guide-Design-of-SymEngine ... maybe you want to eyeball what I changed for that purpose.
Ralf Stephan
@rwst
Oct 28 2015 07:49
@certik BTW there is another system to compare, GP/Pari series:
``````? \ps 100
seriesprecision = 100 significant terms
? sqrt(1+x^2)
%4 = 1 + 1/2*x^2 - 1/8*x^4 + 1/16*x^6 - ...
+ 32831974560542341369497975/39614081257132168796771975168*x^98 + O(x^100)
? ##
***   last result computed in 2 ms.``````
Ralf Stephan
@rwst
Oct 28 2015 09:09
@certik , you want to base symengine series on symengine multivar polynomials (based on piranha), or directly on piranha power series? The latter do not support rational exponents AFAIK. An option would be to first have a proof of concept based on current symengine univar polynomials (int exponents). I would feel more comfortable to myself start with such a thing. That need not stop you from implementing piranha polynomials.
Shivam Vats
@shivamvats
Oct 28 2015 10:26
@certik Do we want to use Piranha directly? I thought we are to base series on top of #597.
Ondřej Čertík
@certik
Oct 28 2015 15:43
#597 is not finished and it might still have some little performance issues. So I think it's easier to simply use Piranha as is. @rwst I think Piranha polynomials support rational exponents, and that's all we need. I think Piranha has some support for power series as well, but we don't need to use it if it doesn't support rational exponents. We can base it on top of our own polynomials. One problem with Piranha is that I think it doesn't compile using MSVC, so it can only be an optional dependency, and so we need to have some kind of polynomials that work on all platforms. But when it comes to benchmarking, I wanted to use Piranha directly, to get us an idea about what the speed can be. Thanks for the Pari benchmark, we should benchmark against it as well.
Isuru Fernando
@isuruf
Oct 28 2015 15:53
@certik, from what @bluescarni mentioned, I think piranha does compile on MSVC. We'll have to first compile MPFR and Boost.
For compiling MPFR on windows, using https://github.com/BrianGladman/mpfr might be the easiest
Sorry, @bluescarni mentioned only MinGW
Ondřej Čertík
@certik
Oct 28 2015 16:16
@isuruf right, I think it works under MinGW, but not MSVC
Shivam Vats
@shivamvats
Oct 28 2015 17:06
@certik Cool
Isuru Fernando
@isuruf
Oct 28 2015 19:44
@certik, I checked, MSVC can't seem to compile this line, https://github.com/bluescarni/piranha/blob/master/src/symbol_set.hpp#L103. An internal error occurs
Ondřej Čertík
@certik
Oct 28 2015 19:51
Yeah, too many templates.