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

      public void initialize​(java.math.BigInteger N, FactorTest factorTest)
      Initialize for a new N.
      Parameters:
      N -
      factorTest -
    • solve

      public abstract void solve​(java.util.Collection<? extends Smooth> congruences) throws FactorException
      Main 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

      public void processNullVector​(java.util.Set<AQPair> aqPairs) throws FactorException
      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.