Skip to content

Low performance when factoring univariate polynomial #75

@algebrakit

Description

@algebrakit

First of all: I am a very grateful user of this great library. Thank you for creating it!

I encountered a problem:
Factoring the polynomial x^70+1 is extremely slow (25 seconds on my computer)

I found that increasing N_MODULAR_FACTORIZATION_TRIALS in UnivariateFactorization.java from 4 to 10 resolves the issue in my case. However, maybe this increased number is not suitable for all cases. In that case it is maybe wise to use some smarter heuristic to determine the number of attempts.

some ideas:

  • allow more attempts if the current minimum of factors is high (in my case, this minimum was 30, causing 600k iterations in reconstructFactorsZ(). In that case it makes sense to try more than just 4 attempts)
  • the complexity of FactorInGF (if this low, allow more attempts)
  • a probability measure of how likely it is a much lower number of factors can be found. E.g. using the variation of the factors over the attempts)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions