exp-pairs
Copyright(c) Andrew Lelechenko 2014-2020
LicenseGPL-3
Maintainer[email protected]
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

Instances details
Enum Process Source # 
Instance details

Defined in Math.ExpPairs.ProcessMatrix

Generic Process Source # 
Instance details

Defined in Math.ExpPairs.ProcessMatrix

Associated Types

type Rep Process 
Instance details

Defined in Math.ExpPairs.ProcessMatrix

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

Methods

from :: Process -> Rep Process x #

to :: Rep Process x -> Process #

Read Process Source # 
Instance details

Defined in Math.ExpPairs.ProcessMatrix

Show 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

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.1-8itfA9RAbYGDVV8JvWzVP7" '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

Instances details
Monoid Path Source # 
Instance details

Defined in Math.ExpPairs.Process

Methods

mempty :: Path #

mappend :: Path -> Path -> Path #

mconcat :: [Path] -> 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 #

Generic Path Source # 
Instance details

Defined in Math.ExpPairs.Process

Associated Types

type Rep Path 
Instance details

Defined in Math.ExpPairs.Process

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

Methods

from :: Path -> Rep Path x #

to :: Rep Path x -> 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 #

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 #

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

type Rep Path = D1 ('MetaData "Path" "Math.ExpPairs.Process" "exp-pairs-0.2.1.1-8itfA9RAbYGDVV8JvWzVP7" 'False) (C1 ('MetaCons "Path" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ProcessMatrix) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [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.