R: Define a Linear Differential Operator Object

Lfd {fda} | R Documentation

## Define a Linear Differential Operator Object

### Description

A linear differential operator of order $m$ is defined, usually to specify a roughness penalty.

### Usage

    Lfd(nderiv=0, bwtlist=vector("list", 0))

### Arguments

`nderiv` | a nonnegative integer specifying the order $m$ of the highest order derivative in the operator
`bwtlist` | a list of length $m$. Each member contains a functional data object that acts as a weight function for a derivative. The first member weights the function, the second the first derivative, and so on up to order $m-1$.

### Details

To check that an object is of this class, use functions `is.Lfd` or `int2Lfd`.

Linear differential operator objects are often used to define roughness penalties for smoothing towards a "hypersmooth" function that is annihilated by the operator. For example, the harmonic acceleration operator used in the analysis of the Canadian daily weather data annihilates linear combinations of $1, sin(2 pi t/365)$ and $cos(2 pi t/365)$, and the larger the smoothing parameter, the closer the smooth function will be to a function of this shape.

Function `pda.fd` estimates a linear differential operator object that comes as close as possible to annihilating a functional data object.

A linear differential operator of order $m$ is a linear combination of the derivatives of a functional data object up to order $m$. The derivatives of orders 0, 1, ..., $m-1$ can each be multiplied by a weight function $b(t)$ that may or may not vary with argument $t$.

If the notation $D^j$ is taken to mean "take the derivative of order $j$", then a linear differental operator $L$ applied to function $x$ has the expression

$Lx(t) = b_0(t) x(t) + b_1(t)Dx(t) + ... + b_{m-1}(t) D^{m-1} x(t) + D^mx(t)$

There are `print`, `summary`, and `plot` methods for objects of class `Lfd`.

### Value

a linear differential operator object

### See Also

`int2Lfd`, `vec2Lfd`, `fdPar`, `pda.fd` `plot.Lfd`

### Examples

    #  Set up the harmonic acceleration operator
    dayrange  <- c(0,365)
    Lbasis  <- create.constant.basis(dayrange,
                      axes=list("axesIntervals"))
    Lcoef   <- matrix(c(0,(2*pi/365)^2,0),1,3)
    bfdobj  <- fd(Lcoef,Lbasis)
    bwtlist <- fd2list(bfdobj)
    harmaccelLfd <- Lfd(3, bwtlist)

[Package fda version 2.4.8 Index]