lyapunov: Local-Global Lyapunov Spectrum Estimation

Description Usage Arguments Value S3 METHODS References See Also Examples


Estimates the local Lyapunov exponents over a range of user supplied scales and dimensions. The local Lyapunov spectrum is calculated as follows:


A delayed embedding of the input time series is formed.


For each global reference point (specified by an intger index in the reference matrix) a local Lyapunov spectrum is calculated, one exponent for each dimension from 1 to local.dimension and for each (integer) scale specified by the scale vector. As the scales grow larger, the Lyapunov exponent estimates tend toward asymptotic values corresponding to the global Lyapunov exponents. The details of how each local spectrum is estimated is given below.


The local spectra are then averaged over each global reference point to stabilize the results.

Each local spectrum is obtained by estimating the eigenvalues of the so-called Oseledec matrix, which is formed through a matrix product of successive local Jacobians with the transpose of the Jacobians. The number of Jacobians in the product is equivalent to the scale. Each Jacobian is formed by fitting a local neighborhood of points (relative to a some reference point) with a multidimensional polynomial of order polynomial.order. The number of neighbors found for each reference point in the embedding is chosen to be twice the polynomial order for numerical stability. To further stabilize the results, a local Lyapunov spectrum is formed for each local reference point.


lyapunov(x, tlag=NULL, dimension=5, local.dimension=3,
    reference=NULL, n.reference=NULL, olag=2,
    sampling.interval=NULL, polynomial.order=3, metric=Inf, scale=NULL)



a vector containing a uniformly-sampled real-valued time series.


an integer representing the embedding dimension. Default: 5.


an integer representing the dimension (number of) local Lyapunov exponents to estimate. This value must be less than or equal to the embedding dimension. Default: 3.


the metric used to define the distance between points in the embedding. Choices are limited to 1, 2, or Inf which represent an L1, L2, and L-inf norm, respectively. Default: Inf.


the number of neighbors to use in in developing the kd-tree (used as a quick means of finding nearest neighbors in the phase space). These neighbors are collected relative to the reference points. This value must be greater than 10. Default: min(as.integer(round(length(x)/20)), 100).


the number of points along the trajectory of the current point that must be exceeded in order for another point in the phase space to be considered a neighbor candidate. This argument is used to help attenuate temporal correlation in the the embedding which can lead to spuriously low correlation dimension estimates. The orbital lag must be positive or zero. Default: length(x)/10 or 500, whichever is smaller.


the order of the polynomial to use in fitting data around reference points in the phase space. This poloynomial fit will be used to form the Jacobians which are in turn used to calcualte the Lypaunov exponents. Default: 3.


a vector of integers representing the indices of global reference points to use in estimating the local Lyapunov spectrum. A local spectrum is estimated around each global reference point, and all the local spectra are then averaged to stabilize the results. These global reference points should be chosen such that they are far apart in time. Default: Five indices uniformly distributed on the interval [1,M], where M = Ne - max(scale) - n.reference - 2 and Ne is the number of embedding points.


a numeric value representing the interval between samples in the input time series. Default: deltat(x).


a vector of integers defining the scales over which the local Lyapunov exponents are to be estimated. As this scale increases, one expects the local Lyapunov exponent estimates to converge towards the global estimates. All scales must be greater than one. Default: as.integer(2^(seq(min(floor(logb(scale.max,2)) - 2 , 10)) - 1)) where scale.max = Ne - 2 - n.reference.


the time delay between coordinates. Default: the decorrelation time of the autocorrelation function.


an object of class FNN.



plots a summary of the results. Available options are:


Additional plot arguments (set internally by the par function).


prints a summary of the results. Available options are:


Additional print arguments used by the standard print function.


summarizes the results.


P. Bryant, R. Brown, and H.D.I. Abarbanel (1990), Lyapunov exponents from observed time series, Physical Review Letters, 65(13), 1523–1526.

H.D.I. Abarbanel, R. Brown, J.J. Sidorowich, and L. Tsimring (1993), The analysis of observed chaotic data in physical systems, Reviews of Modern Physics, 65(4), 1331–1392.

See Also

embedSeries, infoDim, corrDim, timeLag, FNN.


## Calculate the local Lyapunov spectrum for the 
## beamchaos series 
z <- lyapunov(beamchaos)

## print the results 

## summarize the results 

## plot the results 

Example output

Loading required package: splus2R
Loading required package: ifultools
Local Lyapunov Spectrum for beamchaos
Series points               : 2048 
Sampling interval           : 0.001 
Embedding dimension         : 5 
Local dimension             : 3 
Time lag                    : 12 
Orbital lag                 : 2 
Reference point indices     : 1 443 885 1327 1770 
Jacobian, neighborhood size : 100 
Jacobian, distance metric   : L-Inf 
Jacobian, polynomial order  : 3 
Scales                      : 1 2 4 8 16 32 64 128 
            1          2         3
1   320.58546  -3.786411 -457.1460
2   274.01163  -4.692902 -407.5791
4   219.18050  -6.258042 -348.2593
8   157.58166  -5.609147 -282.5936
16  119.34602 -13.457963 -233.4574
32   97.82629 -13.570805 -204.1551
64   80.87266  -7.833558 -185.4530
128  60.29305 -10.301722 -179.7524

            1         2        3
1   5775.8829  926.6198 6239.093
2   4105.3126  944.2951 4366.319
4   2906.3447 1045.6772 3460.929
8   2644.5444  823.7543 3340.580
16  2879.0441  503.6410 3180.630
32  2810.9686  334.5716 5509.774
64  1891.3476  212.4551 5992.844
128  628.2928  152.0689 4677.501

            1          2         3
1   339.13540 -11.191483 -448.5875
2   295.89122  -9.409088 -400.3701
4   231.63106 -14.886865 -350.8270
8   150.09557  -8.323583 -276.6759
16  109.94313 -10.775818 -222.5412
32   89.99593 -12.510936 -190.2045
64   68.50770  -7.179141 -157.2131
128  52.12501 -12.871085 -152.9989

[1] "summary.lyapunov"

fractal documentation built on Dec. 23, 2017, 5:10 p.m.