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 will be posted shortly.
If you have questions, PLEASE DON'T POST THEM HERE. Please write me directly at the email address contained in this download: firstname.lastname@example.org
Thanks. Alan Wolf
Thank You Very Much!
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 email@example.com. Thank you so much once again.
Many thanks for your kindly reply.
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?
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.
+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.
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...
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?
Thank you so much, Sir
it's very good !!!
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.
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 ?
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.
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 )
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.
Why cannot I get a negative Lyapunov exponent from this program?
Thanks very much Dr. 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...
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!
Thanks a bunch Alan!
Thaks very much dear Wolf.
Thaks very much dear 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.
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 !
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....
Ammar M Dukhan
PhD student at QUT
Please improve the documentation for this program. It is not very clear what the input/output arguments are.
There is nothing wrong with the code that I am aware of. If questions, feel free to email me at firstname.lastname@example.org
Could you please give us the correct code.
It has just been converted to Matlab with several syntax errors in code.
Documentation added on 3/16/16
clarified meaning of EVOLVE parameter.
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.
Create scripts with code, output, and formatted text in a single executable document.