Loading...
Searching...
No Matches
jrlMathTools Namespace Reference

Classes

class  Angle
 This class implements simple computations on angles. More...
 
struct  Matrix3x3
 Generic 3x3 matrix. More...
 
struct  Matrix4x4
 Generic 4x4 matrix. More...
 
struct  Vector3D
 Generic 3d vector. More...
 
struct  Vector4D
 Generic 4D vector. More...
 

Functions

double degreeToRadian (const double &x)
 
double radianToDegree (const double &x)
 
template<typename T >
Angle operator* (const T &coef, const Angle &angle)
 
double cos (const Angle &angle)
 
double sin (const Angle &angle)
 
double tan (const Angle &angle)
 
std::ostream & display (std::ostream &os, const Angle &angle)
 
template<typename T >
std::ostream & operator<< (std::ostream &os, const Matrix3x3< T > &m)
 
template<typename T >
std::ostream & operator<< (std::ostream &os, const Matrix4x4< T > &m)
 
void _resize (matrixNxP &mat1, const matrixNxP &mat2)
 
void _resizeInv (matrixNxP &res, const matrixNxP &mat2)
 
matrixNxPpseudoInverse (const matrixNxP &matrix, matrixNxP &outInverse, const double threshold=1e-6, matrixNxP *Uref=0, vectorN *Sref=0, matrixNxP *Vref=0)
 Compute the pseudo-inverse of the matrix.
 
matrixNxP dampedInverse (const matrixNxP &inMatrix, matrixNxP &invMatrix, const double threshold=1e-6, matrixNxP *Uref=0, vectorN *Sref=0, matrixNxP *Vref=0)
 
template<typename T >
std::ostream & operator<< (std::ostream &os, const Vector3D< T > &v)
 
template<typename T >
std::ostream & operator<< (std::ostream &os, const Vector4D< T > &v)
 

Variables

static const bool AUTORESIZE = true
 
static const bool CHECKRESIZE = true
 

Detailed Description

This is a very fast and simple implementation of a 3D matrix class of double.

Copyright 2008, 2009, 2010, Olivier Stasse, Florent Lamiraux, Francois Keith, Eiichi Yoshida, CNRS/AIST

This file is part of jrl-mathtools. jrl-mathtools is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

jrl-mathtools is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with jrl-mathtools. If not, see http://www.gnu.org/licenses/.

Function Documentation

◆ _resize()

void jrlMathTools::_resize ( matrixNxP & mat1,
const matrixNxP & mat2 )

References AUTORESIZE.

Referenced by dampedInverse().

◆ _resizeInv()

void jrlMathTools::_resizeInv ( matrixNxP & res,
const matrixNxP & mat2 )

References AUTORESIZE.

Referenced by dampedInverse(), and pseudoInverse().

◆ cos()

double jrlMathTools::cos ( const Angle & angle)
inline

◆ dampedInverse()

matrixNxP jrlMathTools::dampedInverse ( const matrixNxP & inMatrix,
matrixNxP & invMatrix,
const double threshold = 1e-6,
matrixNxP * Uref = 0,
vectorN * Sref = 0,
matrixNxP * Vref = 0 )

◆ degreeToRadian()

double jrlMathTools::degreeToRadian ( const double & x)
inline

References M_PI.

Referenced by jrlMathTools::Angle::degree().

◆ display()

std::ostream & jrlMathTools::display ( std::ostream & os,
const Angle & angle )
inline

◆ operator*()

template<typename T >
Angle jrlMathTools::operator* ( const T & coef,
const Angle & angle )

◆ operator<<() [1/4]

template<typename T >
std::ostream & jrlMathTools::operator<< ( std::ostream & os,
const Matrix3x3< T > & m )
inline

◆ operator<<() [2/4]

template<typename T >
std::ostream & jrlMathTools::operator<< ( std::ostream & os,
const Matrix4x4< T > & m )
inline

◆ operator<<() [3/4]

template<typename T >
std::ostream & jrlMathTools::operator<< ( std::ostream & os,
const Vector3D< T > & v )

◆ operator<<() [4/4]

template<typename T >
std::ostream & jrlMathTools::operator<< ( std::ostream & os,
const Vector4D< T > & v )
inline

◆ pseudoInverse()

matrixNxP & jrlMathTools::pseudoInverse ( const matrixNxP & matrix,
matrixNxP & outInverse,
const double threshold = 1e-6,
matrixNxP * Uref = 0,
vectorN * Sref = 0,
matrixNxP * Vref = 0 )

Compute the pseudo-inverse of the matrix.

By default, the function uses the dgesvd_ fortran routine. It should be provided by the host software.

References _resizeInv(), dgesvd_(), MRAWDATA, and VRAWDATA.

◆ radianToDegree()

double jrlMathTools::radianToDegree ( const double & x)
inline

References M_PI.

Referenced by jrlMathTools::Angle::degree().

◆ sin()

double jrlMathTools::sin ( const Angle & angle)
inline

◆ tan()

double jrlMathTools::tan ( const Angle & angle)
inline

Variable Documentation

◆ AUTORESIZE

const bool jrlMathTools::AUTORESIZE = true
static

Referenced by _resize(), and _resizeInv().

◆ CHECKRESIZE

const bool jrlMathTools::CHECKRESIZE = true
static