Interface TDiv_QS

    • Method Detail

      • getName

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

        void initializeForN​(double N_dbl,
                            BigInteger kN,
                            double maxQRest)
        Initialize this trial division engine for a new N.
        Parameters:
        N_dbl -
        kN - multiplier k (typically Knuth-Schroeppel) * factor argument N
        maxQRest - the biggest QRest admitted for a smooth relation
      • initializeForAParameter

        void initializeForAParameter​(BigInteger da,
                                     int d,
                                     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
      • setBParameter

        void setBParameter​(BigInteger b)
        Set a new b-parameter.
        Parameters:
        b -
      • testList

        List<AQPair> testList​(List<Integer> xList)
        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:
        xList -
        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.