This is part of the ves module | |
It is only available if you configure PLUMED with ./configure –enable-modules=ves . Furthermore, this feature is still being developed so take care when using it and report any problems on the mailing list. |
Target distribution given by a sum of Gaussian kernels (static).
Employ a target distribution that is given by a sum of multivariate Gaussian (or normal) distributions, defined as
\[ p(\mathbf{s}) = \sum_{i} \, w_{i} \, N(\mathbf{s};\mathbf{\mu}_{i},\mathbf{\Sigma}_{i}) \]
where \(\mathbf{\mu}_{i}=(\mu_{1,i},\mu_{2,i},\ldots,\mu_{d,i})\) and \(\mathbf{\Sigma}_{i}\) are the center and the covariance matrix for the \(i\)-th Gaussian. The weights \(w_{i}\) are normalized to 1, \(\sum_{i}w_{i}=1\).
By default the Gaussian distributions are considered as separable into independent one-dimensional Gaussian distributions. In other words, the covariance matrix is taken as diagonal \(\mathbf{\Sigma}_{i}=(\sigma^2_{1,i},\sigma^2_{2,i},\ldots,\sigma^{2}_{d,i})\). The Gaussian distribution is then written as
\[ N(\mathbf{s};\mathbf{\mu}_{i},\mathbf{\sigma}_{i}) = \prod^{d}_{k} \, \frac{1}{\sqrt{2\pi\sigma^2_{d,i}}} \, \exp\left( -\frac{(s_{d}-\mu_{d,i})^2}{2\sigma^2_{d,i}} \right) \]
where \(\mathbf{\sigma}_{i}=(\sigma_{1,i},\sigma_{2,i},\ldots,\sigma_{d,i})\) is the standard deviation. In this case you need to specify the centers \(\mathbf{\mu}_{i}\) using the numbered CENTER keywords and the standard deviations \(\mathbf{\sigma}_{i}\) using the numbered SIGMA keywords.
For two arguments it is possible to employ bivariate Gaussian kernels with correlation between arguments, defined as
\[ N(\mathbf{s};\mathbf{\mu}_{i},\mathbf{\sigma}_{i},\rho_i) = \frac{1}{2 \pi \sigma_{1,i} \sigma_{2,i} \sqrt{1-\rho_i^2}} \, \exp\left( -\frac{1}{2(1-\rho_i^2)} \left[ \frac{(s_{1}-\mu_{1,i})^2}{\sigma_{1,i}^2}+ \frac{(s_{2}-\mu_{2,i})^2}{\sigma_{2,i}^2}- \frac{2 \rho_i (s_{1}-\mu_{1,i})(s_{2}-\mu_{2,i})}{\sigma_{1,i}\sigma_{2,i}} \right] \right) \]
where \(\rho_i\) is the correlation between \(s_{1}\) and \(s_{2}\) that goes from -1 to 1. In this case the covariance matrix is given as
\[ \mathbf{\Sigma}= \left[ \begin{array}{cc} \sigma^2_{1,i} & \rho_i \sigma_{1,i} \sigma_{2,i} \\ \rho_i \sigma_{1,i} \sigma_{2,i} & \sigma^2_{2,i} \end{array} \right] \]
The correlation \(\rho\) is given using the numbered CORRELATION keywords. A value of \(\rho=0\) means that the arguments are considered as un-correlated, which is the default behavior.
The Gaussian distributions are always defined with the conventional normalization factor such that they are normalized to 1 over an unbounded region. However, in calculation within VES we normally consider bounded region on which the target distribution is defined. Thus, if the center of a Gaussian is close to the boundary of the region it can happen that the tails go outside the region. In that case it might be needed to use the NORMALIZE keyword to make sure that the target distribution is properly normalized to 1 over the bounded region. The code will issue a warning if that is needed.
For periodic CVs it is generally better to use Von Mises distributions instead of Gaussian kernels as these distributions properly account for the periodicity of the CVs.
SHIFT_TO_ZERO | ( default=off ) Shift the minimum value of the target distribution to zero. This can for example be used to avoid negative values in the target distribution. If this option is active the distribution will be automatically normalized. |
NORMALIZE | ( default=off ) Renormalized the target distribution over the intervals on which it is defined to make sure that it is properly normalized to 1. In most cases this should not be needed as the target distributions should be normalized. The code will issue a warning (but still run) if this is needed for some reason. |
CENTER | The centers of the Gaussian distributions. You can use multiple instances of this keyword i.e. CENTER1, CENTER2, CENTER3... |
SIGMA | The standard deviations of the Gaussian distributions. You can use multiple instances of this keyword i.e. SIGMA1, SIGMA2, SIGMA3... |
CORRELATION | The correlation for two-dimensional bivariate Gaussian distributions. Only works for two arguments. The value should be between -1 and 1. If no value is given the Gaussian kernels is considered as un-correlated (i.e. value of 0.0). You can use multiple instances of this keyword i.e. CORRELATION1, CORRELATION2, CORRELATION3... |
WEIGHTS | The weights of the Gaussian distributions. Have to be as many as the number of centers given with the numbered CENTER keywords. If no weights are given the distributions are weighted equally. The weights are automatically normalized to 1. |
WELLTEMPERED_FACTOR | Broaden the target distribution such that it is taken as [p(s)]^(1/ \(\gamma\)) where \(\gamma\) is the well tempered factor given here. If this option is active the distribution will be automatically normalized. |
One single Gaussian kernel in one-dimension.
td: TD_GAUSSIAN CENTER1=-1.5 SIGMA1=0.8
Sum of three Gaussian kernels in two-dimensions with equal weights as no weights are given.
TD_GAUSSIAN ... CENTER1=-1.5,+1.5 SIGMA1=0.8,0.3 CENTER2=+1.5,-1.5 SIGMA2=0.3,0.8 CENTER3=+1.5,+1.5 SIGMA3=0.4,0.4 LABEL=td ... TD_GAUSSIAN
Sum of three Gaussian kernels in two-dimensions which are weighted unequally. Note that weights are automatically normalized to 1 so that WEIGHTS=1.0,2.0,1.0 is equal to specifying WEIGHTS=0.25,0.50,0.25.
TD_GAUSSIAN ... CENTER1=-1.5,+1.5 SIGMA1=0.8,0.3 CENTER2=+1.5,-1.5 SIGMA2=0.3,0.8 CENTER3=+1.5,+1.5 SIGMA3=0.4,0.4 WEIGHTS=1.0,2.0,1.0 LABEL=td ... TD_GAUSSIAN
Sum of two bivariate Gaussian kernels where there is correlation of \(\rho_{2}=0.75\) between the two arguments for the second Gaussian.
TD_GAUSSIAN ... CENTER1=-1.5,+1.5 SIGMA1=0.8,0.3 CENTER2=+1.5,-1.5 SIGMA2=0.3,0.8 CORRELATION2=0.75 LABEL=td ... TD_GAUSSIAN