.. _program_listing_file_SPlisHSPlasH_Utilities_MathFunctions.h: Program Listing for File MathFunctions.h ======================================== |exhale_lsh| :ref:`Return to documentation for file ` (``SPlisHSPlasH/Utilities/MathFunctions.h``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #ifndef MATH_FUNCTIONS_H #define MATH_FUNCTIONS_H #include "SPlisHSPlasH/Common.h" // ------------------------------------------------------------------------------------ namespace SPH { class MathFunctions { public: static void extractRotation(const Matrix3r &A, Quaternionr &q, const unsigned int maxIter); static void pseudoInverse(const Matrix3r &a, Matrix3r &res); static void svdWithInversionHandling(const Matrix3r &A, Vector3r &sigma, Matrix3r &U, Matrix3r &VT); static void eigenDecomposition(const Matrix3r &A, Matrix3r &eigenVecs, Vector3r &eigenVals); static void jacobiRotate(Matrix3r &A, Matrix3r &R, int p, int q); static void getOrthogonalVectors(const Vector3r &vec, Vector3r &x, Vector3r &y); static void APD_Newton(const Matrix3r& F, Quaternionr& q); }; } #endif