These are chat archives for symengine/symengine

18th
Jan 2016
Sumith Kulal
@Sumith1896
Jan 18 2016 07:08
@isuruf Let me know your views on #764. Any additions or changes?
Francesco Biscani
@bluescarni
Jan 18 2016 13:39
Is anyone here familiar with multivariate polynomial GCD?
I'd like to implement rational functions in Piranha based on the polynomial class, but I have not much knowledge about polynomial division, GCD, factorisation, etc.
Ralf Stephan
@rwst
Jan 18 2016 13:40
@bluescarni I know that GiNaC has a buggy implementation, and Singular's is used in Sage's polynomial rings.
Francesco Biscani
@bluescarni
Jan 18 2016 13:40
I will probably start doing the univariate case which seems relatively simple, but the multivariate one will be harder I guess
@rwst thanks.. do you know if they do anything special or do they use textbook algorithms?
I got some textbooks and various references, but it's kinda daunting to get started
I am not too interested in performance at the moment, but it would be nice to have a first initial simple iteration of the design
Ralf Stephan
@rwst
Jan 18 2016 13:44
@bluescarni No idea. I think Singular can be seen as a reference implementation, i.e. heavily tested and dependable but maybe not optimally fast. Magma would be interesting but is closed source.
Francesco Biscani
@bluescarni
Jan 18 2016 13:44
ok I see... I got this book and it seems like a good starting point http://www.springer.com/us/book/9780792392590
Ralf Stephan
@rwst
Jan 18 2016 13:45
Some abstract algebra would also be helpful, probably.
Francesco Biscani
@bluescarni
Jan 18 2016 13:46
do you have any reference to recommend?
Francesco Biscani
@bluescarni
Jan 18 2016 13:49
cheers!
I just want to do practical computations with rational functions really, so something really basic will be sufficient in the beginning
doing some perturbation theory computations and it would really help to be able to represent rational functions in Piranha
Kalevi Suominen
@jksuom
Jan 18 2016 13:55
Did you look into sympy.polys.factortools? It contains a workable implementation though only over integers and (simple) finite fields. I believe it implements much of what is in your book.
Ralf Stephan
@rwst
Jan 18 2016 13:55
OK the Grillet is more basic, and even entertaining, and the price was not too high (check https://play.google.com/store/books/details/Pierre_Antoine_Grillet_Abstract_Algebra?id=LJtyhu8-xYwC&hl=en).
Francesco Biscani
@bluescarni
Jan 18 2016 13:56
@rwst thanks!
@jksuom I was just browsing SymPy's documentation about polynomials, it would certainly be helpful to see how they did it
I am just interested in polynomials over the rationals at the moment, so the integer implementation is fine for that
Kalevi Suominen
@jksuom
Jan 18 2016 13:58
I thought so.
Ralf Stephan
@rwst
Jan 18 2016 13:59
For rational functions the set is named fractional field. Sage has an implementation, scroll down at http://doc.sagemath.org/html/en/reference/polynomial_rings/index.html
Francesco Biscani
@bluescarni
Jan 18 2016 13:59
I am a bit hesitant to go directly to the source code as I think I need to get some theoretical grounding first
@rwst thanks
Francesco Biscani
@bluescarni
Jan 18 2016 21:05
@rwst thanks for the links!
I am not sure I understand well the role of Groebner basis in all this
Maybe I should also consider the possibility of wrapping some existing library rather than duplicating (badly, at least in the beginning) existing functionality