Class PSIQS
- java.lang.Object
-
- de.tilman_neumann.jml.factor.FactorAlgorithm
-
- de.tilman_neumann.jml.factor.psiqs.PSIQSBase
-
- de.tilman_neumann.jml.factor.psiqs.PSIQS
-
public class PSIQS extends PSIQSBase
Multi-threaded SIQS using Sieve03g.- Author:
- Tilman Neumann
-
-
Field Summary
-
Fields inherited from class de.tilman_neumann.jml.factor.psiqs.PSIQSBase
apg, Cmult, matrixSolver, maxQRestExponent, Mmult, multiplierFinder, numberOfThreads, powerFinder
-
Fields inherited from class de.tilman_neumann.jml.factor.FactorAlgorithm
DEFAULT, NUM_PRIMES_FOR_31_BIT_TDIV, tdivLimit
-
-
Constructor Summary
Constructors Constructor Description PSIQS(float Cmult, float Mmult, Integer wantedQCount, Float maxQRestExponent, int numberOfThreads, PowerFinder powerFinder, MatrixSolver matrixSolver)
Standard constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected PSIQSThreadBase
createThread(int k, BigInteger N, BigInteger kN, int d, SieveParams sieveParams, BaseArrays baseArrays, AParamGenerator apg, CongruenceCollectorParallel cc, int threadIndex)
String
getName()
-
Methods inherited from class de.tilman_neumann.jml.factor.psiqs.PSIQSBase
findSingleFactor, searchFactors
-
Methods inherited from class de.tilman_neumann.jml.factor.FactorAlgorithm
factor, factor
-
-
-
-
Constructor Detail
-
PSIQS
public PSIQS(float Cmult, float Mmult, Integer wantedQCount, Float maxQRestExponent, int numberOfThreads, PowerFinder powerFinder, MatrixSolver matrixSolver)
Standard constructor.- Parameters:
Cmult
- multiplier for prime base sizeMmult
- multiplier for sieve array sizewantedQCount
- hypercube dimension (null for automatic selection)maxQRestExponent
- A Q with unfactored rest QRest is considered smooth if QRest <= N^maxQRestExponent. Good values are 0.16..0.19; null means that it is determined automatically.numberOfThreads
-powerFinder
- algorithm to add powers to the primes used for sievingmatrixSolver
- solver for smooth congruences matrix
-
-
Method Detail
-
getName
public String getName()
-
createThread
protected PSIQSThreadBase createThread(int k, BigInteger N, BigInteger kN, int d, SieveParams sieveParams, BaseArrays baseArrays, AParamGenerator apg, CongruenceCollectorParallel cc, int threadIndex)
- Specified by:
createThread
in classPSIQSBase
-
-