Interface TDiv_QS

All Known Implementing Classes:
TDiv_QS_2LP, TDiv_QS_2LP_Full, TDiv_QS_3LP, TDiv_QS_nLP, TDiv_QS_nLP_Full, TDiv_QS_Small

public interface TDiv_QS
Interface for trial division engines to find the factorization of smooth Q(x) with given x.
  • Method Summary

    Modifier and Type Method Description
    void cleanUp()
    Release memory after a factorization.
    java.lang.String getName()  
    TDivReport getReport()  
    void initializeForAParameter​(java.math.BigInteger da, int d, java.math.BigInteger b, SolutionArrays primeSolutions, int filteredBaseSize, int[] unsievedBaseElements)
    Set prime/power base, polynomial parameters and smallest x-solutions for a new a-parameter.
    void initializeForN​(double N_dbl, SieveParams sieveParams)
    Initialize this trial division engine for a new N.
    java.util.List<AQPair> testList​(java.lang.Iterable<SmoothCandidate> smoothCandidates)
    Test if Q(x) is smooth (factors completely over the prime base) or "sufficiently smooth" (factors almost over the prime base) for all x in the given list.
  • Method Details

    • getName

      java.lang.String getName()
      Returns:
      the name of this algorithm
    • initializeForN

      void initializeForN​(double N_dbl, SieveParams sieveParams)
      Initialize this trial division engine for a new N.
      Parameters:
      N_dbl -
      sieveParams - the biggest QRest admitted for a smooth relation
    • initializeForAParameter

      void initializeForAParameter​(java.math.BigInteger da, int d, java.math.BigInteger b, SolutionArrays primeSolutions, int filteredBaseSize, int[] unsievedBaseElements)
      Set prime/power base, polynomial parameters and smallest x-solutions for a new a-parameter.
      Parameters:
      da - d*a, with d = 1 or 2 depending on kN % 8
      d - the d-value
      b - the (first) b-parameter
      primeSolutions -
      filteredBaseSize - number of primes and powers use for sieving
      unsievedBaseElements - Prime base elements that were excluded from sieving, like the q's that give the a-parameter in SIQS
    • testList

      java.util.List<AQPair> testList​(java.lang.Iterable<SmoothCandidate> smoothCandidates)
      Test if Q(x) is smooth (factors completely over the prime base) or "sufficiently smooth" (factors almost over the prime base) for all x in the given list.
      Parameters:
      smoothCandidates - (something like a) list of the smooth candidates to test
      Returns:
      the AQ-pairs where Q is at least "sufficiently smooth"
    • getReport

      TDivReport getReport()
      Returns:
      a description of the performed tests.
    • cleanUp

      void cleanUp()
      Release memory after a factorization.