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

Matrix Product Error in Kabsh Model #15

Open
smiles724 opened this issue Sep 5, 2022 · 1 comment
Open

Matrix Product Error in Kabsh Model #15

smiles724 opened this issue Sep 5, 2022 · 1 comment

Comments

@smiles724
Copy link

Hi, dear authors of Equidock, I feel really sad to hear the news that Ganea passed away without fully showing his extraordinary genius.

I came across the calculation of the Kabsh Model and found that the computation of the rotation matrix is somehow misleading. To be specific, U, S, Vt = np.linalg.svd(H) gives us the U, S, V^T, which corresponds to U2, S, U1^T in the paper. Next, the rotation matrix is obtained via R = Vt.T @ U.T, which is different from what is described in the text. Instead, R = U2 @ U^T, which should be R = U @ Vt in the code. Do you agree with me?

@AxelGiottonini
Copy link

AxelGiottonini commented Dec 2, 2022

Hey !

So if we take their code, we get Rc = Vt.T @ U.T = (U @ Vt).T. In the article, they make the correspondances U2->U, U1.T->Vt and the rotation matrix is thus defined as Ra = U2 @ U1.T = U @ Vt = Rc.T. The rotation matrix used in the code Rc is thus the inverse of the rotation matrix used in the article Ra. So yes, I agree with you.

Have you tried changing the function and if so did it present different results from what was obtained in the article ?

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

2 participants