arithmoi v0.7.0.0 Release Notes

Release Date: 2018-03-14 // about 6 years ago
  • ➕ Added

    • A general framework for bulk evaluation of arithmetic functions (#77):
      > runFunctionOverBlock carmichaelA 1 10
      [1,1,2,2,4,2,6,2,6,4]
    
    • Implement a sublinear algorithm for Mertens function (#90):
      > map (mertens . (10 ^)) [0..9]
      [1,-1,1,2,-23,-48,212,1037,1928,-222]
    
    • ➕ Add basic support for cyclic groups and primitive roots (#86).

    • Implement an efficient modular exponentiation (#86).

    • Write routines for lazy generation of smooth numbers (#91).

      > smoothOverInRange (fromJust (fromList [3,5,7])) 1000 2000
      [1029,1125,1215,1225,1323,1575,1701,1715,1875]
    

    🔄 Changed

    • Now moebius returns not a number, but a value of Moebius type (#90).

    • Now factorisation of large integers and Gaussian integers produces factors as lazy as possible (#72, #76).

    🗄 Deprecated

    • 🗄 Deprecate Math.NumberTheory.Primes.Heap. Use Math.NumberTheory.Primes.Sieve instead.

    • 🗄 Deprecate FactorSieve, TotientSieve, CarmichaelSieve and accompanying functions. Use new general approach for bulk evaluation of arithmetic functions instead (#77).

    ✂ Removed

    • ✂ Remove Math.NumberTheory.Powers.Integer, deprecated in 0.5.0.0.