-
Notifications
You must be signed in to change notification settings - Fork 40
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Polynomial factorisation #175
Comments
I was into cryptography, maybe I could do this, if CarlEdman wants to do Thue equations. |
Cool :) Another possible source of inspiration is http://hackage.haskell.org/package/computational-algebra-0.5.0.0/docs/Algebra-Ring-Polynomial-Factorise.html |
So what do you want, that these packages don't already implement? |
A better API, I guess, and a better interaction with other packages. With all due respect, both Looking at factorQBigPrime :: MonadRandom m => Unipol Integer -> m (Integer, IntMap (Set (Unipol Integer)))
factorHensel :: MonadRandom m => Unipol Integer -> m (Integer, IntMap (Set (Unipol Integer))) Not only I have no idea what is the practical difference between these functions, but return types also do not make any sense to me - does not look like a factorisation at all.
(The fierce critics above does not mean that I don't like these packages - quite contrary, these are fantastic ones and a pinnacle of engineering in many aspects. They just do not fit my particular purposes and requirements) Ideally I would like to have several instances of form instance UniqueFactorisation (Data.Poly.VPoly a) for some suitable I suggest using polynomials from |
That sounds like the best would be modifying an existing function. |
Ideally - yes, but I do not foresee this happening. IMO it is less work to add polynomial factorisation to |
So Polynomials over the integers or over finite fields? |
Polynomials over integers, but AFAIR their factorisation would require factorisation of polynomials over |
So I could start with implementing Cantor-Zassenhaus. |
Yes, absolutely. |
Most specifically I would need an GCD algorithm first. |
I assume that there is no real objection to using the Math.Polynomial package? |
Except that |
Some inspiration might be found in http://hackage.haskell.org/package/toysolver-0.6.0/docs/ToySolver-Data-Polynomial.html#t:Factor
The text was updated successfully, but these errors were encountered: