exp-pairs-0.1.5.2: Linear programming over exponent pairs

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

Math.ExpPairs.Process

Description

Provides types for sequences of A- and B-processes of van der Corput. A good account on this topic can be found in Graham S. W., Kolesnik G. A. Van Der Corput's Method of Exponential Sums, Cambridge University Press, 1991, especially Ch. 5.

Synopsis

Documentation

data Process #

Since B^2 = id, B Corput16 = Corput16, B Hux05 = Hux05 and B HuxW87b1 = ???, the sequence of A- and B-processes, applied to initPairs can be rewritten as a sequence of A and BA.

Instances

Enum Process # 
Eq Process # 

Methods

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

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

Ord Process # 
Read Process # 
Show Process # 
Generic Process # 

Associated Types

type Rep Process :: * -> * #

Methods

from :: Process -> Rep Process x #

to :: Rep Process x -> Process #

Pretty Process # 

Methods

pretty :: Process -> Doc #

prettyList :: [Process] -> Doc #

type Rep Process # 
type Rep Process = D1 (MetaData "Process" "Math.ExpPairs.ProcessMatrix" "exp-pairs-0.1.5.2-KDQQQzUDZKwLYnWmNWApiy" False) ((:+:) (C1 (MetaCons "A" PrefixI False) U1) (C1 (MetaCons "BA" PrefixI False) U1))

data Path #

Holds a list of Process and a matrix of projective transformation, which they define.

Constructors

Path !ProcessMatrix ![Process] 

Instances

Eq Path # 

Methods

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

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

Ord Path # 

Methods

compare :: Path -> Path -> Ordering #

(<) :: Path -> Path -> Bool #

(<=) :: Path -> Path -> Bool #

(>) :: Path -> Path -> Bool #

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

max :: Path -> Path -> Path #

min :: Path -> Path -> Path #

Read Path # 
Show Path # 

Methods

showsPrec :: Int -> Path -> ShowS #

show :: Path -> String #

showList :: [Path] -> ShowS #

Generic Path # 

Associated Types

type Rep Path :: * -> * #

Methods

from :: Path -> Rep Path x #

to :: Rep Path x -> Path #

Monoid Path # 

Methods

mempty :: Path #

mappend :: Path -> Path -> Path #

mconcat :: [Path] -> Path #

Pretty Path # 

Methods

pretty :: Path -> Doc #

prettyList :: [Path] -> Doc #

type Rep Path # 
type Rep Path = D1 (MetaData "Path" "Math.ExpPairs.Process" "exp-pairs-0.1.5.2-KDQQQzUDZKwLYnWmNWApiy" False) (C1 (MetaCons "Path" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 ProcessMatrix)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 [Process]))))

aPath :: Path #

Path consisting of a single process A.

baPath :: Path #

Path consisting of a single process BA.

evalPath :: Num t => Path -> (t, t, t) -> (t, t, t) #

Apply a projective transformation, defined by Path, to a given point in two-dimensional projective space.

lengthPath :: Path -> Int #

Count processes in the Path. Note that BA counts for one process, not two.