Classes | |
struct | h_mat |
N-Dimensional matrix with homogeneous coordinates. More... | |
struct | 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). |
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.
Referenced by mln::geom::mesh_curvature().
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] |
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] |
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).
References vprod().
Referenced by mln::geom::mesh_corner_point_area(), mln::geom::mesh_curvature(), mln::geom::mesh_normal(), and vprod().