All Known Implementing Classes:
Smooth_1LargeSquare, Smooth_Composite, Smooth_nLargeSquares, Smooth_Perfect, Smooth_Simple

public interface Smooth
A smooth congruence. The matrix elements of a smooth congruence are the small factors appearing with odd exponent.
  • Method Summary

    Modifier and Type Method Description
    void addMyAQPairsViaXor​(java.util.Set<AQPair> targetSet)
    Add this's AQPairs to the target set via xor.
    java.util.Set<AQPair> getAQPairs()  
    java.lang.Integer[] getMatrixElements()  
    boolean isExactSquare()
    Test if the Q of this smooth congruence is an exact square.
  • Method Details

    • isExactSquare

      boolean isExactSquare()
      Test if the Q of this smooth congruence is an exact square. Since smooth congruences can not have non-square large Q-factors, only the small Q-factors need to be checked.
      Returns:
      true if Q is square
    • getMatrixElements

      java.lang.Integer[] getMatrixElements()
      Returns:
      set matrix elements. For a smooth relation these are the small factors appearing with odd exponent.
    • getAQPairs

      java.util.Set<AQPair> getAQPairs()
      Returns:
      the set of AQPairs this smooth relation consists of
    • addMyAQPairsViaXor

      void addMyAQPairsViaXor​(java.util.Set<AQPair> targetSet)
      Add this's AQPairs to the target set via xor. This operation permits to get around without creating new array objects for all those congruence sub-classes that represent just a single AQPair.
      Parameters:
      targetSet -