chrono::fea::PolarDecomposition Class Reference
Description
Polar decomposition of a general 3x3 matrix.
This class is wrapped by ChPolarDecomposition. It is based on VEGA (J. Barbic).
#include <ChPolarDecomposition.h>
Static Public Member Functions | |
static double | Compute (const double *M, double *Q, double *S, double tolerance=1E-6) |
Computes the Polar Decomposition of a general 3x3 matrix M. More... | |
Static Protected Member Functions | |
static double | oneNorm (const double *A) |
static double | infNorm (const double *A) |
static void | crossProduct (const double *a, const double *b, double *c) |
Member Function Documentation
◆ Compute()
|
static |
Computes the Polar Decomposition of a general 3x3 matrix M.
M = Q * S. M is 3x3 input matrix. Q is 3x3 orthogonal output matrix, Q Q^T = Q^T Q = I. S is 3x3 symmetric output matrix. Note: det(Q)=sgn(det(M)); this sign can be 1 or -1, depending on M. M is not modified. All matrices are row-major.
The documentation for this class was generated from the following files:
- /builds/uwsbel/chrono/src/chrono/fea/ChPolarDecomposition.h
- /builds/uwsbel/chrono/src/chrono/fea/ChPolarDecomposition.cpp