methods.h File Reference

Introduction

Interfaces of the ortonormalization mehods.

Definition in file methods.h.

Typedefs

typedef void ONMethod(Matrix3 &, Matrix3 &)
 Common interface for all orthnomalization methods. More...
 

Functions

void ExactMethod (Matrix3 &X, Matrix3 &R)
 Exact method. More...
 
void ApproxMethod (Matrix3 &X, Matrix3 &R)
 Approximated method. More...
 
void CayleyMethod (Matrix3 &X, Matrix3 &R)
 Cayley method. More...
 
void SVDMethodEigen (Matrix3 &X, Matrix3 &R)
 SVD-based method. More...
 
void SVDMethodIQRSVD (Matrix3 &X, Matrix3 &R)
 SVD-based method. More...
 

Typedef Documentation

◆ ONMethod

typedef void ONMethod(Matrix3 &, Matrix3 &)

Common interface for all orthnomalization methods. The first parameter is the output corrected matrix and the second the input noisy matrix.

This template is used to pass the ortonormalization function as a parameter.

Definition at line 24 of file methods.h.

Function Documentation

◆ ExactMethod()

void ExactMethod ( Matrix3 X,
Matrix3 R 
)

Implementation of the exact closed formula.

Parameters
XThe corrected output matrix.
RThe input noisy matrix.

Definition at line 12 of file ExactMethod.cpp.

References real.

Referenced by main().

◆ ApproxMethod()

void ApproxMethod ( Matrix3 X,
Matrix3 R 
)

Implementation of the approximated closed formula.

Parameters
XThe corrected output matrix.
RThe input noisy matrix.

Definition at line 11 of file ApproxMethod.cpp.

References Quat2Mat(), and sign.

Referenced by main().

◆ CayleyMethod()

void CayleyMethod ( Matrix3 X,
Matrix3 R 
)

Implementation of the Cayley method.

Parameters
XThe corrected output matrix.
RThe input noisy matrix.

Definition at line 11 of file CayleyMethod.cpp.

References Quat2Mat(), and sign.

Referenced by main().

◆ SVDMethodEigen()

void SVDMethodEigen ( Matrix3 X,
Matrix3 R 
)

Implementation of the SVD-based method using the SVD implemetation provided by Eigen. In particular we use the two-sided Jacobi SVD decomposition method for rectangular matrices.

Parameters
XThe corrected output matrix.
RThe input noisy matrix.

Definition at line 11 of file SVDMethodEigen.cpp.

Referenced by main().

◆ SVDMethodIQRSVD()

void SVDMethodIQRSVD ( Matrix3 X,
Matrix3 R 
)

Implementation of the SVD-based method using the SVD implemetation described in:

  • T. Gast, C. Fu, C. Jiang and J. Teran, "Implicit-shifted Symmetric QR Singular Value Decomposition of 3x3 Matrices," University of California Los Angeles, 2016.

We directly interface the implementation kindly provided by the authors.

Parameters
XThe corrected output matrix.
RThe input noisy matrix.

Definition at line 20 of file SVDMethodIQRSVD.cpp.

Referenced by main().