exp-pairs-0.1.5.0: Linear programming over exponent pairs

Copyright(c) Andrew Lelechenko 2014-2015
LicenseGPL-3
Maintainerandrew.lelechenko@gmail.com
Stabilityexperimental
PortabilityPOSIX
Safe HaskellNone
LanguageHaskell2010

Math.ExpPairs.Pair

Contents

Description

Provides a set of initial exponent pairs, consisting of two points (0, 1), (1/2, 1/2) and a triangle with vertices in (1/6, 2/3), (2/13, 35/52) and (32/205, 269/410). The triangle is represented as a list of nodes of a net, covering the triangle.

Below A and B stands for van der Corput's processes. See Math.ExpPairs.Process for explanations.

Synopsis

Documentation

data Triangle Source #

Vertices of the triangle of initial exponent pairs.

Constructors

Corput16

Usual van der Corput exponent pair (1/6, 2/3) = AB(0, 1).

HuxW87b1

An exponent pair (2/13, 35/52) from Huxley M. N. `Exponential sums and the Riemann zeta function' // Proceedings of the International Number Theory Conference held at Universite Laval in 1987, Walter de Gruyter, 1989, P. 417-423.

Hux05

An exponent pair (32/205, 269/410) from Huxley M. N. `Exponential sums and the Riemann zeta function V' // Proc. Lond. Math. Soc., 2005, Vol. 90, no. 1., P. 1--41.

Instances

Bounded Triangle Source # 
Enum Triangle Source # 
Eq Triangle Source # 
Ord Triangle Source # 
Show Triangle Source # 
Generic Triangle Source # 

Associated Types

type Rep Triangle :: * -> * #

Methods

from :: Triangle -> Rep Triangle x #

to :: Rep Triangle x -> Triangle #

Pretty Triangle Source # 

Methods

pretty :: Triangle -> Doc #

prettyList :: [Triangle] -> Doc #

type Rep Triangle Source # 
type Rep Triangle = D1 (MetaData "Triangle" "Math.ExpPairs.Pair" "exp-pairs-0.1.5.0-6xTOs0mhhcU2Wn8MEKfgXf" False) ((:+:) (C1 (MetaCons "Corput16" PrefixI False) U1) ((:+:) (C1 (MetaCons "HuxW87b1" PrefixI False) U1) (C1 (MetaCons "Hux05" PrefixI False) U1)))

data InitPair' t Source #

Type to hold an initial exponent pair.

Constructors

Corput01

Usual van der Corput exponent pair (0, 1).

Corput12

Usual van der Corput exponent pair (1/2, 1/2) = B(0, 1).

Mix !t !t

Point from the interior of Triangle. Exactly Mix a b = a * Corput16 + b * HuxW87b1 + (1-a-b) * Hux05

Instances

Eq t => Eq (InitPair' t) Source # 

Methods

(==) :: InitPair' t -> InitPair' t -> Bool #

(/=) :: InitPair' t -> InitPair' t -> Bool #

Ord t => Ord (InitPair' t) Source # 
Show t => Show (InitPair' t) Source # 
Generic (InitPair' t) Source # 

Associated Types

type Rep (InitPair' t) :: * -> * #

Methods

from :: InitPair' t -> Rep (InitPair' t) x #

to :: Rep (InitPair' t) x -> InitPair' t #

Memoizable a => Memoizable (InitPair' a) Source # 

Methods

memoize :: (InitPair' a -> v) -> InitPair' a -> v #

(Pretty t, Num t, Eq t) => Pretty (InitPair' t) Source # 

Methods

pretty :: InitPair' t -> Doc #

prettyList :: [InitPair' t] -> Doc #

type Rep (InitPair' t) Source # 
type Rep (InitPair' t) = D1 (MetaData "InitPair'" "Math.ExpPairs.Pair" "exp-pairs-0.1.5.0-6xTOs0mhhcU2Wn8MEKfgXf" False) ((:+:) (C1 (MetaCons "Corput01" PrefixI False) U1) ((:+:) (C1 (MetaCons "Corput12" PrefixI False) U1) (C1 (MetaCons "Mix" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 t)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 t))))))

type InitPair = InitPair' Rational Source #

Exponent pair built from rational fractions of Corput16, HuxW87b1 and Hux05

initPairs :: [InitPair] Source #

The set of initial exponent pairs. It consists of Corput01, Corput12 and 496 = sum [1..31] Mix-points, which forms a uniform net over Triangle.

initPairToValue :: InitPair -> (Rational, Rational) Source #

Convert initial exponent pair from its symbolic representation as InitPair to pair of rationals.

initPairToProjValue :: InitPair -> (Integer, Integer, Integer) Source #

Same as initPairToValue, but immediately convert from Q^2 to PN^3.

Orphan instances