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
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 % 8d
- the d-valueb
- the (first) b-parameterprimeSolutions
-filteredBaseSize
- number of primes and powers use for sievingunsievedBaseElements
- Prime base elements that were excluded from sieving, like the q's that give the a-parameter in SIQS
-
testList
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.
-