File Exchange

image thumbnail

Wolf Lyapunov exponent estimation from a time series.

version 1.2.0.1 (2.39 MB) by Alan Wolf
A Matlab version of the Lyapunov exponent estimation algorithm of Wolf et al. -- Physica 16D, 1985.

83 Downloads

Updated 14 Aug 2019

View License

In Physica 16D (1985) we presented an algorithm that estimates the dominant Lyapunov exponent of a 1-D time series by monitoring orbital divergence. The algorithm was distributed for many years by the authors in Fortran and C. It has just been converted to Matlab. Documentation is included (both the Physica D article, and a pdf named Lyapunews).

The sample files I included were written as unix newline terminated data points. These files may look strange when displayed by various editors. Feel free to create data files with any software that can output time series values, one per line, terminated with a carriage return AND line feed. The existing code will read such files in perfectly well.

If you have questions, PLEASE DON'T POST THEM HERE. Please write me directly at the email address contained in this download: awolf.physics@gmail.com

Cite As

Alan Wolf (2019). Wolf Lyapunov exponent estimation from a time series. (https://www.mathworks.com/matlabcentral/fileexchange/48084-wolf-lyapunov-exponent-estimation-from-a-time-series), MATLAB Central File Exchange. Retrieved .

Comments and Ratings (67)

Alan Wolf

The sample files I included were written as unix newline terminated data points. These files may look strange when displayed by various editors. Feel free to create data files with any software that can output time series values, one per line, terminated with a carriage return AND line feed. The existing code will read such files in perfectly well...

If you have questions, PLEASE DON'T POST THEM HERE. Please write me directly at the email address contained in this download: awolf.physics@gmail.com
Thanks. Alan Wolf

Ivan Mostak

could anyone help me to run the program with some example. I am unable to run the program. there is an error of fname. Data@.lor is not supported.

Alan Wolf

If you have questions, PLEASE DON'T POST THEM HERE. Please write me directly at the email address contained in this download: awolf.physics@gmail.com
Thanks. Alan Wolf

to determine the maximum index of lyapunov, should I see in the 4th column of the matrix "out" the largest number? and in that way I get the maximum exposure of lyapunov?
I would like to know if someone can help me.
  (excuse my English)

zhsl

Alan Wolf

If you have questions, PLEASE DON'T POST THEM HERE. Please write me directly at the email address contained in this download: awolf.physics@gmail.com
Thanks. Alan Wolf

Thank You Very Much!

Aaron Best

Dr. Wolf,

Thank you for these functions it is incredibly helpful. I am attempting to use it for a bio mechanics analysis of gait and I am receiving issues with the code. I was hoping that I would be able to ask you for some help with the implementation of the code. I was hoping we could use email to communicate so we don't clutter up the rating section my email is 14anb5@queensu.ca. Thank you so much once again.

Aaron

Many thanks for your kindly reply.

Alan Wolf

Section 5.2 of the Physica D paper notes that I DID write a code for (lambda 1 + lambda 2) from exptl. data, but it wasn't included in the paper because there are a few ADDITIONAL parameters. I didn't (and now, many years later still don't) trust many people to test that their estimates for lambda 1 were stable with over wide parameter variations, so I didn't generally distribute the L1+L2 code. I've seen too many people use data sets far too small, far too short, clearly high dimensional... It's a form of abuse that people don't talk about... algorithm abuse!

Thank you Prof. Wolf for your answer. I want to tell you that if I have the solution of the hyperchaotic attractor as data, not equations and I want to have the Lyapunov exponents. Can I get it with your program?

Alan Wolf

For hyperchaotic rossler -- please read my Physica D paper. It contains 2 algorithms. One is for experimental data (a 1-D time series). You don't want that code. Use the other program, which is for sets of differential equations and computes the COMPLETE spectrum of exponents, positive and negative. You will have to insert the differential equations into the code before compiling and also linearize the equations by hand (very straightforward).

Dear Prof. Wolf
Thank you for your great work. I would like to ask you if I have the time series of Hyperchaotic Rossler, how can I get the two positive Lyapunov exponents from this program.

zhou

Naw Nem

+The code is well written, and can be extended to other problems with minimal effort/elbow grease. I greatly appreciated the addition of plotting/stepping, which lays out the action of the algorithm very clearly.

-Its readability is somewhat harmed by the lack of use of MATLAB built-ins, but that's understandable when porting from Fortran and C.

Dr. Wolf - thanks for posting this! It made your paper much clearer.

Alan Wolf

For a few of you who asked about creating input data files... The sample files I included were written as unix newline terminated data points. These files may look strange when displayed by various editors. Feel free to create data files with any software that can output time series values, one per line, terminated with a carriage return AND line feed. The existing code will read such files in perfectly well...
Alan Wolf

Mary

Hi,
I am trying to use the code for my time series, but I keep getting an error on fet.m. the error is the vector OUT dimension for the first run is not the same is the next loop run. What could be the problem? any help?

somia ilyas

Thank you so much, Sir

it's very good !!!
tnx

mh oly

Ovee Matlab

jose monroy

Alan Wolf

If you have questions about the algorithm, PLEASE DON'T POST THEM HERE. Simply email me. This space is for comments and ratings, not conversations.

Ali Ahmadi

Ali Ahmadi

tnx a lot Sir Alan ... I found that . just one question . i have my own time series in order to calculate biggest LE ( just this and nothing more . just the final result number of time series ) . should i just replace my normalize time series and with your data ?

Alan Wolf

I've been asked more than once... where is the output (exponent estimate). This is discussed in the documentation (Lyapunews.pdf) - please read it. An output file is created when the program is run. The running estimate of the dominant exponent is the 4th column of numbers in that file. Discussed on page 16 of Lyapunews.

Ali Ahmadi

Hi Sir Alan . Tnx a lot for your work . i have a question sir .
where can i exactly find the largest lyapunove in output ? ( in documation mentioned approximately 2.1 )

Alan Wolf

You can’t get negative exponents because:

1) In a system with positive, negative, perhaps zero exponents, the average rate of orbital divergence is dominated by the term that grows fastest, which by definition, is the exponential term with an exponent that is the largest POSITIVE Lyapunov exponent. Negative exponents contribute, but a contribution like e^(-3t) won't be seen if there is also a term like e^(+2t).
2) In a system like the Lorenz attractor, negative exponents relate to transient decay towards the chaotic attractor. Your data set consists solely of post-transient data. Once you discarded the transients, there is not way to get them back.

