From 5d4c83499e5d3788c0ee29582bc64fd4ed90489a Mon Sep 17 00:00:00 2001 From: Rene Brun <Rene.Brun@cern.ch> Date: Tue, 7 Dec 2004 19:11:26 +0000 Subject: [PATCH] From Eddy Offermann: Instead of warning of a under/over flow in TDecompLU::InvertLU and then returning a determinant of zero , we now return the calculated value . Now the user will not be confused anymore and think that the matrix was singular . git-svn-id: http://root.cern.ch/svn/root/trunk@10711 27541ba8-7e3a-0410-8455-c3a389f83636 --- matrix/src/TDecompLU.cxx | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/matrix/src/TDecompLU.cxx b/matrix/src/TDecompLU.cxx index d549328bfda..3c4e253af22 100644 --- a/matrix/src/TDecompLU.cxx +++ b/matrix/src/TDecompLU.cxx @@ -1,4 +1,4 @@ -// @(#)root/matrix:$Name: $:$Id: TDecompLU.cxx,v 1.16 2004/10/16 18:09:16 brun Exp $ +// @(#)root/matrix:$Name: $:$Id: TDecompLU.cxx,v 1.17 2004/12/02 11:53:30 rdm Exp $ // Authors: Fons Rademakers, Eddy Offermann Dec 2003 /************************************************************************* @@ -781,11 +781,9 @@ Bool_t TDecompLU::InvertLU(TMatrixD &lu,Double_t tol,Double_t *det) const TVectorD diagv = TMatrixDDiag_const(lu); DiagProd(diagv,tol,d1,d2); d1 *= sign; - if (TMath::Abs(d2) > 52.0) { + if (TMath::Abs(d2) > 52.0) ::Warning("TDecompLU::InvertLU","Determinant under/over-flows double: det= %.4f 2^%.0f",d1,d2); - *det = 0.0; - } else - *det = d1*TMath::Power(2.0,d2); + *det = d1*TMath::Power(2.0,d2); } // Form inv(U). -- GitLab