# Changes, bug fixes and new programs

- TISEAN_0.1 -> TISEAN_0.2
- TISEAN_0.2 -> TISEAN_0.3
- TISEAN_0.3 -> TISEAN_0.4
- TISEAN_0.4 -> TISEAN_0.5
- TISEAN_0.5 -> TISEAN_0.9
- TISEAN_0.9 -> TISEAN_1.0
- TISEAN_1.0 -> TISEAN_1.2
- TISEAN_1.2 -> TISEAN_2.0

TISEAN_0.1 -> TISEAN_0.2

#### Changes

- make all is now the default rule in the Makefile. That means, make will compile all programs without installing them. (Thanks to Wolfgang Trappe)
- The comments in the C-sources are no longer // bu../ instead, since // does not work with all C compilers. (Thanks to Volker Ahlers)
- I started to create a library which contains some useful routines. One aim of this library is to replace the routines from the Numerical recipes, so that this package becomes completely independent from commercial software. This will last some more versions.

#### Bug Fixes

- ar-model ignored the -x option. FIXED
- In svd the new basis of the vectors was wrong due to a index permutation. FIXED

#### New programs

- low121: A simple time domain low pass filter.
- ghkss:A sophisticated noise reduction program. See also project.

top of the page.

TISEAN_0.2 -> TISEAN_0.3

#### Changes

- The output of the .stat file of the d2 program is maybe less cryptic now.
- The histogram program now additionally gives the interval of the data.
- Installation notes updated.

#### Bug Fixes

- The scramble routine of d2 was doing wrong. FIXED (Thanks to Eckehard Olbrich)
- Finally the bug in the ar-model is FIXED (Thanks to Eckehard again)
- Due to a change in the make_box routine in libtsa_routines.a, nrlazy was doing nonsense. FIXED

#### New programs

- extrema: Determine the extrema of a time series.
- av-d2: Smooth the output of the d2 program.

top of the page.

TISEAN_0.3 -> TISEAN_0.4

#### Changes

- The polynom program is now able to devide the data into insample and out of sample points.
- The rbf program is now able to devide the data into insample and out of sample points.
- All programs are now able to read from stdin. The only exception is av-d2, since it needs a special input format.
- All system calls were removed from the programs. Maybe that makes it easier to convert the programs to non unix operating systems.
- The program poincare does no longer use the internal menu. Now it reads all parameters from the command line.

#### Bug Fixes

- Bug in the makenoise fixed. The effect was that there was no default column to be read. Results were not influenced by this bug. (Thanks to Eckehard Olbrich)
- Bug in mutual fixed. The program wanted the -s option to read the column, while the docs said its -c. Now it is -c. (Thanks to Jochen Arnhold)

#### New programs

- rescale: Rescales the time series to a specified interval or to average=0 and/or variance=1.
- false_nearest: The false nearest neighbor method
- zeroth: Determine the forecast error of the optimal zeroth order model

top of the page.

TISEAN_0.4 -> TISEAN_0.5

#### Changes

- Minor :-) modification of the Makefile structure.

#### Bug Fixes

#### New programs

top of the page.

TISEAN_0.5 -> TISEAN_0.9

#### Changes

- The datafile has no longer to be the first parameter given in the command line. It can appear anywhere. Actually, everything not being a valid command line option will be interpreted as a possible datafile name. If no datafile is given at all or if - is given, stdin is read. If more than one datafile is specified, the last valid one (means the last that exists) is read.
  A consequence is that just calling a program without given any parameter means now: call the program with all parameters set to their defaults and read from stdin. That means, to activate the help option, you have to give the -h flag in any case.
- New option (-t) in the extrema program.
- The meaning of the -s flag in the zeroth program has been changed slightly. Now giving steps larger 1 means that the program calculates all forecast errors from step 1 to the given step. Furthermore, the output can now be written to a file.
- The output of the mem_spec was modified to be compatible with the output of spectrum.
- I modified the handling of the command line options. Now it is possible either set a space between the flag and the value (e.g. -d 3) or not (e.g. -d3). There is one flag -o which can be called with a parameter or without. Be careful! Placing the input file name in back of this flag will cause the program to interpret it as the parameter for the flag.
- I succeded in removing all NR-stuff from the package.
- Some of the names of flags are changed to unify them with the ones from the Wuppertal part.
- New flag -r in the program makenoise. With it you can give the absolute noiselevel (or the absolute variance in case of gaussian noise). This means you can now produce N pure (gaussian) random numbers centered around x by
  `yes x |head -N | makenoise -r something (-g) -o filename`
- Some changes in the parameters of svd.
- A new flag -V for low121 which can reduce the number of output files.

#### Bug Fixes

- Due to the changes from Release 0.3 to 0.4 I introduced a bug in the program rbf. Fixed
- I called two flags in the poincare the same. Embarrassing isn't it? FIXED.
- Major bug in lyap_spec. The result always was `floating exception`. Fixed (Thanks to Eckehard)
- Minor bug in lyap_k. The statistics was written to stdout instead of stderr. Fixed (Thanks to Thomas)

#### New programs

