Class TDiv_CF03

  • All Implemented Interfaces:
    TDiv_CF

    public class TDiv_CF03
    extends Object
    implements TDiv_CF
    Auxiliary factor algorithm to find smooth decompositions of Q's. Version 03: Uses divideAndRemainder() only instead of mod() followed by divideAndRemainder(). This makes sense only since the speed improvement of divideAndRemainder() achieved 2020-12-05.
    Author:
    Tilman Neumann
    • Constructor Detail

      • TDiv_CF03

        public TDiv_CF03()
    • Method Detail

      • getName

        public String getName()
        Specified by:
        getName in interface TDiv_CF
        Returns:
        the name of this algorithm
      • initialize

        public void initialize​(BigInteger N,
                               double maxQRest)
        Description copied from interface: TDiv_CF
        Initialize for a new N.
        Specified by:
        initialize in interface TDiv_CF
      • initialize

        public void initialize​(BigInteger kN,
                               int primeBaseSize,
                               int[] primesArray)
        Description copied from interface: TDiv_CF
        Initialize this factorizer for a new k; in particular set the prime base to be used for trial division.
        Specified by:
        initialize in interface TDiv_CF
        primeBaseSize - the true prime base size (the arrays are preallocated with a bigger length)
        primesArray - prime base in ints
      • test

        public AQPair test​(BigInteger A,
                           BigInteger Q)
        Description copied from interface: TDiv_CF
        Check if Q is smooth (factors completely over the prime base) or "sufficiently smooth" (factors almost over the prime base).
        Specified by:
        test in interface TDiv_CF
        Returns:
        an AQ-pair if Q is at least "sufficiently smooth", null else