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) |
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) |
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 | |||
) | [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.
00031 { 00032 arma_extra_debug_sigprint(); 00033 00034 typedef typename T1::elem_type eT; 00035 00036 arma_debug_check( (&L == &U), "lu(): L and U are the same object"); 00037 00038 const unwrap_check<T1> tmp1(X.get_ref(), L); 00039 const Mat<eT>& A = tmp1.M; 00040 00041 const unwrap_check< Mat<eT> > tmp2(A, U); 00042 const Mat<eT>& B = tmp2.M; 00043 00044 auxlib::lu(L, U, B); 00045 }
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 | |||
) | [inline] |
immediate lower upper decomposition, also providing the permutation matrix
Definition at line 54 of file fn_lu.hpp.
References Base< elem_type, derived >::get_ref(), auxlib::lu(), and unwrap_check< T1 >::M.
00060 { 00061 arma_extra_debug_sigprint(); 00062 00063 typedef typename T1::elem_type eT; 00064 00065 arma_debug_check( ( (&L == &U) || (&L == &P) || (&U == &P) ), "lu(): two or more output objects are the same object"); 00066 00067 const unwrap_check<T1> tmp1(X.get_ref(), L); 00068 const Mat<eT>& A = tmp1.M; 00069 00070 const unwrap_check< Mat<eT> > tmp2(A, U); 00071 const Mat<eT>& B = tmp2.M; 00072 00073 const unwrap_check< Mat<eT> > tmp3(B, P); 00074 const Mat<eT>& C = tmp3.M; 00075 00076 auxlib::lu(L, U, P, C); 00077 }