AERN-Net-0.2.1: Compositional lazy dataflow networks for exact real number computationSource codeContentsIndex
Control.ERNet.Blocks.RnToRm.Basic
Portabilityportable
Stabilityexperimental
Maintainermik@konecny.aow.cz
Description
A few processes universally useful when representing (1st-order) real functions as single data entities via ERFnDomApprox.
Synopsis
boundingProcess :: (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 -> ERProcessName -> ChannelType -> fa -> EffortIndex -> [(domra, ranra)] -> ERProcess sInAnyProt sOutAnyProt
integrateFAProcess :: (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 -> ChannelType -> fa -> ERProcess sInAnyProt sOutAnyProt
integrateIsectMeasureFAProcess :: (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 -> fa -> ERProcess sInAnyProt sOutAnyProt
applyFieldProcess :: (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 -> fa -> ERProcess sInAnyProt sOutAnyProt
joinFADomProcess :: (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 -> fa -> ERProcess sInAnyProt sOutAnyProt
splitFADomProcess :: (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 -> fa -> ERProcess sInAnyProt sOutAnyProt
rateFnProcess :: (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 -> Rational -> Int -> fa -> ERProcess sInAnyProt sOutAnyProt
getEndpointValsProcess :: (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 -> fa -> ERProcess sInAnyProt sOutAnyProt
maxOverDomProcess :: (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 -> box -> fa -> ERProcess sInAnyProt sOutAnyProt
Documentation
boundingProcessSource
:: (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)
=> Boolshould use channel cache?
-> ERProcessName
-> ChannelType
-> fasample approximation to aid typechecking
-> EffortIndexbelow 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
:: (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)
=> ERProcessNameprocess identifier (string)
-> ChannelTyperesult channel type
-> fasample 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
:: (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)
=> ERProcessNameprocess identifier (string)
-> fasample 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
:: (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)
=> ERProcessNameprocess identifier (string)
-> fasample 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
:: (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)
=> ERProcessNameprocess identifier (string)
-> fasample 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
:: (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)
=> ERProcessNameprocess identifier (string)
-> fasample 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
:: (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)
=> ERProcessNameprocess identifier (string)
-> Rationaldesired ratio of improvement
-> Intmaximum number of attempts to reach desired improvement
-> fasample 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
:: (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)
=> ERProcessNameprocess identifier (string)
-> fasample 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
:: (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)
=> ERProcessNameprocess identifier (string)
-> boxdomain over which to search for maximum
-> fasample 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.

Produced by Haddock version 2.4.2