From: kanschat Date: Wed, 20 Sep 2006 19:19:01 +0000 (+0000) Subject: make sure, condition numbers are only computed if there are at least two eigenvalues X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=67c4aaf32546661e689cd16c265c0709a7acc3da;p=dealii-svn.git 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 --- 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)