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 BigInteger
findSingleFactor(BigInteger N)
Test the current N.String
getName()
protected void
test()
-
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:
getName
in classFactorAlgorithm
- Returns:
- The name of the algorithm, possibly including important parameters.
-
findSingleFactor
public BigInteger findSingleFactor(BigInteger N)
Test the current N.- Specified by:
findSingleFactor
in classFactorAlgorithm
- Returns:
- factor, or null if no factor was found.
-
test
protected void test() throws FactorException
- Throws:
FactorException
-
-