enusre only cx hermitian matrices are optimised

This commit is contained in:
conrad
2021-12-23 14:48:10 +10:00
parent 83b37ab286
commit cc7de6b5f0
2 changed files with 3 additions and 2 deletions
+2 -1
View File
@@ -86,7 +86,7 @@ op_pinv::apply_direct(Mat<typename T1::elem_type>& out, const Base<typename T1::
sympd_helper::analyse_matrix(is_approx_sym, is_approx_sympd, A);
do_sym = is_approx_sym;
do_sym = (is_cx<eT>::no) ? (is_approx_sym) : (is_approx_sym && is_approx_sympd);
do_sympd = is_approx_sympd && (tol == T(0)) && (method_id == uword(0));
}
#else
@@ -114,6 +114,7 @@ op_pinv::apply_direct(Mat<typename T1::elem_type>& out, const Base<typename T1::
{
arma_extra_debug_print("op_pinv: detected symmetric matrix");
return op_pinv::apply_sym(out, A, tol, method_id);
}
+1 -1
View File
@@ -52,7 +52,7 @@ op_rank::apply(uword& out, const Base<typename T1::elem_type,T1>& expr, const ty
sympd_helper::analyse_matrix(is_approx_sym, is_approx_sympd, A);
do_sym = is_approx_sym;
do_sym = (is_cx<eT>::no) ? (is_approx_sym) : (is_approx_sym && is_approx_sympd);
}
#else
const bool do_sym = false;