arithmoi-0.9.0.0: Efficient basic number-theoretic functions.

Copyright(c) 2018 Andrew Lelechenko
LicenseMIT
MaintainerAndrew Lelechenko <andrew.lelechenko@gmail.com>
Safe HaskellNone
LanguageHaskell2010

Math.NumberTheory.ArithmeticFunctions.Moebius

Description

Values of Möbius function.

Synopsis

Documentation

data Moebius Source #

Represents three possible values of Möbius function.

Instances
Eq Moebius Source # 
Instance details

Defined in Math.NumberTheory.ArithmeticFunctions.Moebius

Methods

(==) :: Moebius -> Moebius -> Bool #

(/=) :: Moebius -> Moebius -> Bool #

Ord Moebius Source # 
Instance details

Defined in Math.NumberTheory.ArithmeticFunctions.Moebius

Show Moebius Source # 
Instance details

Defined in Math.NumberTheory.ArithmeticFunctions.Moebius

Semigroup Moebius Source # 
Instance details

Defined in Math.NumberTheory.ArithmeticFunctions.Moebius

Monoid Moebius Source # 
Instance details

Defined in Math.NumberTheory.ArithmeticFunctions.Moebius

Unbox Moebius Source # 
Instance details

Defined in Math.NumberTheory.ArithmeticFunctions.Moebius

Vector Vector Moebius Source # 
Instance details

Defined in Math.NumberTheory.ArithmeticFunctions.Moebius

MVector MVector Moebius Source # 
Instance details

Defined in Math.NumberTheory.ArithmeticFunctions.Moebius

newtype Vector Moebius Source # 
Instance details

Defined in Math.NumberTheory.ArithmeticFunctions.Moebius

newtype MVector s Moebius Source # 
Instance details

Defined in Math.NumberTheory.ArithmeticFunctions.Moebius

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]