There was a typo in my example. Here is the fixed version: # initialize matrix values = c(1,0.725,0,0,0.725,1,0.692,0,0,0.692,1,0.664,0,0,0.664,1) B = matrix(values, 4,4)
# show that singular values are positive svd(B)$d # show that matrix is symmetric isSymmetric(B) # B is symmetric positive definite, but Cholesky still fails chol(B) # It turns out the the *eigen* values are mixed sign. # That explains the issue eigen(B)$values Thanks for you help, especially Bert. - Gabriel From: William Dunlap <wdun...@tibco.com<mailto:wdun...@tibco.com>> Date: Tuesday, November 13, 2018 at 12:31 PM To: Gabriel Hoffman <gabriel.hoff...@mssm.edu<mailto:gabriel.hoff...@mssm.edu>> Cc: "r-help@r-project.org<mailto:r-help@r-project.org>" <r-help@r-project.org<mailto:r-help@r-project.org>> Subject: Re: [R] Unexpected failure of Cholesky docomposition Aren't singular values always positive or zero? Look at eigen(B)$values to check for positive definiteness. Fix your example - your B is not symmetric. Bill Dunlap TIBCO Software wdunlap tibco.com<https://urldefense.proofpoint.com/v2/url?u=http-3A__tibco.com&d=DwMFaQ&c=shNJtf5dKgNcPZ6Yh64b-A&r=KdYcmw5SdXylMrTGSuNVkNJulowod64k0PTDC5BHZkk&m=Vq3YaG1EYDN2Fp8XpmcP8kVgEmHvlDEIwLveBpn4R4Q&s=1NN3MX73Jjmlphkfkm-NlTB-XWOrrMMN3zOGzX3y0RE&e=> On Tue, Nov 13, 2018 at 7:30 AM, Hoffman, Gabriel <gabriel.hoff...@mssm.edu<mailto:gabriel.hoff...@mssm.edu>> wrote: My understanding is that a Cholesky decomposition should work on any square, positive definite matrix. I am encountering an issue where chol() fails and give the error: "the leading minor of order 3 is not positive definite" This occurs on multiple machines and version of R. Here is a minimal reproducible example: # initialize matrix values = c(1,0.725,0,0,0.725,1,0.692,0,0,0.692,1,0.644,0,0,0.664,1) B = matrix(values, 4,4) # show that singular values are positive svd(B)$d # show that matrix is symmetric isSymmetric(B) # B is symmetric positive definite, but Cholesky still fails chol(B) Is this a numerical stability issue? How can I predict which matrices will fail? - Gabriel [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org<mailto:R-help@r-project.org> mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help<https://urldefense.proofpoint.com/v2/url?u=https-3A__stat.ethz.ch_mailman_listinfo_r-2Dhelp&d=DwMFaQ&c=shNJtf5dKgNcPZ6Yh64b-A&r=KdYcmw5SdXylMrTGSuNVkNJulowod64k0PTDC5BHZkk&m=Vq3YaG1EYDN2Fp8XpmcP8kVgEmHvlDEIwLveBpn4R4Q&s=NwgJPwLPzWkHUywq-roE7bv0dcwMA2p5a3-ON2AbycQ&e=> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html<https://urldefense.proofpoint.com/v2/url?u=http-3A__www.R-2Dproject.org_posting-2Dguide.html&d=DwMFaQ&c=shNJtf5dKgNcPZ6Yh64b-A&r=KdYcmw5SdXylMrTGSuNVkNJulowod64k0PTDC5BHZkk&m=Vq3YaG1EYDN2Fp8XpmcP8kVgEmHvlDEIwLveBpn4R4Q&s=6s9m-E3Y4eRcJL-jWgz1Pbf4nQED9bgK0CB3r3KAhp8&e=> and provide commented, minimal, self-contained, reproducible code. [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.