Class HartLA63
- java.lang.Object
-
- de.tilman_neumann.jml.factor.FactorAlgorithm
-
- de.tilman_neumann.jml.factor.hart.HartLA63
-
public class HartLA63 extends FactorAlgorithm
Experimental Hart algorithm assembling square congruences from smooth congruences. For small N, parameter optimization leads to C=0 and maxQRestExponent=0, indicating that the square test is the only thing that matters and such that the orginal Hart algorithm is much better. For larger N, CFrac seems to be certainly faster.- Author:
- Tilman Neumann
-
-
Field Summary
-
Fields inherited from class de.tilman_neumann.jml.factor.FactorAlgorithm
DEFAULT, NUM_PRIMES_FOR_31_BIT_TDIV, tdivLimit
-
-
Constructor Summary
Constructors Constructor Description HartLA63(float C, float maxQRestExponent, TDiv_CF63 auxFactorizer, int extraCongruences, MatrixSolver matrixSolver)Standard constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description BigIntegerfindSingleFactor(BigInteger N)Test the current N.StringgetName()protected voidtest()-
Methods inherited from class de.tilman_neumann.jml.factor.FactorAlgorithm
factor, factor, searchFactors
-
-
-
-
Constructor Detail
-
HartLA63
public HartLA63(float C, float maxQRestExponent, TDiv_CF63 auxFactorizer, int extraCongruences, MatrixSolver matrixSolver)Standard constructor.- Parameters:
C- multiplier for prime base sizemaxQRestExponent-auxFactorizer- the algorithm to find smooth QextraCongruences- the number of surplus congruences we collect to have a greater chance that the equation system solves.matrixSolver- matrix solver for the smooth congruence equation system
-
-
Method Detail
-
getName
public String getName()
- Specified by:
getNamein classFactorAlgorithm- Returns:
- The name of the algorithm, possibly including important parameters.
-
findSingleFactor
public BigInteger findSingleFactor(BigInteger N)
Test the current N.- Specified by:
findSingleFactorin classFactorAlgorithm- Returns:
- factor, or null if no factor was found.
-
test
protected void test() throws FactorException- Throws:
FactorException
-
-