This is the Matlab code for Complexity Invariance Distance (Source)
Q and C are 1d-arrays with similar length.
function d = CID(Q, C)
CE_Q = sqrt(sum(diff(Q).^2));
CE_C = sqrt(sum(diff(C).^2));
d = sqrt(sum((Q - C).^2)) * (max(CE_Q,CE_C)/min(CE_Q,CE_C));
This is my pythonic translation:
def cid_dist(Q,C):
import numpy as np
CE_Q = np.sqrt(np.sum(np.diff(Q)**2))
CE_C= np.sqrt(np.sum(np.diff(C)**2))
d = np.sqrt(np.sum((Q - C)**2)) * (np.maximum(CE_Q,CE_C)/np.minimum(CE_Q,CE_C))
return d
Is it correct?
More...