Mercurial > octave
changeset 29769:fe06c183cc4e stable
logm.m: Allow tolerance in check for real negative values in complex vector (bug #60738).
* scripts/linear-algebra/logm.m: Allow tolerance in check for real negative
values in complex vector.
author | Steven <steven.waldrip@gmail.com> |
---|---|
date | Tue, 15 Jun 2021 11:41:27 +1000 |
parents | 5113ae64136b |
children | 4778b21b1386 |
files | scripts/linear-algebra/logm.m |
diffstat | 1 files changed, 2 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/scripts/linear-algebra/logm.m Wed Jun 16 15:49:50 2021 +0900 +++ b/scripts/linear-algebra/logm.m Tue Jun 15 11:41:27 2021 +1000 @@ -75,7 +75,8 @@ endif eigv = diag (s); - real_neg_eigv = (real (eigv) < 0) & (imag (eigv) == 0); + tol = rows (A) * eps (max (abs (eigv))); + real_neg_eigv = (real (eigv) < -tol) & (imag (eigv) <= tol); if (any (real_neg_eigv)) warning ("Octave:logm:non-principal", "logm: principal matrix logarithm is not defined for matrices with negative eigenvalues; computing non-principal logarithm");