Is this an implementation of SRVs reported in https://doi.org/10.1063/1.5092521? If so, as I read in the paper the loss function in Figure 1 only includes C00 ($\mathrm{E}\left[f_{j}(x_t)f_{i}(x_t)\right]$)
and C01 ($\mathrm{E}\left[f_{j}(x_t)f_{i}(x_{t+\tau})\right]$), but in the code (
|
C10 = 1/(N - 1)*K.dot(K.transpose(z_tt), z_t0) |
|
C11 = 1/(N - 1)*K.dot(K.transpose(z_tt), z_tt) |
|
|
|
if not self.reversible: |
|
vamp_matrix = K.dot(K.dot(_inv(C00, ret_sqrt=True), C01), _inv(C11, ret_sqrt=True)) |
|
vamp_score = tf.norm(vamp_matrix) |
|
return -1.0 - tf.square(vamp_score) |
|
else: |
|
C0 = 0.5*(C00 + C11) |
|
C1 = 0.5*(C01 + C10) |
|
|
|
L = tf.cholesky(C0) |
|
Linv = tf.matrix_inverse(L) |
|
|
|
A = K.dot(K.dot(Linv, C1), K.transpose(Linv)) |
|
|
|
lambdas, _ = tf.self_adjoint_eig(A) |
|
return -1.0 - K.sum(self.weights*lambdas**2) |
)
why are C10 and C11 involved?
Is this an implementation of SRVs reported in https://doi.org/10.1063/1.5092521? If so, as I read in the paper the loss function in Figure 1 only includes C00 ($\mathrm{E}\left[f_{j}(x_t)f_{i}(x_t)\right]$ )$\mathrm{E}\left[f_{j}(x_t)f_{i}(x_{t+\tau})\right]$ ), but in the code (
and C01 (
srv/hde/hde.py
Lines 301 to 318 in 6887ef4
why are C10 and C11 involved?