yap-examples-0.1: examples of the algebraic classes in the yap package
Copyright(c) Ross Paterson 2011
LicenseBSD-style (see the file LICENSE)
Maintainer[email protected]
Stabilityprovisional
Portabilityportable
Safe HaskellNone
LanguageHaskell2010

Data.YAP.DifferentialOperator

Description

An example instance of the algebraic classes: the semiring of linear differential operators under addition and composition.

Synopsis

Linear differential operators

data DifferentialOperator a Source #

A linear differential operator of the form \[ p_0(x) + p_1(x) \partial_x + \cdots + p_n(x) \partial_x^n \] where each \(p_i(x)\) is a differentiable function in \(x\) and each \(\partial_x^i\) is the differentiation operator with respect to \(x\) repeated \(i\) times.

Instances

Instances details
(Eq a, Show a, AdditiveMonoid a) => Show (DifferentialOperator a) Source # 
Instance details

Defined in Data.YAP.DifferentialOperator

(Eq a, AdditiveMonoid a) => Eq (DifferentialOperator a) Source # 
Instance details

Defined in Data.YAP.DifferentialOperator

(Ord a, AdditiveMonoid a) => Ord (DifferentialOperator a) Source # 
Instance details

Defined in Data.YAP.DifferentialOperator

AbelianGroup a => AbelianGroup (DifferentialOperator a) Source #

Pointwise negation

Instance details

Defined in Data.YAP.DifferentialOperator

AdditiveMonoid a => AdditiveMonoid (DifferentialOperator a) Source #

Pointwise addition

Instance details

Defined in Data.YAP.DifferentialOperator

(Differentiable a, FromRational a) => FromRational (DifferentialOperator a) Source # 
Instance details

Defined in Data.YAP.DifferentialOperator

(Differentiable a, Ring a) => Ring (DifferentialOperator a) Source # 
Instance details

Defined in Data.YAP.DifferentialOperator

Differentiable a => Semiring (DifferentialOperator a) Source #

Composition of operators

Instance details

Defined in Data.YAP.DifferentialOperator

type Weyl a = DifferentialOperator (Polynomial a) Source #

The (first) Weyl algebra over a, consisting of linear differential operators with polynomial coefficients.

multiply :: a -> DifferentialOperator a Source #

Operator representing multiplication by a differentiable function

diff :: Semiring a => DifferentialOperator a Source #

Derivative operator, i.e. \(\partial_x\), satisfying

fromCoefficients :: [a] -> DifferentialOperator a Source #

Construct an operator from a list of coefficients of the iterated differential operators in order of increasing number of iterations.

Queries

order :: (Eq a, AdditiveMonoid a) => DifferentialOperator a -> Int Source #

The order of a differential operator.

coefficients :: (Eq a, AdditiveMonoid a) => DifferentialOperator a -> [a] Source #

Coefficients of the iterated differential operators in order of increasing number of iterations, and with no trailing zeros.

evaluate :: Differentiable a => DifferentialOperator a -> a -> a Source #

Evaluate an operator on a given differentiable function.