From 67c4aaf32546661e689cd16c265c0709a7acc3da Mon Sep 17 00:00:00 2001 From: kanschat Date: Wed, 20 Sep 2006 19:19:01 +0000 Subject: [PATCH] make sure, condition numbers are only computed if there are at least two eigenvalues git-svn-id: https://svn.dealii.org/trunk@13935 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/lac/include/lac/solver_cg.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/deal.II/lac/include/lac/solver_cg.h b/deal.II/lac/include/lac/solver_cg.h index af36350582..9a759a85d5 100644 --- a/deal.II/lac/include/lac/solver_cg.h +++ b/deal.II/lac/include/lac/solver_cg.h @@ -397,7 +397,7 @@ SolverCG::solve (const MATRIX &A, offdiagonal.push_back(std::sqrt(beta)/alpha); } - if (additional_data.compute_all_condition_numbers) + if (additional_data.compute_all_condition_numbers && (diagonal.size()>1)) { TridiagonalMatrix T(diagonal.size(), true); for (unsigned int i=0;i::solve (const MATRIX &A, } T.compute_eigenvalues(); if (additional_data.compute_condition_number - & ! additional_data.compute_all_condition_numbers) + && ! additional_data.compute_all_condition_numbers + && (diagonal.size() > 1)) deallog << "Condition number estimate: " << T.eigenvalue(T.n()-1)/T.eigenvalue(0) << std::endl; if (additional_data.compute_eigenvalues) -- 2.39.5