# poincareMap: Create a Poincare map

### Description

Create a map using the extrema of a scalar time series.

### Usage

 `1` ```poincareMap(x, extrema="min", denoise=FALSE) ```

### Arguments

 `x` a vector holding a scalar time series. `denoise` a logical value. If `TRUE`, the data is first denoised via waveshrink prior to analysis. Default: `FALSE`. `extrema` the type of extrema desired. May be "min" for minima, "max" for maxima, or "all" for both maxima and minima. Default: `"min"`.

### Details

This function finds the extrema of a scalar time series to form a map. The time series is assumed to be a uniform sampling of s(t), where s(t) is a (possibly noisy) measurement from a deterministic non-linear system. It is known that s'(t), s''(t), ... are legitimate coordinate vectors in the phase space. Hence the hyperplane given by s'(t)=0 may be used as a Poincare surface of section. The intersections with this plane are exactly the extrema of the time series. The time series minima (or maxima) are the interesections in a given direction and form a map that may be used to estimate invariants, e.g., correlation dimension and Lyapunov exponents, of the underlying non-linear system.

The algorithm used to create a Poincare map is as follows.

1

The first and second derivatives of the resulting series are approximated via the continuous wavelet transform (CWT) using the first derivative of a Gaussian as a mother wavelet filter (see references for details).

2

The locations of the local extrema are then estimated using the standard first and second derivative tests on the CWT coefficients at a single and appropriate scale (an appropriate scale is one that is large enough to smooth out noisy components but not so large as to the oversmooth the data).

3

The extrema locations are then fit with a quadratic interpolation scheme to estimate the amplitude of the extrema using the original time series.

### Value

a list where the first element (`location`) is a vector containing the temporal locations of the extrema values, with respect to sample numbers 1,...N, where N is the length of the original time series. The second element (`amplitude`) is a vector containing the extrema amplitudes.

### References

Holger Kantz and Thomas Schreiber, Nonlinear Time Series Analysis, Cambridge University Press, 1997.

`embedSeries`, `corrDim`, `infoDim`.
 ``` 1 2 3 4 5 6 7 8 9 10``` ```## Using the third coordinate (\eqn{z} state) of a ## chaotic Lorenz system, form a discrete map ## using the series maxima. Embed the resulting ## extrema in a 2-dimensional delay embedding ## (with delay=1 for a map). The resulting plot ## reveals a tent map structure common to ## Poincare sections of chaotic flows. z <- poincareMap(lorenz[,3], extrema="max") z <- embedSeries(z\$amplitude, tlag=1, dimension=2) plot(z, pch=1, cex=1) ```