Copyright | (c) 2018 Andrew Lelechenko |
---|---|
License | MIT |
Maintainer | Andrew Lelechenko <andrew.lelechenko@gmail.com> |
Safe Haskell | None |
Language | Haskell2010 |
Values of Möbius function.
Documentation
Represents three possible values of Möbius function.
Instances
runMoebius :: Num a => Moebius -> a Source #
Convert to any numeric type.
sieveBlockMoebius :: Word -> Word -> Vector Moebius Source #
Evaluate the Möbius function over a block.
Value of f
at 0, if zero falls into block, is undefined.
Based on the sieving algorithm from p. 3 of Computations of the Mertens function and improved bounds on the Mertens conjecture by G. Hurst. It is approximately 5x faster than sieveBlockUnboxed
.
>>>
sieveBlockMoebius 1 10
[MoebiusP,MoebiusN,MoebiusN,MoebiusZ,MoebiusN,MoebiusP,MoebiusN,MoebiusZ,MoebiusZ,MoebiusP]