Octave ichol中的负轴

Octave ichol中的负轴,octave,linear-algebra,matrix-factorization,Octave,Linear Algebra,Matrix Factorization,我在八度音阶中执行的实现有问题。我试图用命令ichol(sparse(hilb(n)),计算Hilbert矩阵的不完全Cholesky分解,当n=15时,我得到以下错误:ichol:遇到负轴 我们知道希尔伯特矩阵是正定对称的,所以我不知道误差来自哪里。我计算了矩阵A的特征值,第一个结果是负数,我认为这是因为特征值问题是一个条件恶劣的问题,所以我不太注意这个结果。一个有效的解决方案是使用diagcomp选项,但我想知道为什么Cholesky的不完全因子分解不起作用?A满足获得不完全Cholesky

我在八度音阶中执行的实现有问题。我试图用命令ichol(sparse(hilb(n)),计算Hilbert矩阵的不完全Cholesky分解,当n=15时,我得到以下错误:ichol:遇到负轴

我们知道希尔伯特矩阵是正定对称的,所以我不知道误差来自哪里。我计算了矩阵A的特征值,第一个结果是负数,我认为这是因为特征值问题是一个条件恶劣的问题,所以我不太注意这个结果。一个有效的解决方案是使用diagcomp选项,但我想知道为什么Cholesky的不完全因子分解不起作用?A满足获得不完全Cholesky分解的条件,在其他帖子中,他们提到了一些关于支配的内容,但我不知道这会如何影响获得分解的时刻


首先,谢谢。

希尔伯特矩阵因难以处理而臭名昭著,尽管它的所有条目都是合理的数字。使用中的公式,我估计15 x 15希尔伯特矩阵的条件数为2e22。根据经验,由于条件数是不准确的乘数,而且元素中的误差为1e-16阶,因此cholesky例程最终可能引入表示矩阵不是正定的误差也就不足为奇了。