d2
d1
boxcount
c2t
c2g
c2d
av_d2
I also wrote demos for most of those functions and updated the tutorial on the wiki page.
The first part of this week I spent improving on the build process. The function
The first part of this week I spent improving on the build process. The function
__c2g__
relies on C++ lambdas to work, therefore a configure script needed to be introduced to ensure the compiler has this capability. As was suggested by John Eaton, I tried to make the impact of not having that capability as small as possible. Currently if the compiler does not recognize C++ lambdas simply __c2g__
is not compiled and the function c2g
does not work.The plans
I was hoping to port all of the functions in the next section, Testing for Nonlinearity, by the end of the week. This might not be possible as randomize turned out to be a bigger function than I anticipated. It is actually not a function at all but, as the author of the TISEAN documentation puts it, "a toolbox". It generates surrogate data using simulated annealing. It needs to be supplied with three functions:
- the cost function
- the cooling function -- how the temperature decreases
- the permutation function -- what to change every step
So currently if the user wants their own version of any of the functions above the user needs to write it in FORTRAN. My goal for this project would be to allow the user to write (use) their own octave function. The SA algorithm is an iterative method so using Octave code is not a good idea (as each line must be parsed when using
I plan to tackle this problem as follows: I will rewrite in C++ the equivalent function to randomize_auto_exp_random and then try to refactor and modify the code to accept other functions. I plan to include all of the functions that are available in TISEAN in the Octave package, either through rewriting them or through linking to them. And I would like to make it easy for new functions to be added.
Further reading on randomize is available on the TISEAN documentation in the General Constrained Randomization, Surrogates paper Appendix, randomize description and randomize function extension description.
for
or while
loops). As far as I understand the samin
routine from the optim package will not suffice as it does not generate surrogate data, and has fewer options. Due to the size of this function it might take me some time to complete it.I plan to tackle this problem as follows: I will rewrite in C++ the equivalent function to randomize_auto_exp_random and then try to refactor and modify the code to accept other functions. I plan to include all of the functions that are available in TISEAN in the Octave package, either through rewriting them or through linking to them. And I would like to make it easy for new functions to be added.
Further reading on randomize is available on the TISEAN documentation in the General Constrained Randomization, Surrogates paper Appendix, randomize description and randomize function extension description.
Brak komentarzy:
Prześlij komentarz