Is there any theoretical reason that Chol() in R breaks for Hilbert matrix of order greater than 12?
Thanks,
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 communityBoth 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).
Hilbert matrices are of notorious poor condition, which probably account for the failure you are seeing.