Classes | Functions

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<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<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<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 632 of file algebra/vec.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 713 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().