From 02ec8804d0834dd3cbee827dabcb74d81a3feb43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Ne=C4=8Dada?= Date: Tue, 12 Mar 2019 22:22:02 +0200 Subject: [PATCH] Fix quaternion conjugation order on vector rotation. Now it does not crash on C4v and the projectors seem to be indeed projectors, but the translation operator decomposition is still wrong. Former-commit-id: 6273c5a76b4e424f77b12514df209b995999b24b --- qpms/wigner.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/qpms/wigner.h b/qpms/wigner.h index d37c031..c98de1b 100644 --- a/qpms/wigner.h +++ b/qpms/wigner.h @@ -152,8 +152,8 @@ static inline cart3_t qpms_quat_rot_cart3(qpms_quat_t q, const cart3_t v) { //const qpms_quat_t qc = qpms_quat_normalise(qpms_quat_pow(q, -1)); // implementation of _pow wrong! const qpms_quat_t qc = qpms_quat_conj(q); const qpms_quat_t vv = qpms_quat_from_cart3(v); - return qpms_quat_to_cart3(qpms_quat_mult(qc, - qpms_quat_mult(vv, q))); + return qpms_quat_to_cart3(qpms_quat_mult(q, + qpms_quat_mult(vv, qc))); } /// Wigner D matrix element from a rotator quaternion for integer \a l.