28 typename T1::pod_type tol = 0.0,
35 typedef typename T1::elem_type eT;
36 typedef typename T1::pod_type T;
42 const bool status =
auxlib::svd(s, X, X_n_rows, X_n_cols);
47 if( (tol == T(0)) && (n_elem > 0) )
54 const T* s_mem = s.
memptr();
57 for(
uword i=0; i<n_elem; ++i)
69 arma_bad(
"rank(): failed to converge");
arma_inline arma_warn_unused eT * memptr()
returns a pointer to array of eTs used by the matrix
arma_warn_unused uword rank(const Base< typename T1::elem_type, T1 > &X, typename T1::pod_type tol=0.0, const typename arma_blas_type_only< typename T1::elem_type >::result *junk=0)
const uword n_elem
number of elements in the matrix (read-only)
arma_inline const Op< T1, op_max > max(const Base< typename T1::elem_type, T1 > &X, const uword dim=0)
Delayed 'maximum values' operation. The dimension, along which the maxima are found, is set via 'dim'. For dim = 0, the maximum value of each column is found (i.e. searches by traversing across rows). For dim = 1, the maximum value of each row is found (i.e. searches by traversing across columns). The default is dim = 0.
Class for column vectors (matrices with only one column)
#define arma_ignore(variable)
#define arma_extra_debug_sigprint
void arma_cold arma_bad(const T1 &x, const bool hurl=true)
print a message to get_stream_err2() and/or throw a run-time error exception
static arma_inline arma_integral_only< eT >::result direct_eps(const eT)
static bool svd(Col< eT > &S, const Base< eT, T1 > &X, uword &n_rows, uword &n_cols)