[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Octave-bug-tracker] [bug #53560] pinv BIST test failing occasionally

From: Rik
Subject: [Octave-bug-tracker] [bug #53560] pinv BIST test failing occasionally
Date: Wed, 4 Apr 2018 17:44:19 -0400 (EDT)
User-agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:55.0) Gecko/20100101 Firefox/55.0

Update of bug #53560 (project octave):

                  Status:                    None => Postponed              


Follow-up Comment #5:

THis is super annoying.  I don't know what the issue is, but it goes pretty

I tried excluding high condition number matrices (cond # > 25), but there are
still occasional failures.

The algorithm for pinv is actually implemented in liboctave/array/dMatrix.cc
(for double matrices).  It uses the singular value decomposition.  I played
around with changing the LAPACK driver that we use for calculating the SVD
from gesdd to gesvd using the svd_driver() function.  This also didn't help.

It may just be round-off errors during intermediate computations during matrix
multiplication.  The BIST test is attempting to verify the Penrose conditions
on the pseudoinverse.  It should be the case that

A*B*A - A = 0
B*A*B - B = 0

However, only the first condition is accurate (<8 eps).  This may have
something to do with the order of multiplication.

I think we should ask someone on the Maintainer's list to run the code in
Matlab and see if it fails there as well.  But that can come later.  For now,
I just fixed the random seed to a known value


Reply to this item at:


  Message sent via/by Savannah

reply via email to

[Prev in Thread] Current Thread [Next in Thread]