[GiNaC-devel] Switch UniPoly to cl_UP_MI

Jens Vollinga jensv at nikhef.nl
Tue Sep 30 12:12:56 CEST 2008


Dear Alexei,

Alexei Sheplyakov schrieb:
> You might want to try polynomial/upoly.hpp. Feel free to ask me to implement
> the operations you need, propose any reasonable API changes, etc.

for the next three/four weeks I will not change to upoly/umodpoly. I 
want to try more efficient algorithms first, and there is still a 
strange bug in the multivariate case that happens just occasionally and 
that I need to catch.

For modular polynomials I only need *,+,- and the functions in lines 
105-350 in factor.cpp like div/rem/gcd/... You are probably going to 
implement them anyway, I guess.

I don't care much about the API as long as it allows for efficient and 
elegant usage. Since you are using umodpoly for a modular gcd you have 
the same requirements as I do, so just got ahead with it and do it as 
you like. Side question: is the cln code (cl_UP_UI) going to improve in 
the future or is the development stuck?

Eventually, I'll going to move factor.cpp into the ginac/polynomial 
directory. Maybe I will split the modular matrix code into a separate 
file as well.

BTW, do you plan to have a multivariate (modular) polynomial class? At 
the moment, in factor.cpp I use the silly make_modular() function that 
looks at coefficients in a ex and changes them to their ring value. 
Dirty hack it is.

Regards,
Jens



More information about the GiNaC-devel mailing list