Class TDiv_QS_1Large
- java.lang.Object
-
- de.tilman_neumann.jml.factor.siqs.tdiv.TDiv_QS_1Large
-
- All Implemented Interfaces:
TDiv_QS
public class TDiv_QS_1Large extends Object implements TDiv_QS
A trial division engine where partials can only have 1 large factor. Division is carried out in two stages: Stage 1 identifies prime factors of Q, applying long-valued Barrett reduction Stage 2 does the actual division using BigInteger- Author:
- Tilman Neumann
-
-
Constructor Summary
Constructors Constructor Description TDiv_QS_1Large()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
cleanUp()
Release memory after a factorization.String
getName()
TDivReport
getReport()
void
initializeForAParameter(BigInteger da, int d, BigInteger b, SolutionArrays solutionArrays, int filteredBaseSize, int[] unsievedBaseElements)
Set prime/power base, polynomial parameters and smallest x-solutions for a new a-parameter.void
initializeForN(double N_dbl, BigInteger kN, double maxQRest)
Initialize this trial division engine for a new N.void
setBParameter(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
public String getName()
-
initializeForN
public void initializeForN(double N_dbl, BigInteger kN, double maxQRest)
Description copied from interface:TDiv_QS
Initialize this trial division engine for a new N.- Specified by:
initializeForN
in interfaceTDiv_QS
kN
- multiplier k (typically Knuth-Schroeppel) * factor argument NmaxQRest
- the biggest QRest admitted for a smooth relation
-
initializeForAParameter
public void initializeForAParameter(BigInteger da, int d, BigInteger b, SolutionArrays solutionArrays, int filteredBaseSize, int[] unsievedBaseElements)
Description copied from interface:TDiv_QS
Set prime/power base, polynomial parameters and smallest x-solutions for a new a-parameter.- Specified by:
initializeForAParameter
in interfaceTDiv_QS
- Parameters:
da
- d*a, with d = 1 or 2 depending on kN % 8d
- the d-valueb
- the (first) b-parameterfilteredBaseSize
- 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
public void setBParameter(BigInteger b)
Description copied from interface:TDiv_QS
Set a new b-parameter.- Specified by:
setBParameter
in interfaceTDiv_QS
-
testList
public List<AQPair> testList(List<Integer> xList)
Description copied from interface:TDiv_QS
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.
-
getReport
public TDivReport getReport()
-
-