These are chat archives for symengine/symengine

8th
Mar 2015
Isuru Fernando
@isuruf
Mar 08 2015 03:00
yeah, it does not even build for me. I have to add a patch to build cmake.
What should be the cmake version to use? Mine is 2.8.12.2, but the latest is 3.1.3
Isuru Fernando
@isuruf
Mar 08 2015 09:13

@certik I looked into Pynac a little bit and here are some thoughts
Pynac keeps references to integer objects and uses python operations for add, mul, pow, etc.
We could have a implementation like it. We can have a Number type that resembles the numeric class of pynac/ginac. We'll use that class when the type cannot be converted to number formats we support. (We'll have to move the functionality of pow (number^number) to methods of each class).

For eg: Mod is not a class we support, so Mod(3,7)*4 would first convert 4 to a python object, then the two objects would be multiplied and then run through a sympify function(a function written in cython) that returns a RCP<const Number> instance.

We'll need to finish the eval functions. (And maybe include another class to hold the double values)

Sumith Kulal
@Sumith1896
Mar 08 2015 12:52
@shivamvats I was having a look at your proposal, all the details of the discussions are very nicely covered, great work!
But @certik had mentioned that there is enough work for multiple proposals for poly and was encouraging to go with poly, I am in a dilemma of what I could actually be doing, could you suggest some entry points?
Shivam Vats
@shivamvats
Mar 08 2015 13:02
@Sumith1896 Thank you! The proposal is a WIP and isn't as concrete and detailed as it should be. Hopefully, it will become so by the deadline.
You are right! Poly is very extensive. I will only be implementing the basic structure so that series expansion works (ie. basic arithmetic). You can look at Sympy's poly and figure out what you want to add (there is enough!).
Sumith Kulal
@Sumith1896
Mar 08 2015 13:14
So, I could extend that poly module and also see what Piranha does!
I had spent a lot of time reading for solvers, I would like to implement it in future :smile: it might not be this summer.
Shivam Vats
@shivamvats
Mar 08 2015 13:21
You should definitely work on what you are interested in.
Sumith Kulal
@Sumith1896
Mar 08 2015 16:49
Just trying to get a rough sketch of what has to be added in th poly module:
```
Sumith Kulal
@Sumith1896
Mar 08 2015 17:02
basic poly manipulation-as mentioned by @shivamvats
divide-methods like cancel( ), factorization, GCD, poly roots
Gröbner basis is also a possibilty, implementing Wester's paper will be interesting for benchmark and comparison.
Ondřej Čertík
@certik
Mar 08 2015 18:24
@isuruf I would use the latest cmake, only if that doesn't work for some reason, then I would downgrade.
@Sumith1896, @shivamvats there is plenty of things to do in Polys. One thing is to spend time and try various approaches to make it as fast as possible. There is series expansion using polys. There is all the things you mentioned. I have no problems if some parts are the same in both proposals, if both get accepted, we can then amend it.