Integrated Spatiotemporal Patterns
dglmoore opened this issue · comments
Implement algorithms for computing time series integration based on the work of Biehl, Ikgami and Polani
One of the problems with measures of integration such as integrated spatiotemporal patterns (ISTP) is that their computational complexity is super-exponential in the number of sources. This is a result of the fact that one has to consider every possible partitioning scheme for the sources. As an approximation, we will have to take a "level" argument which specifies how many different partitions we wish to consider.
For example, a level = 0
will mean that we wish to consider every possible partitioning, level = 1
will mean only consider the finest partition, level = 2
will mean consider the two finest levels of partitioning. We will also allow negative level, e.g. level = -1
will consider the coarsest (non-trivial) partitioning.
Proposed API
EXPORT double *inform_istp(int const *series, size_t l, size_t n, size_t m,
int const *b, int level, double *istp, inform_error *err);
Example Usage
int series[18] = {0,0,1,0,1,0,0,1,0, 1,0,0,1,0,1,1,0,1};
double istp[9];
inform_error err = INFORM_SUCCESS;
inform_istp(series, 2, 1, 9, (int[]){2,2}, 1, istp, &err);
// istp == { 0.58,-1.41, 1.17, 0.58, 1.17, 0.58, 0.58, 1.17, 0.58}