# eigen.pda: Stability Analysis for Principle Differential Analysis In fda: Functional Data Analysis

 eigen.pda R Documentation

## Stability Analysis for Principle Differential Analysis

### Description

Performs a stability analysis of the result of `pda.fd`, returning the real and imaginary parts of the eigenfunctions associated with the linear differential operator.

### Usage

```eigen.pda(pdaList,plotresult=TRUE,npts=501,...)
```

### Arguments

 `pdaList` a list object returned by `pda.fd`. `plotresult` should the result be plotted? Default is TRUE `npts` number of points to use for plotting. `...` other arguments for 'plot'.

### Details

Conducts an eigen decomposition of the linear differential equation implied by the result of `pda.fd`. Imaginary eigenvalues indicate instantaneous oscillatory behavior. Positive real eigenvalues indicate exponential increase, negative real eigenvalues correspond to exponential decay. If the principle differential analysis also included the estimation of a forcing function, the limiting stable points are also tracked.

### Value

Returns a list with elements

 `argvals` The evaluation points of the coefficient functions. `eigvals` The corresponding eigenvalues at each time. `limvals` The stable points of the system at each time.

`pda.fd` `plot.pda.fd` `pda.overlay`

### Examples

```
#  A pda analysis of the handwriting data

# reduce the size to reduce the compute time for the example
ni <- 281
indx <- seq(1, 1401, length=ni)
fdaarray = handwrit[indx,,]
fdatime  <- seq(0, 2.3, len=ni)

#  basis for coordinates

fdarange <- c(0, 2.3)
breaks = seq(0,2.3,length.out=116)
norder = 6
fdabasis = create.bspline.basis(fdarange,norder=norder,breaks=breaks)

#  parameter object for coordinates

fdaPar = fdPar(fdabasis,int2Lfd(4),1e-8)

#  coordinate functions and a list tontaining them

Xfd = smooth.basis(fdatime, fdaarray[,,1], fdaPar)\$fd
Yfd = smooth.basis(fdatime, fdaarray[,,2], fdaPar)\$fd

xfdlist = list(Xfd, Yfd)

#  basis and parameter object for weight functions

fdabasis2 = create.bspline.basis(fdarange,norder=norder,nbasis=31)
fdafd2    = fd(matrix(0,31,2),fdabasis2)
pdaPar    = fdPar(fdafd2,1,1e-8)

pdaParlist = list(pdaPar, pdaPar)

bwtlist = list( list(pdaParlist,pdaParlist), list(pdaParlist,pdaParlist) )

```

fda documentation built on April 27, 2022, 1:07 a.m.