ESyS-Particle  4.0.1
Public Member Functions | Static Public Member Functions | Friends | List of all members
Matrix3 Class Reference

3x3 Matrix More...

#include <Matrix3.h>

Public Member Functions

MATRIX3_INLINE Matrix3 (const Vec3 &, const Vec3 &, const Vec3 &)
MATRIX3_INLINE Matrix3 (const double[3][3])
MATRIX3_INLINE Matrix3 (const Matrix3 &)
MATRIX3_INLINE double det ()
Vec3 solve (const Vec3 &) const
Vec3 solve_homogeneous () const
void invert ()
 in-situ inversion
MATRIX3_INLINE Matrix3 inv ()
 return inverse;
MATRIX3_INLINE void transpose ()
 transpose in situ
MATRIX3_INLINE Matrix3 trans () const
 return transposed
MATRIX3_INLINE Vec3 operator* (const Vec3 &) const
MATRIX3_INLINE Matrix3 operator* (double) const
MATRIX3_INLINE Matrix3 operator/ (double) const
MATRIX3_INLINE Matrix3 operator* (const Matrix3 &) const
MATRIX3_INLINE Matrix3operator+= (const Matrix3 &)
MATRIX3_INLINE Matrix3 operator+ (const Matrix3 &) const
MATRIX3_INLINE Matrix3 operator- (const Matrix3 &) const
MATRIX3_INLINE bool operator== (const Matrix3 &) const
MATRIX3_INLINE Matrix3operator= (const Matrix3 &)
MATRIX3_INLINE double trace () const
MATRIX3_INLINE double norm () const
MATRIX3_INLINE double operator() (int i, int j) const
MATRIX3_INLINE double & operator() (int i, int j)
void eigen (Vec3 &, Vec3 &, Vec3 &, double &, double &, double &)

Static Public Member Functions

static MATRIX3_INLINE Matrix3 Unit ()
 eigenvectors, eigenvalues

Friends

MATRIX3_INLINE friend Matrix3 operator* (double, const Matrix3 &)
 generate matrix from vector
MATRIX3_INLINE friend Matrix3 star (const Vec3 &)
 generate unit matrix
MATRIX3_INLINE friend ostream & operator<< (ostream &, const Matrix3 &)

Detailed Description

3x3 Matrix

Author
Steffen Abe $Revision$ $Date$

Member Function Documentation

MATRIX3_INLINE double Matrix3::det ( )

Determinant

Referenced by eigen().

Here is the caller graph for this function:

void Matrix3::eigen ( Vec3 v1,
Vec3 v2,
Vec3 v3,
double &  e1,
double &  e2,
double &  e3 
)

calculate eigenvectors & eigenvalues

Returns
v1 eigenvector with largest eigenvalue
v2 eigenvector with middle eigenvalue
v3 eigenvector with smalles eigenvalue
e1 largest eigenvalue
e2 middle eigenvalue
e3 smalles eigenvalue

References det(), CubicEquation::getRealRoots(), solve_homogeneous(), and Unit().

Referenced by PointCloud::getFitPlane().

Here is the call graph for this function:

Here is the caller graph for this function:

MATRIX3_INLINE double Matrix3::norm ( ) const

calculate the euclidian norm of a matrix

MATRIX3_INLINE Matrix3 Matrix3::operator+ ( const Matrix3 rhs) const

add two matrices

MATRIX3_INLINE Matrix3 Matrix3::operator- ( const Matrix3 rhs) const

subtract two matrices

Vec3 Matrix3::solve_homogeneous ( ) const

Solve the homogeneous system Mx=(0,0,0). It is assumed that rank(M)=2. A unit vector is returned;

Referenced by eigen().

Here is the caller graph for this function:

MATRIX3_INLINE double Matrix3::trace ( ) const

calculate the trace of a matrix

Referenced by CParticle::sigma_d().

Here is the caller graph for this function:

Friends And Related Function Documentation

MATRIX3_INLINE friend Matrix3 operator* ( double  d,
const Matrix3 M 
)
friend

generate matrix from vector

scalar * matrix


The documentation for this class was generated from the following files: