Is there any theoretical reason that Chol() in R breaks for Hilbert matrix of order greater than 12?
Cross Validated is a question and answer site for people interested in statistics, machine learning, data analysis, data mining, and data visualization. It only takes a minute to sign up.Sign up to join this community
Both Zen's comment and F.Tusell's answer are correct (+1 to both). Just to add a bit on this: If you look at the associated eigenvalues of
Hilbert(13) for a example, the smallest of them is smaller in scale than
.Machine$double.eps which is roughly 2.2e-16. Therefore this eigenvalue (and others of even smaller scale) is regarded as a machine zero and leads the decomposition algorithm to treat
Hilbert(13+) as non-positive definite matrix and thus not having a Cholesky decomposition. (So actually $H(13-15)$ are "semi-PD" numerically speaking, and for $H(16+)$ you even end up with "negative zeros" eigenvalues).