MATLAB は精度を保証しません
私はこの主張は不合理だと思います。MATLAB の高度に洗練された計算アルゴリズムよりも (大幅に) 正確な実装を見つけることができると言う根拠は何ですか?
そして... MATLAB の を使用eig
すると、以下は 0.5 秒未満で計算されます。
%// Generate the input matrix
X = ones(1000);
A = triu(X, -1) + tril(X, 1) - X;
%// Compute eigenvalues
v = eig(A);
早いですよね!
これはかなり正確である必要があります (約 1e-06 エラーで問題ありません)。
固有値を正確に解くことは、特性多項式の根を見つけることに関連していることを思い出してください。この特定の 1000x1000 マトリックスは非常に 悪条件です:
>> cond(A)
ans =
1.6551e+003
一般的な経験則では、条件数が 10 kの場合、最大でk桁の精度が失われる可能性があります (算術法による精度の損失により数値法で失われるものに加えて)。
したがって、あなたの場合、結果はおおよその誤差 10 -3まで正確であると予想されます。