예제 #1
0
파일: ref_corr.py 프로젝트: chatipat/ivac
def c0_all(trajs):
    nfeatures = get_nfeatures(trajs)
    numer = np.zeros((nfeatures, nfeatures))
    denom = 0.0
    for traj in trajs:
        numer += traj.T @ traj
        denom += len(traj)
    return numer / denom
예제 #2
0
파일: ref_corr.py 프로젝트: chatipat/ivac
def c0_trunc(trajs, cutlag):
    nfeatures = get_nfeatures(trajs)
    numer = np.zeros((nfeatures, nfeatures))
    denom = 0.0
    for traj in trajs:
        x = traj[: len(traj) - cutlag]
        numer += x.T @ x
        denom += len(x)
    return numer / denom
예제 #3
0
파일: ref_corr.py 프로젝트: chatipat/ivac
def c0_rt(trajs, cutlag, weights):
    nfeatures = get_nfeatures(trajs)
    numer = np.zeros((nfeatures, nfeatures))
    denom = 0.0
    for traj, weight in zip(trajs, weights):
        x = traj[: len(traj) - cutlag]
        w = weight[: len(traj) - cutlag]
        numer += np.einsum("n,ni,nj", w, x, x)
        denom += np.sum(w)
    return numer / denom
예제 #4
0
파일: ref_corr.py 프로젝트: chatipat/ivac
def c0_all_adj_ct(trajs, lag):
    nfeatures = get_nfeatures(trajs)
    numer = np.zeros((nfeatures, nfeatures))
    denom = 0.0
    for traj in trajs:
        x = traj[: len(traj) - lag]
        y = traj[lag:]
        numer += x.T @ x + y.T @ y
        denom += 2 * len(x)
    return numer / denom
예제 #5
0
파일: ref_corr.py 프로젝트: chatipat/ivac
def ct_ra(trajs, lag, cutlag, weights):
    nfeatures = get_nfeatures(trajs)
    numer = np.zeros((nfeatures, nfeatures))
    denom = 0.0
    for traj, weight in zip(trajs, weights):
        w = weight[: len(traj) - cutlag]
        for shift in range(cutlag - lag + 1):
            x = traj[shift : shift + len(traj) - cutlag]
            y = traj[shift + lag : shift + len(traj) - cutlag + lag]
            numer += np.einsum("n,ni,nj", w, x, y)
            denom += np.sum(w)
    return numer / denom
예제 #6
0
파일: ref_corr.py 프로젝트: chatipat/ivac
def ic_trunc(trajs, lags, cutlag):
    nfeatures = get_nfeatures(trajs)
    ic = np.zeros((nfeatures, nfeatures))
    for lag in lags:
        ic += ct_trunc(trajs, lag, cutlag)
    return ic
예제 #7
0
파일: ref_corr.py 프로젝트: chatipat/ivac
def c0_all_adj_ic(trajs, lags):
    nfeatures = get_nfeatures(trajs)
    c0 = np.zeros((nfeatures, nfeatures))
    for lag in lags:
        c0 += c0_all_adj_ct(trajs, lag)
    return c0 / len(lags)
예제 #8
0
파일: ref_corr.py 프로젝트: chatipat/ivac
def ic_all(trajs, lags):
    nfeatures = get_nfeatures(trajs)
    ic = np.zeros((nfeatures, nfeatures))
    for lag in lags:
        ic += ct_all(trajs, lag)
    return ic
예제 #9
0
파일: ref_corr.py 프로젝트: chatipat/ivac
def c0_ra_adj_ic(trajs, lags, cutlag, weights):
    nfeatures = get_nfeatures(trajs)
    c0 = np.zeros((nfeatures, nfeatures))
    for lag in lags:
        c0 += c0_ra_adj_ct(trajs, lags, cutlag, weights)
    return c0 / len(lags)
예제 #10
0
파일: ref_corr.py 프로젝트: chatipat/ivac
def ic_ra(trajs, lags, cutlag, weights):
    nfeatures = get_nfeatures(trajs)
    ic = np.zeros((nfeatures, nfeatures))
    for lag in lags:
        ic += ct_ra(trajs, lag, cutlag, weights)
    return ic