exp-pairs-0.2.1.0: Linear programming over exponent pairs

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

Math.ExpPairs.Process

Description

Sequences of \( A \)- and \( B \)-processes of van der Corput's method of exponential sums. A good reference 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 Source #

Since \( B \)-process is involutive, a sequence of \( A \)- and \( B \)-processes can be rewritten as a sequence of A and BA.

Instances
Enum Process Source # 
Instance details

Defined in Math.ExpPairs.ProcessMatrix

Eq Process Source # 
Instance details

Defined in Math.ExpPairs.ProcessMatrix

Methods

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

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

Ord Process Source # 
Instance details

Defined in Math.ExpPairs.ProcessMatrix

Read Process Source # 
Instance details

Defined in Math.ExpPairs.ProcessMatrix

Show Process Source # 
Instance details

Defined in Math.ExpPairs.ProcessMatrix

Generic Process Source # 
Instance details

Defined in Math.ExpPairs.ProcessMatrix

Associated Types

type Rep Process :: Type -> Type #

Methods

from :: Process -> Rep Process x #

to :: Rep Process x -> Process #

Pretty Process Source # 
Instance details

Defined in Math.ExpPairs.ProcessMatrix

Methods

pretty :: Process -> Doc ann #

prettyList :: [Process] -> Doc ann #

type Rep Process Source # 
Instance details

Defined in Math.ExpPairs.ProcessMatrix

type Rep Process = D1 (MetaData "Process" "Math.ExpPairs.ProcessMatrix" "exp-pairs-0.2.1.0-J4IGbuSTVwXCgBqjoU0P5n" False) (C1 (MetaCons "A" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "BA" PrefixI False) (U1 :: Type -> Type))

data Path Source #

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

Constructors

Path !ProcessMatrix ![Process] 
Instances
Eq Path Source # 
Instance details

Defined in Math.ExpPairs.Process

Methods

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

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

Ord Path Source # 
Instance details

Defined in Math.ExpPairs.Process

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 Source # 
Instance details

Defined in Math.ExpPairs.Process

Show Path Source # 
Instance details

Defined in Math.ExpPairs.Process

Methods

showsPrec :: Int -> Path -> ShowS #

show :: Path -> String #

showList :: [Path] -> ShowS #

Generic Path Source # 
Instance details

Defined in Math.ExpPairs.Process

Associated Types

type Rep Path :: Type -> Type #

Methods

from :: Path -> Rep Path x #

to :: Rep Path x -> Path #

Semigroup Path Source # 
Instance details

Defined in Math.ExpPairs.Process

Methods

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

sconcat :: NonEmpty Path -> Path #

stimes :: Integral b => b -> Path -> Path #

Monoid Path Source # 
Instance details

Defined in Math.ExpPairs.Process

Methods

mempty :: Path #

mappend :: Path -> Path -> Path #

mconcat :: [Path] -> Path #

Pretty Path Source # 
Instance details

Defined in Math.ExpPairs.Process

Methods

pretty :: Path -> Doc ann #

prettyList :: [Path] -> Doc ann #

type Rep Path Source # 
Instance details

Defined in Math.ExpPairs.Process

aPath :: Path Source #

Path consisting of a single process A.

baPath :: Path Source #

Path consisting of a single process BA.

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

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

lengthPath :: Path -> Int Source #

Count processes in the Path. Note that BA counts for a single process.