Skip to main content

Correlation Integral caluclations done fast with openmp

Project description

Calculates the correlation integral. Does not take self-distance into account. Memory complexity is len(data)*len(Rs). Calculations are done with single precision floating point data, and the theoretical maximum data length is 3.037.000.499 points divided by the number of Rs that you want to calculate

Usage

To import the library run:

import correlation_integral as ci

Three methods can be used

ci.euclidean
ci.manhattan
ci.chebyshev

All three methods take the following arguments:

  • data: one-dimensional float32 numpy array with the data

  • dims: integer specifying the dimension for which to calculate the correlation integral

  • r : one-dimensional float32 numpy array with the distances to calculate the correlation integral for

And they return the following output:

  • cd: one-dimensional float32 numpy array which contains the correlation-integral for each r given in the input

The signature looks like this:

cd = ci.euclidean(data,dims,r)

Installation

pip install correlation-integral

Example

import correlation_integral as ci
import numpy as np
import matplotlib.pyplot as plt

# example Henon map - create & plot data
a=1.4;
b=0.3;

x=np.zeros(shape=(10000+5000),dtype=np.float32)
y=np.zeros(shape=(10000+5000),dtype=np.float32)
x[0]=1
y[0]=0
for i in range(1,len(x)-1):
    x[i+1]=1-a*x[i]**2+y[i]
    y[i+1]=b*x[i]

x=x[5000:]
y=y[5000:]


# correlation integral analysis done only with x-variable
nrsteps=10;
dims=np.arange(1,16) # calculate for d=1 uptil d=16
nrdims=dims.size;
rs=np.logspace(-2.5,0.5,nrsteps)
Cds=np.zeros((nrsteps,nrdims));

print("Start")
for j in range(nrdims):
  Cds[:,j] = ci.chebyshev(x,dims[j],rs)
  print("x",end="")
print("\nDONE!")

# Plot the results
for i in range(len(dims)):
  plt.plot(rs,Cds[:,i])
plt.xscale("log")
plt.yscale("log")
plt.show()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

correlation_integral-0.0.5-pp38-pypy38_pp73-win_amd64.whl (365.7 kB view hashes)

Uploaded PyPy Windows x86-64

correlation_integral-0.0.5-pp38-pypy38_pp73-macosx_10_9_x86_64.whl (1.4 MB view hashes)

Uploaded PyPy macOS 10.9+ x86-64

correlation_integral-0.0.5-pp37-pypy37_pp73-win_amd64.whl (365.7 kB view hashes)

Uploaded PyPy Windows x86-64

correlation_integral-0.0.5-pp37-pypy37_pp73-macosx_10_9_x86_64.whl (1.4 MB view hashes)

Uploaded PyPy macOS 10.9+ x86-64

correlation_integral-0.0.5-cp310-cp310-win_amd64.whl (350.8 kB view hashes)

Uploaded CPython 3.10 Windows x86-64

correlation_integral-0.0.5-cp310-cp310-win32.whl (349.0 kB view hashes)

Uploaded CPython 3.10 Windows x86

correlation_integral-0.0.5-cp310-cp310-musllinux_1_1_x86_64.whl (842.0 kB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

correlation_integral-0.0.5-cp310-cp310-musllinux_1_1_i686.whl (968.5 kB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ i686

correlation_integral-0.0.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

correlation_integral-0.0.5-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (1.1 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ i686

correlation_integral-0.0.5-cp310-cp310-macosx_10_9_x86_64.whl (1.4 MB view hashes)

Uploaded CPython 3.10 macOS 10.9+ x86-64

correlation_integral-0.0.5-cp39-cp39-win_amd64.whl (350.8 kB view hashes)

Uploaded CPython 3.9 Windows x86-64

correlation_integral-0.0.5-cp39-cp39-win32.whl (348.9 kB view hashes)

Uploaded CPython 3.9 Windows x86

correlation_integral-0.0.5-cp39-cp39-musllinux_1_1_x86_64.whl (841.5 kB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

correlation_integral-0.0.5-cp39-cp39-musllinux_1_1_i686.whl (967.9 kB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ i686

correlation_integral-0.0.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

correlation_integral-0.0.5-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (1.1 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ i686

correlation_integral-0.0.5-cp39-cp39-macosx_10_9_x86_64.whl (1.4 MB view hashes)

Uploaded CPython 3.9 macOS 10.9+ x86-64

correlation_integral-0.0.5-cp38-cp38-win_amd64.whl (350.8 kB view hashes)

Uploaded CPython 3.8 Windows x86-64

correlation_integral-0.0.5-cp38-cp38-win32.whl (348.9 kB view hashes)

Uploaded CPython 3.8 Windows x86

correlation_integral-0.0.5-cp38-cp38-musllinux_1_1_x86_64.whl (843.4 kB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ x86-64

correlation_integral-0.0.5-cp38-cp38-musllinux_1_1_i686.whl (969.8 kB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ i686

correlation_integral-0.0.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

correlation_integral-0.0.5-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (1.1 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ i686

correlation_integral-0.0.5-cp38-cp38-macosx_10_9_x86_64.whl (1.4 MB view hashes)

Uploaded CPython 3.8 macOS 10.9+ x86-64

correlation_integral-0.0.5-cp37-cp37m-win_amd64.whl (350.7 kB view hashes)

Uploaded CPython 3.7m Windows x86-64

correlation_integral-0.0.5-cp37-cp37m-win32.whl (348.8 kB view hashes)

Uploaded CPython 3.7m Windows x86

correlation_integral-0.0.5-cp37-cp37m-musllinux_1_1_x86_64.whl (841.9 kB view hashes)

Uploaded CPython 3.7m musllinux: musl 1.1+ x86-64

correlation_integral-0.0.5-cp37-cp37m-musllinux_1_1_i686.whl (968.6 kB view hashes)

Uploaded CPython 3.7m musllinux: musl 1.1+ i686

correlation_integral-0.0.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

correlation_integral-0.0.5-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl (1.1 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ i686

correlation_integral-0.0.5-cp37-cp37m-macosx_10_9_x86_64.whl (1.4 MB view hashes)

Uploaded CPython 3.7m macOS 10.9+ x86-64

correlation_integral-0.0.5-cp36-cp36m-win_amd64.whl (350.7 kB view hashes)

Uploaded CPython 3.6m Windows x86-64

correlation_integral-0.0.5-cp36-cp36m-win32.whl (348.8 kB view hashes)

Uploaded CPython 3.6m Windows x86

correlation_integral-0.0.5-cp36-cp36m-musllinux_1_1_x86_64.whl (838.8 kB view hashes)

Uploaded CPython 3.6m musllinux: musl 1.1+ x86-64

correlation_integral-0.0.5-cp36-cp36m-musllinux_1_1_i686.whl (965.0 kB view hashes)

Uploaded CPython 3.6m musllinux: musl 1.1+ i686

correlation_integral-0.0.5-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.17+ x86-64

correlation_integral-0.0.5-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl (1.1 MB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.17+ i686

correlation_integral-0.0.5-cp36-cp36m-macosx_10_9_x86_64.whl (1.4 MB view hashes)

Uploaded CPython 3.6m macOS 10.9+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page