java.lang.Object
de.tilman_neumann.jml.factor.base.congruence.CycleFinder

public class CycleFinder
extends java.lang.Object
A cycle finding algorithm implementation following [LLDMW02], finding smooth congruences from partial relations. This algorithm has been tested to work fine for partials with <= 3 large primes, and probably does so for any number of large primes. As reported in the paper, the algorithm does not find cycles that do not include at least one 1LP-partial; but such cycles occur very rarely and so that's no problem at all.
  • Constructor Summary

    Constructors
    Constructor Description
    CycleFinder()  
  • Method Summary

    Modifier and Type Method Description
    static java.util.ArrayList<Smooth> findIndependentCycles​(java.util.HashSet<Partial> relations)
    Finds independent cycles and uses them to combine partial to smooth relations.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • CycleFinder

      public CycleFinder()
  • Method Details

    • findIndependentCycles

      public static java.util.ArrayList<Smooth> findIndependentCycles​(java.util.HashSet<Partial> relations)
      Finds independent cycles and uses them to combine partial to smooth relations.
      Returns:
      smooth relations found by combining partial relations