AERN-Net-0.2.1.1: Compositional lazy dataflow networks for exact real number computation

Portabilityportable
Stabilityexperimental
Maintainermik@konecny.aow.cz

Control.ERNet.Blocks.RnToRm.Basic

Description

A few processes universally useful when representing (1st-order) real functions as single data entities via ERFnDomApprox.

Synopsis

Documentation

boundingProcessSource

Arguments

:: (Channel sIn sOut sInAnyProt sOutAnyProt, ERFnDomApprox box varid domra ranra fa, Typeable box, Typeable fa, Show box, HTML fa, ERApproxElementary domra, ERApproxElementary ranra, Typeable domra, Typeable ranra) 
=> Bool

should use channel cache?

-> ERProcessName 
-> ChannelType 
-> fa

sample approximation to aid typechecking

-> EffortIndex

below this threshold precision do not pass the query through if it can be answered via the bounds

-> [(domra, ranra)]

one bounding box for each order of derivative

-> ERProcess sInAnyProt sOutAnyProt 

A pass-through process for first order real functions with effort index that is almost equal to the identity.

It restricts the function's graph at certain given intervals to the given boxes.

integrateFAProcessSource

Arguments

:: (Channel sIn sOut sInAnyProt sOutAnyProt, ERFnDomApprox box varid domra ranra fa, Typeable box, Typeable fa, Show box, HTML fa, ERApproxElementary domra, ERApproxElementary ranra, Typeable domra, Typeable ranra) 
=> ERProcessName

process identifier (string)

-> ChannelType

result channel type

-> fa

sample approximation to aid typechecking

-> ERProcess sInAnyProt sOutAnyProt 

A simple integrator process for first-order linear domain functions with effort index using the default integration of the ERFnDomApprox instance.

integrateIsectMeasureFAProcessSource

Arguments

:: (Channel sIn sOut sInAnyProt sOutAnyProt, ERFnDomApprox box varid domra ranra fa, Typeable box, Typeable fa, Show box, HTML fa, ERApproxElementary domra, ERApproxElementary ranra, Typeable domra, Typeable ranra) 
=> ERProcessName

process identifier (string)

-> fa

sample approximation to aid typechecking

-> ERProcess sInAnyProt sOutAnyProt 

An intersecting and improvement measuring stateful integrator process using default intersecting & measuring integration of the ERFnDomApprox instance.

applyFieldProcessSource

Arguments

:: (Channel sIn sOut sInAnyProt sOutAnyProt, ERFnDomApprox box varid domra ranra fa, Typeable box, Typeable fa, Show box, HTML fa, ERApproxElementary domra, ERApproxElementary ranra, Typeable domra, Typeable ranra) 
=> ERProcessName

process identifier (string)

-> fa

sample approximation to aid typechecking

-> ERProcess sInAnyProt sOutAnyProt 

Apply a function transformer ((R^m->R^n) -> (R^m->R^n)) to a function (R^m->R^n).

joinFADomProcessSource

Arguments

:: (Channel sIn sOut sInAnyProt sOutAnyProt, ERFnDomApprox box varid domra ranra fa, Typeable box, Typeable fa, Show box, HTML fa, ERApproxElementary domra, ERApproxElementary ranra, Typeable domra, Typeable ranra) 
=> ERProcessName

process identifier (string)

-> fa

sample approximation to aid typechecking

-> ERProcess sInAnyProt sOutAnyProt 

A process joining two functions for adjacent domains to one function on the joint domain.

Each query is split accordingly to two queries on the two halves of the bisected domain, respectively.

splitFADomProcessSource

Arguments

:: (Channel sIn sOut sInAnyProt sOutAnyProt, ERFnDomApprox box varid domra ranra fa, Typeable box, Typeable fa, Show box, HTML fa, ERApproxElementary domra, ERApproxElementary ranra, Typeable domra, Typeable ranra) 
=> ERProcessName

process identifier (string)

-> fa

sample approximation to aid typechecking

-> ERProcess sInAnyProt sOutAnyProt 

A process splitting a function into two based on a bisection of the domain.

A query for either half of the function results in a query for the whole. The whole function is then cached to answer an analogous query for the second half. Only one such result is cached (always the last one).

rateFnProcessSource

Arguments

:: (Channel sIn sOut sInAnyProt sOutAnyProt, ERFnDomApprox box varid domra ranra fa, Typeable box, Typeable fa, Show box, HTML fa, ERApproxElementary domra, ERApproxElementary ranra, Typeable domra, Typeable ranra) 
=> ERProcessName

process identifier (string)

-> Rational

desired ratio of improvement

-> Int

maximum number of attempts to reach desired improvement

-> fa

sample approximation to aid typechecking

-> ERProcess sInAnyProt sOutAnyProt 

A process passing on information about a real function, trying to improve the convergence rate in successive queries.

Each query may refer to a previous query. When it does, the query will not be answered until either:

  • the information about the function has improved by the desired amount since last time
  • the number of queries made in response to this query has reached the given limit

getEndpointValsProcessSource

Arguments

:: (Channel sIn sOut sInAnyProt sOutAnyProt, ERFnDomApprox box varid domra ranra fa, Typeable box, Typeable fa, Show box, HTML fa, ERApproxElementary domra, ERApproxElementary ranra, Typeable domra, Typeable ranra) 
=> ERProcessName

process identifier (string)

-> fa

sample approximation to aid typechecking

-> ERProcess sInAnyProt sOutAnyProt 

A process passing on information about the values of a real function at its domain endpoints.

Protocols are wrapped in ChannelComm.ChTChanges in order to be able to communicate failure.

maxOverDomProcessSource

Arguments

:: (Channel sIn sOut sInAnyProt sOutAnyProt, ERFnDomApprox box varid domra ranra fa, Typeable box, Typeable fa, Show box, HTML fa, ERApproxElementary domra, ERApproxElementary ranra, Typeable domra, Typeable ranra) 
=> ERProcessName

process identifier (string)

-> box

domain over which to search for maximum

-> fa

sample approximation to aid typechecking

-> ERProcess sInAnyProt sOutAnyProt 

A process passing on information about the values of a real function over a fixed domain.

Protocols are wrapped in ChannelComm.ChTChanges in order to be able to communicate failure.