Re: sporadic failure of SingularValueDecomposition[] in Mathematica 5.2
- To: mathgroup at smc.vnet.net
- Subject: [mg60665] Re: [mg60563] sporadic failure of SingularValueDecomposition[] in Mathematica 5.2
- From: John Sidles <sidles at u.washington.edu>
- Date: Fri, 23 Sep 2005 04:20:17 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
Dear MathGroup folks I am continuing my investigations of sporadic failure of SingularValueDecomposition[], as initially documented in this notebook: http://faculty.washington.edu/sidles/mma_svd_failure_example/ I have now generated several dozen examples of matrices that fail, and I have checked that these matrices also fail for the following basic linear algebra routines (which derive from the SVD): PseudoInverse[] NullSpace[] MatrixRank[] Presumably, this means that most of Mathematica's least-mean-square packages -- all of which use the SVD intensively -- are at risk for these failing matrices. When I perturb the failing matrices by $MachinePrecision, then sometimes SingularValueDecomposition[] succeeds, sometimes it fails (returning a wrong answer), and sometimes it returns SingularValueDecomposition[__] as an unevaluated quantity, accompanied by the following (undocumented) error message: SingularValueDecomposition::cfail: Algorithm failed to converge. Has any else ever seen this "cfail" message? According to Press et al. "Numerical Recipes", an SVD is supposed to *always* exist, and many statistical analysis packages assume that this is so. I am preparing more extensive documentation, including a script that generates large numbers of failing SVD matrices. Interestingly, computing the SVD of these matrices fails under OS X 10.4.3 (Tiger) on both PowerBook G4s and Dual Processor G5s. But it did *not* fail on a PowerBook G4 running 10.3.9 (Panther). Sincerely ... John Sidles