- The program ll-ar estimates the onestep prediction error for a local linear ansatz as a function of the neighborhood size with which the function was fitted. Could give hints whether the system is describable by an AR-model or not.
- There are three new program for fitting polynomials. The main one is polynomp that fits a polynomial consisting of a free configurable number of terms. polyback does a backward elimination and polypar creates a parameter file that contains all possible terms of a polynomial.
- I started to add programs which handle either multivariate data or different univariate time series. The first one is xcor which computes the cross correlations of two components.
- xzero: Make a zeroth order cross prediction of two time series.
- boxcount: Estimate the Qth order Renyi entropy using a partitioning of the data.
- xc2: Compute the cross correlation sum of two time series.

TISEAN_0.9 -> TISEAN_1.0

#### Changes

- Now each html file in the docs directory contains a description of what the output of the programs is.
- The false_nearest routine didn't implement the second condition of the Kennel et al paper. Now it is implemented (Thanks to Wolfgang Müller and Angelo De Santis).
- For each program which reads only one column you can now specify the number of the column in the filename separated by a comma.
  Example: hen,1 means use column 1 of file hen
  Should work in a similar way as in the Wuppertal part.

#### Bug Fixes

- The search_datafile routines produced a Segmentation fault on some systems when no valid filename was given. FIXED
  Additionally, if no valid filename is given at all, now stdin is read.

#### New programs

- NONE

TISEAN_1.0 -> TISEAN_1.2

#### Changes

- In ar-model now the mean is first subtracted which should be less confusing.
- A new routine test_outfile was added to tsa.h which tests whether a file for writing the output into can be created or not.
- Another new routine invert_matrix was added to tsa.h. It inverts a square matrix and is based on solvele.
- lyap_k wanted to have the epsilon values in units of the data, the output was in rescaled units, though. Since this was a bit confusing, it was changed. Now output is also in units of the data.
- All programs were modified such that they use the routine test_outfile.
- rbf: The distribution of the centers and the variance of the gaussians was changed to make the program more effective. Now less centers should be necessary. Furthermore, the program should be much faster now and thus the default is now: write to stdout.
- histogram: The output was changed in a way that now the integral over the second column should be 1.

#### Bug Fixes

- lyap_spec was expecting a value for the flag -I though there was no need for it. FIXED (Results were not influenced)
- extrema: The first value was nonsens. FIXED. (All other values were not influenced)
- false_nearest: The condition for the maximal allowed distance between the pairs of points was implemented wrongly. FIXED. (It did influence your results, but buggy though, it was still a stronger condition than the original one of Kennel et al.)

#### New programs

- A program for estimating the finite size Lyapunov exponents fsle was added. (BETA. I'm not completely sure whether this program does what it is supposed to do. So please be careful in using it.)
- resample: A program for resampling a time series (of a flow system, of course) with a new sampling time.

top of the page.

TISEAN_1.2 -> TISEAN_2.0

#### Changes

- A new routine exclude_interval was added to tsa.h. It allows to exclude an interval of indexes from a list of neighbors found.
- When the parameter of -m is larger than that of -M in lyap_k, now the -m value is used. (Thanks to Jens Timmer)
- Furthermore, lyap_k was rewritten in C.
- The programs delay, make_ps were removed from the supported part of the package. In case you are a fan of these programs, you'll find the sources and the html-files in the directory unsupported. As the name says, there will be no support, what so ever, for these programs. Maybe make_ps will come back in a later version when it is useful for more people, not only for me.
- The program histogram was rewritten in C. This means the package is now C++ free.
- The program nrlazy has an additional option -v which allows to set the neighborhood size in units of the standard deviation of the data.
- The program d2 is now able to handle multivariate data, also with mixed embeddings. Further, the default for the -N is now 1000 instead of all. To get all back, set the value to 0. Furthermore, columns 1 and 3 in the output files are interchanged. The first column now contains the length scales in units of the data.
- The program av-d2 was changed in a way that it is now able to handle the output of the files of the program. Since the natural units for length scales are the default units now, the option -r was replaced by -e.
- Some of the messages of the programs were changed to avoid that they look like error messages. (Thanks to Christian Rödenbeck)
- Two new routines to handle multivariate time series were added to tsa.h: make_multi_box and find_multi_neighbors.
- To reduce the number of segmentation faults another routine check_alloc was added to tsa.h.
- A new flag -S was added for the zeroth program.
- The -F was replaced by -c
.
- To make the -c and -m flags more flexible to use I changed the routine get_multi_series in tsa.h.
- Now mutual uses the standard norm for its output.
- A new routine what_i_do was added to tsa.h. It displays kind of a welcome message when the program is started.
- A new routine myfgets was added to tsa.h. It handles loooong input lines.
- A new flag -V was added for all programs. It allows to add an verbosity level like in Thomas' programs. See the corresponding help pages for more info. According to this change, I had to modify the routine get_series and get_series in tsa.h.
- lyap_spec is now able to handle delays other than 1.

#### Bug Fixes

- When using the routines ll-ar, onestep and zeroth with the -s flag set to a value larger than 1 the points mapped into the interval [actual point,actual point + value of -s] were not excluded from the neighborhood. This caused causality problems especially for oversampled flow data, which could result in a severe underestimation of the forecast errors. FIXED (Thanks to Mario Ragwitz and Holger)
- The -r flag in xzero was buggy. When used, the result was usually (depending on the architecture) a floating execption. (Thanks to Mario Ragwitz)

#### New programs

- mzeroth: Estimates the forecast errors for a multicomponent time series using a zeroth order model.
- nstat_z: Takes a scalar time series, divides it into pieces and estimates the zeroth order cross-forecast errors as a test for nonstationarity.

top of the page.