PoslavskySV / rings

Rings: efficient JVM library for polynomial rings
https://rings.readthedocs.io
72 stars 10 forks source link

Use hipparchus to reduce size of dependent code? #34

Closed axkr closed 6 years ago

axkr commented 6 years ago

Could you please use the hipparchus project to reduce the size of dependent code?

I'm using hipparchus also in Symja and tried to use rings.

My first steps are documented here: Port functionality from PoslavskySV/rings project

PoslavskySV commented 6 years ago

Hi, Axel!

I understand your question; and also I looked your code. I'm not at the computer right now (with phone only) , so I will answer you tomorrow.

PoslavskySV commented 6 years ago

Dear Axel,

I use common-math only for its (pseudo)random generators and descriptive statistics -- nothing more:) If you use hipparcus in Symja there should be no any conflicts. So I don't see any reason to switch to hipparchus --- commons-math already meets my needs. If you use hipparcus and don't want to see common-math in transitive dependencies, I suppose you can do this with maven via exclusions or shade-plugin (which also can produce a minimized lightweight jar).

Regarding your gists. IntegerRings is correct and does the job (I just tried), while ExprRings will not work since algorithms for multivariate polynomial factorization and GCD works only with known rings (Q, Z, finite fields, rational functions over any of that rings). So in Symja, if you want use IExpr as coefficient ring, you have to convert IExpr to rational function (e.g. Rational<MultivariatePolynomial<BigInteger>>>) and then perform the factorization. Let me known if I can assist you with this or with any other issues.