//! More...
Functions | |
| template<typename T1 > | |
| void | lu (Mat< typename T1::elem_type > &L, Mat< typename T1::elem_type > &U, const Base< typename T1::elem_type, T1 > &X, const typename arma_blas_type_only< typename T1::elem_type >::result *junk=0) |
| immediate lower upper decomposition | |
| template<typename T1 > | |
| void | lu (Mat< typename T1::elem_type > &L, Mat< typename T1::elem_type > &U, Mat< typename T1::elem_type > &P, const Base< typename T1::elem_type, T1 > &X, const typename arma_blas_type_only< typename T1::elem_type >::result *junk=0) |
| immediate lower upper decomposition, also providing the permutation matrix | |
//!
| void lu | ( | Mat< typename T1::elem_type > & | L, | |
| Mat< typename T1::elem_type > & | U, | |||
| const Base< typename T1::elem_type, T1 > & | X, | |||
| const typename arma_blas_type_only< typename T1::elem_type >::result * | junk = 0 | |||
| ) | [inline] |
immediate lower upper decomposition
Definition at line 26 of file fn_lu.hpp.
References Base< elem_type, derived >::get_ref(), auxlib::lu(), and unwrap_check< T1 >::M.
{
arma_extra_debug_sigprint();
typedef typename T1::elem_type eT;
arma_debug_check( (&L == &U), "lu(): L and U are the same object");
const unwrap_check<T1> tmp1(X.get_ref(), L);
const Mat<eT>& A = tmp1.M;
const unwrap_check< Mat<eT> > tmp2(A, U);
const Mat<eT>& B = tmp2.M;
auxlib::lu(L, U, B);
}
| void lu | ( | Mat< typename T1::elem_type > & | L, | |
| Mat< typename T1::elem_type > & | U, | |||
| Mat< typename T1::elem_type > & | P, | |||
| const Base< typename T1::elem_type, T1 > & | X, | |||
| const typename arma_blas_type_only< typename T1::elem_type >::result * | junk = 0 | |||
| ) | [inline] |
immediate lower upper decomposition, also providing the permutation matrix
Definition at line 55 of file fn_lu.hpp.
References Base< elem_type, derived >::get_ref(), auxlib::lu(), and unwrap_check< T1 >::M.
{
arma_extra_debug_sigprint();
typedef typename T1::elem_type eT;
arma_debug_check( ( (&L == &U) || (&L == &P) || (&U == &P) ), "lu(): two or more output objects are the same object");
const unwrap_check<T1> tmp1(X.get_ref(), L);
const Mat<eT>& A = tmp1.M;
const unwrap_check< Mat<eT> > tmp2(A, U);
const Mat<eT>& B = tmp2.M;
const unwrap_check< Mat<eT> > tmp3(B, P);
const Mat<eT>& C = tmp3.M;
auxlib::lu(L, U, P, C);
}