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

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

References AUTORESIZE.

Referenced by dampedInverse().

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

References AUTORESIZE.

Referenced by dampedInverse(), and pseudoInverse().

double jrlMathTools::cos ( const Angle &  angle) [inline]
matrixNxP jrlMathTools::dampedInverse ( const matrixNxP inMatrix,
matrixNxP invMatrix,
const double  threshold = 1e-6,
matrixNxP Uref = 0,
vectorN Sref = 0,
matrixNxP Vref = 0 
)
double jrlMathTools::degreeToRadian ( const double &  x) [inline]

References M_PI.

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

std::ostream& jrlMathTools::display ( std::ostream &  os,
const Angle &  angle 
) [inline]
template<typename T >
Angle jrlMathTools::operator* ( const T &  coef,
const Angle &  angle 
)
template<typename T >
std::ostream& jrlMathTools::operator<< ( std::ostream &  os,
const Vector3D< T > &  v 
)
template<typename T >
std::ostream& jrlMathTools::operator<< ( std::ostream &  os,
const Vector4D< T > &  v 
) [inline]
template<typename T >
std::ostream& jrlMathTools::operator<< ( std::ostream &  os,
const Matrix3x3< T > &  m 
) [inline]
template<typename T >
std::ostream& jrlMathTools::operator<< ( std::ostream &  os,
const Matrix4x4< T > &  m 
) [inline]
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.

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

References M_PI.

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

double jrlMathTools::sin ( const Angle &  angle) [inline]
double jrlMathTools::tan ( const Angle &  angle) [inline]

Variable Documentation

const bool jrlMathTools::AUTORESIZE = true [static]

Referenced by _resize(), and _resizeInv().

const bool jrlMathTools::CHECKRESIZE = true [static]