diff --git a/include/armadillo_bits/glue_times_meat.hpp b/include/armadillo_bits/glue_times_meat.hpp index 4cf9eab0..29671d40 100644 --- a/include/armadillo_bits/glue_times_meat.hpp +++ b/include/armadillo_bits/glue_times_meat.hpp @@ -119,7 +119,7 @@ glue_times_redirect2_helper::apply(Mat& out, const arma_conform_assert_mul_size(A, B, "matrix multiplication"); - const bool is_sym = (strip_inv::do_inv_spd) ? false : ( arma_config::optimise_sym && (auxlib::crippled_lapack(A) == false) && sym_helper::is_approx_sym(A) ); + const bool is_sym = (strip_inv::do_inv_spd) ? false : ( arma_config::optimise_sym && (auxlib::crippled_lapack(A) == false) && sym_helper::is_approx_sym(A, uword(100)) ); const bool status = (strip_inv::do_inv_spd) ? auxlib::solve_sympd_fast(out, A, B) : ( (is_sym) ? auxlib::solve_sym_fast(out, A, B) : auxlib::solve_square_fast(out, A, B) ); @@ -280,7 +280,7 @@ glue_times_redirect3_helper::apply(Mat& out, const if(is_cx::yes) { arma_warn(1, "inv_sympd(): given matrix is not hermitian"); } } - const bool is_sym = (strip_inv::do_inv_spd) ? false : ( arma_config::optimise_sym && (auxlib::crippled_lapack(A) == false) && sym_helper::is_approx_sym(A) ); + const bool is_sym = (strip_inv::do_inv_spd) ? false : ( arma_config::optimise_sym && (auxlib::crippled_lapack(A) == false) && sym_helper::is_approx_sym(A, uword(100)) ); const bool status = (strip_inv::do_inv_spd) ? auxlib::solve_sympd_fast(out, A, BC) : ( (is_sym) ? auxlib::solve_sym_fast(out, A, BC) : auxlib::solve_square_fast(out, A, BC) ); @@ -319,7 +319,7 @@ glue_times_redirect3_helper::apply(Mat& out, const Mat solve_result; - const bool is_sym = (strip_inv::do_inv_spd) ? false : ( arma_config::optimise_sym && (auxlib::crippled_lapack(B) == false) && sym_helper::is_approx_sym(B) ); + const bool is_sym = (strip_inv::do_inv_spd) ? false : ( arma_config::optimise_sym && (auxlib::crippled_lapack(B) == false) && sym_helper::is_approx_sym(B, uword(100)) ); const bool status = (strip_inv::do_inv_spd) ? auxlib::solve_sympd_fast(solve_result, B, C) : ( (is_sym) ? auxlib::solve_sym_fast(solve_result, B, C) : auxlib::solve_square_fast(solve_result, B, C) ); diff --git a/include/armadillo_bits/op_inv_gen_meat.hpp b/include/armadillo_bits/op_inv_gen_meat.hpp index 12439f67..5dc27c5d 100644 --- a/include/armadillo_bits/op_inv_gen_meat.hpp +++ b/include/armadillo_bits/op_inv_gen_meat.hpp @@ -221,7 +221,7 @@ op_inv_gen_full::apply_direct(Mat& out, const Base& out, op_inv_gen_stat return auxlib::inv_tr_rcond(out, out_state.rcond, ((is_triu_expr || is_triu_mat) ? uword(0) : uword(1))); } - if( (arma_config::optimise_sym) && (auxlib::crippled_lapack(out) == false) && (sym_helper::is_approx_sym(out)) ) + if( (arma_config::optimise_sym) && (auxlib::crippled_lapack(out) == false) && (sym_helper::is_approx_sym(out, uword(100))) ) { arma_debug_print("op_inv_gen_rcond: symmetric/hermitian optimisation"); diff --git a/include/armadillo_bits/op_rcond_meat.hpp b/include/armadillo_bits/op_rcond_meat.hpp index c28360ad..fc3b2398 100644 --- a/include/armadillo_bits/op_rcond_meat.hpp +++ b/include/armadillo_bits/op_rcond_meat.hpp @@ -89,7 +89,7 @@ op_rcond::apply(const Base& X) return auxlib::rcond_trimat(A, layout); } - if( (arma_config::optimise_sym) && (auxlib::crippled_lapack(A) == false) && (sym_helper::is_approx_sym(A)) ) + if( (arma_config::optimise_sym) && (auxlib::crippled_lapack(A) == false) && (sym_helper::is_approx_sym(A, uword(100))) ) { arma_debug_print("op_rcond::apply(): symmetric/hermitian optimisation");