Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Derivatives of RMSD #1138

Closed
lizhuzh opened this issue Oct 16, 2024 · 3 comments
Closed

Derivatives of RMSD #1138

lizhuzh opened this issue Oct 16, 2024 · 3 comments

Comments

@lizhuzh
Copy link

lizhuzh commented Oct 16, 2024

Hi PLUMED developers,

In the definition of RMSD:

image

there is a M matrix calculated from Kearsley algorithm. When calculating the derivative of RMSD, there should be a term containing

eq

I took a look at the source code OptimalRMSD.cpp and I did not find the code is calculating terms containing this derivative. Am I understanding the source code wrong? Or is this derivative automatically zero after the minimization in Kearsley algorithm?

Thanks,
Lizhu

@HanatoK
Copy link
Contributor

HanatoK commented Oct 16, 2024

RMSD is probably a special case where the derivatives of rotation matrix with respect to the coordinates vanish (see also Colvars/colvars#570 (comment)).

@GiovanniBussi
Copy link
Member

@lizhuzh one easy way of seeing this is this: M is defined as the matrix that minimizes the MSD. Hence, the derivative of the MDS with respect to M is zero.

The term that seems to be missing is: d(MSD) / dM times dM / dX.

dM / dX (derivatives of rotation matrix with respect to the coordinates) is not zero. However, d(MSD) / dM (derivatives of the MSD with respect to the rotational matrix) is zero. So the product is zero as well.

The term is instead present when the groups (or weights) used for alignment and for displacement calculations differ.

I hope this helps

@lizhuzh
Copy link
Author

lizhuzh commented Oct 16, 2024

@lizhuzh one easy way of seeing this is this: M is defined as the matrix that minimizes the MSD. Hence, the derivative of the MDS with respect to M is zero.

The term that seems to be missing is: d(MSD) / dM times dM / dX.

dM / dX (derivatives of rotation matrix with respect to the coordinates) is not zero. However, d(MSD) / dM (derivatives of the MSD with respect to the rotational matrix) is zero. So the product is zero as well.

The term is instead present when the groups (or weights) used for alignment and for displacement calculations differ.

I hope this helps

This helps a lot! Thanks for clarifying it!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants