diff --git a/modules/geom/src/vec3.cc b/modules/geom/src/vec3.cc index d55ab5d2ca8ec784ee4e637a40b4de2e6d200b46..a69b2682d7d53aaaf8970b165d068c1adb228988 100644 --- a/modules/geom/src/vec3.cc +++ b/modules/geom/src/vec3.cc @@ -60,7 +60,7 @@ Mat3 Vec3List::GetPrincipalAxes() const Mat3 inertia=this->GetInertia(); EMat3 inertia_mat(inertia.Data()); - Eigen::JacobiSVD<EMat3> svd(inertia_mat,Eigen::ComputeThinU); + Eigen::JacobiSVD<EMat3> svd(inertia_mat,Eigen::ComputeFullU); EMat3 rot=svd.matrixU(); Mat3 axes(rot.data()); return axes; diff --git a/modules/mol/alg/src/superpose_frames.cc b/modules/mol/alg/src/superpose_frames.cc index 8c7c789a7dcbf664262e05703469bc3cb5bc84c8..ef8ebe9216de6d6cbc69b918509e6c37d044367b 100644 --- a/modules/mol/alg/src/superpose_frames.cc +++ b/modules/mol/alg/src/superpose_frames.cc @@ -97,7 +97,7 @@ void AddSuperposedFrame(CoordGroupHandle& superposed, EMatX3& ref_mat,EMatX3& re frame_center=frame_mat.rowwise().sum()/frame_mat.cols(); frame_centered=row_sub(frame_mat, frame_center); //single value decomposition - Eigen::JacobiSVD<EMat3> svd(frame_centered*ref_centered,Eigen::ComputeThinU | Eigen::ComputeThinV); + Eigen::JacobiSVD<EMat3> svd(frame_centered*ref_centered,Eigen::ComputeFullU | Eigen::ComputeFullV); EMat3 matrixVT=svd.matrixV().transpose(); //determine rotation Real detv=matrixVT.determinant(); diff --git a/modules/mol/alg/src/svd_superpose.cc b/modules/mol/alg/src/svd_superpose.cc index c8c068c0be576bab51592b701f83c07d598670f0..89d6fcfdb50ef748af8c97c5a7a5041359efc8f7 100644 --- a/modules/mol/alg/src/svd_superpose.cc +++ b/modules/mol/alg/src/svd_superpose.cc @@ -376,7 +376,7 @@ SuperpositionResult MeanSquareMinimizerImpl::Minimize(const EMatX& atoms, const EMatX atoms_ref_shifted = MatrixShiftedBy(atoms_ref, avg_ref).transpose(); // determine rotational component - Eigen::JacobiSVD<EMat3> svd(atoms_ref_shifted*atoms_shifted,Eigen::ComputeThinU | Eigen::ComputeThinV); + Eigen::JacobiSVD<EMat3> svd(atoms_ref_shifted*atoms_shifted,Eigen::ComputeFullU | Eigen::ComputeFullV); EMatX matrixVT=svd.matrixV().transpose(); //determine rotation