Classes | Typedefs | Enumerations | Functions
Math

Classes

class  vcg::ndim::Matrix< TYPE >
class  vcg::ndim::MatrixDiag< N, S >
class  vcg::ndim::MatrixDiagBase

Typedefs

typedef vcg::ndim::Matrix< double > vcg::ndim::MatrixMNd
typedef vcg::ndim::Matrix< float > vcg::ndim::MatrixMNf

Enumerations

enum  vcg::SortingStrategy { vcg::LeaveUnsorted = 0, vcg::SortAscending = 1, vcg::SortDescending = 2 }

Functions

template<typename MATRIX_TYPE , typename POINT_TYPE >
static void vcg::Jacobi (MATRIX_TYPE &w, POINT_TYPE &d, MATRIX_TYPE &v, int &nrot)
template<typename MATRIX_TYPE >
static void vcg::JacobiRotate (MATRIX_TYPE &A, typename MATRIX_TYPE::ScalarType s, typename MATRIX_TYPE::ScalarType tau, int i, int j, int k, int l)
template<typename TYPE >
static TYPE vcg::pythagora (TYPE a, TYPE b)
template<class S >
void vcg::RotationalPartByPolarDecomposition (const vcg::Matrix33< S > &m, vcg::Matrix33< S > &r)
template<typename TYPE >
static TYPE vcg::sign (TYPE a, TYPE b)
template<typename MATRIX_TYPE >
static void vcg::SingularValueBacksubstitution (const MATRIX_TYPE &U, const typename MATRIX_TYPE::ScalarType *W, const MATRIX_TYPE &V, typename MATRIX_TYPE::ScalarType *x, const typename MATRIX_TYPE::ScalarType *b)
template<typename MATRIX_TYPE >
static bool vcg::SingularValueDecomposition (MATRIX_TYPE &A, typename MATRIX_TYPE::ScalarType *W, MATRIX_TYPE &V, const SortingStrategy sorting=LeaveUnsorted, const int max_iters=30)
template<typename MATRIX_TYPE >
void vcg::Sort (MATRIX_TYPE &U, typename MATRIX_TYPE::ScalarType W[], MATRIX_TYPE &V, const SortingStrategy sorting)
template<typename MATRIX_TYPE , typename POINT_TYPE >
void vcg::SortEigenvaluesAndEigenvectors (POINT_TYPE &eigenvalues, MATRIX_TYPE &eigenvectors, bool absComparison=false)
template<typename TYPE >
static TYPE vcg::sqr (TYPE a)

Typedef Documentation

Definition at line 761 of file old_deprecated_matrix.h.

Definition at line 762 of file old_deprecated_matrix.h.


Enumeration Type Documentation

Enumerator:
LeaveUnsorted 
SortAscending 
SortDescending 

Definition at line 251 of file old_lin_algebra.h.


Function Documentation

template<typename MATRIX_TYPE , typename POINT_TYPE >
static void vcg::Jacobi ( MATRIX_TYPE &  w,
POINT_TYPE &  d,
MATRIX_TYPE &  v,
int &  nrot 
) [static]

Computes all eigenvalues and eigenvectors of a real symmetric matrix . On output, elements of the input matrix above the diagonal are destroyed.

Parameters:
dreturns the eigenvalues of a.
vis a matrix whose columns contain, the normalized eigenvectors
nrotreturns the number of Jacobi rotations that were required.

Definition at line 83 of file old_lin_algebra.h.

template<typename MATRIX_TYPE >
static void vcg::JacobiRotate ( MATRIX_TYPE &  A,
typename MATRIX_TYPE::ScalarType  s,
typename MATRIX_TYPE::ScalarType  tau,
int  i,
int  j,
int  k,
int  l 
) [static]

Definition at line 67 of file old_lin_algebra.h.

template<typename TYPE >
static TYPE vcg::pythagora ( TYPE  a,
TYPE  b 
) [inline, static]

Definition at line 232 of file old_lin_algebra.h.

template<class S >
void vcg::RotationalPartByPolarDecomposition ( const vcg::Matrix33< S > &  m,
vcg::Matrix33< S > &  r 
)

Extract the rotational part of a matrix by polar decomposition m = R*S. Polar decomposition is computed by taking r = m * sqrt(m^t*m)^{-1}

Definition at line 39 of file polar_decomposition.h.

template<typename TYPE >
static TYPE vcg::sign ( TYPE  a,
TYPE  b 
) [inline, static]

Definition at line 243 of file old_lin_algebra.h.

template<typename MATRIX_TYPE >
static void vcg::SingularValueBacksubstitution ( const MATRIX_TYPE &  U,
const typename MATRIX_TYPE::ScalarType W,
const MATRIX_TYPE &  V,
typename MATRIX_TYPE::ScalarType x,
const typename MATRIX_TYPE::ScalarType b 
) [static]

Solves AxX = B for a vector X, where A is specified by the matrices Umxn, Wnx1 and Vnxn as returned by SingularValueDecomposition. No input quantities are destroyed, so the routine may be called sequentially with different bxs.

Parameters:
xis the output solution vector (xnx1)
bis the input right-hand side (bnx1)

Definition at line 624 of file old_lin_algebra.h.

template<typename MATRIX_TYPE >
static bool vcg::SingularValueDecomposition ( MATRIX_TYPE &  A,
typename MATRIX_TYPE::ScalarType W,
MATRIX_TYPE &  V,
const SortingStrategy  sorting = LeaveUnsorted,
const int  max_iters = 30 
) [static]

Given a matrix Amxn, this routine computes its singular value decomposition, i.e. A=UxWxVT. The matrix A will be destroyed! (This is the implementation described in Numerical Recipies).

Parameters:
Athe matrix to be decomposed
Wthe diagonal matrix of singular values W, stored as a vector W[1...N]
Vthe matrix V (not the transpose VT)
max_itersmax iteration number (default = 30).
Returns:

Definition at line 267 of file old_lin_algebra.h.

template<typename MATRIX_TYPE >
void vcg::Sort ( MATRIX_TYPE &  U,
typename MATRIX_TYPE::ScalarType  W[],
MATRIX_TYPE &  V,
const SortingStrategy  sorting 
)

Sort the singular values computed by the SingularValueDecomposition procedure and modify the matrices U and V accordingly.

Definition at line 524 of file old_lin_algebra.h.

template<typename MATRIX_TYPE , typename POINT_TYPE >
void vcg::SortEigenvaluesAndEigenvectors ( POINT_TYPE &  eigenvalues,
MATRIX_TYPE &  eigenvectors,
bool  absComparison = false 
)

Given the eigenvectors and the eigenvalues as output from JacobiRotate, sorts the eigenvalues into descending order, and rearranges the columns of v correspondinlgy.

Parameters:
eigenvalues
eigenvector(in columns)
absComparisonsort according to the absolute values of the eigenvalues.

Definition at line 180 of file old_lin_algebra.h.

template<typename TYPE >
static TYPE vcg::sqr ( TYPE  a) [inline, static]

Definition at line 224 of file old_lin_algebra.h.



shape_reconstruction
Author(s): Roberto Martín-Martín
autogenerated on Sat Jun 8 2019 18:39:00