Interface TDiv_QS
-
- All Known Implementing Classes:
TDiv_QS_1Large,TDiv_QS_1Large_UBI,TDiv_QS_2Large_UBI,TDiv_QS_2Large_UBI_BarrettD,TDiv_QS_nLarge,TDiv_QS_nLarge_UBI,TDiv_QS_Small
public interface TDiv_QSInterface for trial division engines to find the factorization of smooth Q(x) with given x.- Author:
- Tilman Neumann
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidcleanUp()Release memory after a factorization.StringgetName()TDivReportgetReport()voidinitializeForAParameter(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.voidinitializeForN(double N_dbl, BigInteger kN, double maxQRest)Initialize this trial division engine for a new N.voidsetBParameter(BigInteger b)Set a new b-parameter.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.
-
-
-
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 NmaxQRest- 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 % 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
-
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.
-
-