changeset 7033:f0142f2afdc6

[project @ 2007-10-16 17:46:44 by jwe]
author jwe
date Tue, 16 Oct 2007 17:46:44 +0000
parents 4d4197ffb09d
children 68db500cb558
files liboctave/CMatrix.cc liboctave/ChangeLog liboctave/dMatrix.cc
diffstat 3 files changed, 8 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/liboctave/CMatrix.cc
+++ b/liboctave/CMatrix.cc
@@ -1202,7 +1202,7 @@
       if (!mattype.is_hermitian ())
 	ret = finverse(mattype, info, rcond, force, calc_cond);
 
-      if (rcond == 0.)
+      if ((mattype.is_hermitian () || calc_cond) && rcond == 0.)
 	ret = ComplexMatrix (rows (), columns (), Complex (octave_Inf, 0.));
     }
 
--- a/liboctave/ChangeLog
+++ b/liboctave/ChangeLog
@@ -1,3 +1,9 @@
+2007-10-16  John W. Eaton  <jwe@octave.org>
+
+	* dMatrix.cc (Matrix::inverse): Only check rcond == 0 if the
+	matrix is hermitian or calc_cond is true.
+	* CMatrix.cc (ComplexMatrix::inverse): Likewise.
+
 2007-10-12  John W. Eaton  <jwe@octave.org>
 
 	* Change copyright notices in all files that are part of Octave to
--- a/liboctave/dMatrix.cc
+++ b/liboctave/dMatrix.cc
@@ -871,7 +871,7 @@
       if (!mattype.is_hermitian ())
 	ret = finverse(mattype, info, rcond, force, calc_cond);
 
-      if (rcond == 0.)
+      if ((mattype.is_hermitian () || calc_cond) && rcond == 0.)
 	ret = Matrix (rows (), columns (), octave_Inf);
     }