Op_chol

Classes

class  op_chol

Functions

template<typename T1 >
static void op_chol::apply (Mat< typename T1::elem_type > &out, const Op< T1, op_chol > &X)

Function Documentation

template<typename T1 >
void op_chol::apply ( Mat< typename T1::elem_type > &  out,
const Op< T1, op_chol > &  X 
) [inline, static, inherited]

Definition at line 25 of file op_chol_meat.hpp.

References arma_print(), chol(), Mat< eT >::is_square(), unwrap_check< T1 >::M, Op< T1, op_type >::m, and Mat< eT >::reset().

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   }