Milena (Olena)  User documentation 2.0a Id
 All Classes Namespaces Functions Variables Typedefs Enumerator Groups Pages
mln::algebra Namespace Reference

Namespace of algebraic structure. More...

Classes

struct  h_mat
 N-Dimensional matrix with homogeneous coordinates. More...
 
class  h_vec
 N-Dimensional vector with homogeneous coordinates. More...
 

Functions

template<typename T , typename E >
mln::trait::value_< typename
mln::trait::op::times< T, T >
::ret >::sum 
det (const internal::mat_base< 2, 2, T > &m)
 Compute the determinant of a matrix 2x2.
 
template<typename T , typename E >
mln::trait::value_< typename
mln::trait::op::times< T, T >
::ret >::sum 
det (const internal::mat_base< 3, 3, T > &m)
 Compute the determinant of a matrix 3x3.
 
template<unsigned N, typename T >
bool ldlt_decomp (mat< N, N, T > &A, vec< N, T > &rdiag)
 Perform LDL^T decomposition of a symmetric positive definite matrix.
 
template<unsigned N, typename T >
void ldlt_solve (const mat< N, N, T > &A, const vec< N, T > &rdiag, const vec< N, T > &B, vec< N, T > &x)
 Solve A x = B after mln::algebra::ldlt_decomp.
 
template<unsigned n, typename T , typename U >
mln::trait::value_< typename
mln::trait::op::times< T, U >
::ret >::sum 
operator* (const vec< n, T > &lhs, const vec< n, U > &rhs)
 Scalar product (dot product).
 
template<unsigned n, typename T , typename E >
mln::value::props< T >::sum tr (const internal::mat_base< n, n, T > &m)
 Compute the trace of a matrix.
 
template<typename T , typename U >
vec< 3, typename
mln::trait::op::times< T, U >
::ret > 
vprod (const vec< 3, T > &lhs, const vec< 3, U > &rhs)
 Vectorial product (cross product).
 

Detailed Description

Namespace of algebraic structure.

Function Documentation

template<typename T , typename E >
mln::trait::value_< typename mln::trait::op::times< T, T >::ret >::sum mln::algebra::det ( const internal::mat_base< 2, 2, T > &  m)
inline

Compute the determinant of a matrix 2x2.

Definition at line 770 of file mat_base.hh.

template<typename T , typename E >
mln::trait::value_< typename mln::trait::op::times< T, T >::ret >::sum mln::algebra::det ( const internal::mat_base< 3, 3, T > &  m)
inline

Compute the determinant of a matrix 3x3.

Definition at line 778 of file mat_base.hh.

template<unsigned N, typename T >
bool mln::algebra::ldlt_decomp ( mat< N, N, T > &  A,
vec< N, T > &  rdiag 
)
inline

Perform LDL^T decomposition of a symmetric positive definite matrix.

Like Cholesky, but no square roots. Overwrites lower triangle of matrix.

From Trimesh's ldltdc routine.

Definition at line 79 of file misc.hh.

Referenced by mln::geom::mesh_curvature().

template<unsigned N, typename T >
void mln::algebra::ldlt_solve ( const mat< N, N, T > &  A,
const vec< N, T > &  rdiag,
const vec< N, T > &  B,
vec< N, T > &  x 
)
inline

Solve A x = B after mln::algebra::ldlt_decomp.

Definition at line 112 of file misc.hh.

Referenced by mln::geom::mesh_curvature().

template<unsigned n, typename T , typename U >
mln::trait::value_< typename mln::trait::op::times< T, U >::ret >::sum mln::algebra::operator* ( const vec< n, T > &  lhs,
const vec< n, U > &  rhs 
)
inline

Scalar product (dot product).

Definition at line 633 of file algebra/vec.hh.

References mln::literal::zero.

template<unsigned n, typename T , typename E >
mln::value::props< T >::sum mln::algebra::tr ( const internal::mat_base< n, n, T > &  m)
inline

Compute the trace of a matrix.

Definition at line 756 of file mat_base.hh.

References mln::literal::zero.

template<typename T , typename U >
vec< 3, typename mln::trait::op::times< T, U >::ret > mln::algebra::vprod ( const vec< 3, T > &  lhs,
const vec< 3, U > &  rhs 
)
inline

Vectorial product (cross product).

Definition at line 714 of file algebra/vec.hh.

References vprod().

Referenced by mln::geom::mesh_corner_point_area(), mln::geom::mesh_curvature(), mln::geom::mesh_normal(), and vprod().