Class MatrixSolver
java.lang.Object
de.tilman_neumann.jml.factor.base.matrixSolver.MatrixSolver
- Direct Known Subclasses:
MatrixSolverBase01
,MatrixSolverBase02
public abstract class MatrixSolver
extends java.lang.Object
Base implementation for a congruence equation system (the "LinAlg phase matrix") solver.
This is mostly an interface, the true work is happening elsewhere.
-
Constructor Summary
Constructors Constructor Description MatrixSolver()
-
Method Summary
Modifier and Type Method Description void
cleanUp()
Release memory after a factorization.abstract java.lang.String
getName()
int
getTestedNullVectorCount()
void
initialize(java.math.BigInteger N, FactorTest factorTest)
Initialize for a new N.void
processNullVector(java.util.Set<AQPair> aqPairs)
abstract void
solve(java.util.Collection<? extends Smooth> congruences)
Main method to solve a congruence equation system.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
MatrixSolver
public MatrixSolver()
-
-
Method Details
-
getName
public abstract java.lang.String getName() -
initialize
Initialize for a new N.- Parameters:
N
-factorTest
-
-
solve
public abstract void solve(java.util.Collection<? extends Smooth> congruences) throws FactorExceptionMain method to solve a congruence equation system.- Parameters:
congruences
- the congruences forming the equation system- Throws:
FactorException
- if a factor of N was found
-
processNullVector
- Throws:
FactorException
-
getTestedNullVectorCount
public int getTestedNullVectorCount()- Returns:
- the number of solver runs needed (so far). Is not populated (i.e. 0) if ANALYZE_SOLVER_RUNS==false.
-
cleanUp
public void cleanUp()Release memory after a factorization.
-