lapack icon indicating copy to clipboard operation
lapack copied to clipboard

{D,Z}BBCSD: stricter zero criterion

Open christoph-conrads opened this issue 1 year ago • 1 comments

Description

The tolerance below which matrix entries are considered zero is tightened to avoid insufficiently accurate singular vectors.

I cannot locate more information about the zero criterion and the choice may be too conservative: there is no information in the git history about it (only the final code was committed in 2010) and in the article Computing the Complete CS Decomposition (2008) from the code author, it only says:

To encourage fast termination, some angles in θ(n) and φ(n) may need to be rounded when they are negligibly far from 0 or π/2. The best test for negligibility will be the subject of future work.

The article Stable Computation of the CS Decomposition: Simultaneous Bidiagonalization does not discuss the zero criterion.

Checklist

  • [x] The documentation has been updated.
  • [x] If the PR solves a specific issue, it is set to be closed on merge.

christoph-conrads avatar Dec 29 '23 14:12 christoph-conrads

Codecov Report

Attention: 2 lines in your changes are missing coverage. Please review.

Comparison is base (db501d9) 0.00% compared to head (1d6b882) 0.00%.

Files Patch % Lines
SRC/dbbcsd.f 0.00% 1 Missing :warning:
SRC/zbbcsd.f 0.00% 1 Missing :warning:
Additional details and impacted files
@@           Coverage Diff           @@
##           master     #966   +/-   ##
=======================================
  Coverage    0.00%    0.00%           
=======================================
  Files        1930     1930           
  Lines      190421   190421           
=======================================
  Misses     190421   190421           

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

codecov[bot] avatar Dec 29 '23 14:12 codecov[bot]