Jiang Benny

Why cannot I get a negative Lyapunov exponent from this program?

Max Murphy

cbzeng

WENZHE HU

liu peng

Mei

Thanks very much Dr. Wolf.

Alan Wolf

There is no fundamental limit to the size/length of the time series. Modify the code (in C, Fortran, etc.) as regards memory requirements to suit your needs. Matlab may not be the best way to go for efficiency...

Mei

I have a question :whether the data points in the time series must be less than 32000 when I use this code,if it is more than 32000,what should I do?
Thank a lot Dr. Wolf !

Thanks a ton Dr. Wolf!

Arlene

Thanks a bunch Alan!

Thaks very much dear Wolf.

Abhilash

faraz edadi

Tak120

Thaks very much dear Wolf.

Alan Wolf

To Tak120 -- the program produces an output file. That file shows the convergence (hopefully!) of the exponent as orbital divergence is tracked through more and more of the input data file/time series.

Tak120

Thanks dear Wolf for this excellent code,
but i have a question : how can i find the result of Lyapunov Exponent from your code?
Thank you again !

Phymath

Phymath

Thanks Dr. Alan .... the program is amazing.... I just have a simple notice, so a sub-file, Data.lor, should be Data2.lor inside a main program, testbench.m, in order to run..... again thank you....

Best Regards,
Ammar M Dukhan
PhD student at QUT

Vivek

Please improve the documentation for this program. It is not very clear what the input/output arguments are.
Thanks!

Alan Wolf

There is nothing wrong with the code that I am aware of. If questions, feel free to email me at wolf@cooper.edu

Alan Wolf

Tak120

Dear Predrag,
Could you please give us the correct code.
Thank you

Predrag

It has just been converted to Matlab with several syntax errors in code.

Updates

1.2.0.1

Corrected description -- documentation IS included. Addressed formatting of input files. Provided an email address so questions can be sent to me directly.

1.2.0.0

Documentation added on 3/16/16

1.2.0.0

clarified meaning of EVOLVE parameter.

1.1.0.0

10/12/14 -- Added some notes to "documentation.txt" which will probably be sufficient for those who have already used the algorithm. More detailed notes to follow within a week.

MATLAB Release Compatibility
Created with R2014b
Compatible with any release
Platform Compatibility
Windows macOS Linux