Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 template<typename T1>
00023 inline
00024 void
00025 op_chol::apply(Mat<typename T1::elem_type>& out, const Op<T1,op_chol>& X)
00026 {
00027 arma_extra_debug_sigprint();
00028
00029 typedef typename T1::elem_type eT;
00030
00031 const unwrap_check<T1> tmp(X.m, out);
00032 const Mat<eT>& A = tmp.M;
00033
00034 arma_debug_check( (A.is_square() == false), "chol(): given matrix is not square");
00035
00036 const bool ok = auxlib::chol(out, A);
00037
00038 if(ok == false)
00039 {
00040 out.reset();
00041 arma_print("chol(): matrix factorisation failed");
00042 }
00043 }
00044
00045
00046
00047