
Hi Ishii-san, On 2014年11月02日 15:35, Hiromi ISHII wrote:
I got it. But, in my case, fixing initial seed might cause inefficiency, so I can't take this way in this case. By the way, this approach seems works well for other cases which is not so quality sensitive.
Indeed: many algorithms merely require values from a uniform distribution, not necessarily random numbers. I was hopeful that Cantor-Zassenhaus would be one of them. Looking at your code [1], I see that you are exporting both `equalDegreeSplitM`, which uses `uniform` from `Control.Monad.Random`, and `equalDegreeFactorM`, which iteratively calls `equalDegreeSplitM`. One of the challenges of using a pure uniform stream is threading the state: since both functions are exported, implementation details would leak anyway. Great work, by the way! :) Travis [1] https://github.com/konn/computational-algebra/blob/master/Algebra/Ring/Polyn...