arithmoi v0.9.0.0 Release Notes

  • โž• Added

    • Introduce Prime newtype. This newtype is now used extensively in public API:
      primes :: Integral a => [Prime a]
      primeList :: Integral a => PrimeSieve -> [Prime a]
      sieveFrom :: Integer -> [Prime Integer]
      nthPrime :: Integer -> Prime Integer
    
    • ๐Ÿ†• New functions nextPrime and precPrime. Implement an instance of Enum for primes (#153):
      > [nextPrime 101 .. precPrime 130]
      [Prime 101,Prime 103,Prime 107,Prime 109,Prime 113,Prime 127]
    
    • โž• Add the Hurwitz zeta function on non-negative integer arguments (#126).

    • ๐Ÿ‘€ Implement efficient tests of n-freeness: pointwise and in interval. See isNFree and nFreesBlock (#145).

    • Generate preimages of the totient and the sum-of-divisors functions (#142):

      > inverseTotient 120 :: [Integer]
      [155,310,183,366,225,450,175,350,231,462,143,286,244,372,396,308,248]
    
    • Generate coefficients of Faulhaber polynomials faulhaberPoly (#70).

    ๐Ÿ”„ Changed

    • ๐Ÿ‘Œ Support Gaussian and Eisenstein integers in smooth numbers (#138).

    • ๐Ÿ”„ Change types of primes, primeList, sieveFrom, nthPrime, etc., to use Prime newtype.

    • โœ… Math.NumberTheory.Primes.{Factorisation,Testing,Counting,Sieve} are no longer re-exported from Math.NumberTheory.Primes. Merge Math.NumberTheory.UniqueFactorisation into Math.NumberTheory.Primes (#135, #153).

    • From now on Math.NumberTheory.Primes.Factorisation.factorise and similar functions return [(Integer, Word)] instead of [(Integer, Int)].

    • sbcFunctionOnPrimePower now accepts Prime Word instead of Word.

    • ๐Ÿ‘ Better precision for exact values of Riemann zeta and Dirichlet beta functions (#123).

    • Speed up certain cases of modular multiplication (#160).

    • Extend Chinese theorem to non-coprime moduli (#71).

    ๐Ÿ—„ Deprecated

    • ๐Ÿ—„ Deprecate Math.NumberTheory.Recurrencies.*. Use Math.NumberTheory.Recurrences.* instead (#146).

    โœ‚ Removed

    • โœ‚ Remove Prime type family.

    • โœ‚ Remove deprecated Math.NumberTheory.GCD and Math.NumberTheory.GCD.LowLevel.