Saya mencoba mendiagonalisasi beberapa matriks yang padat dan tidak terkondisikan. Dalam presisi mesin, hasilnya tidak akurat (mengembalikan nilai eigen negatif, vektor eigen tidak memiliki simetri yang diharapkan). Saya beralih ke fungsi Mathematica Eigensystem [] untuk mengambil keuntungan dari presisi yang berubah-ubah, tetapi perhitungannya sangat lambat. Saya terbuka untuk sejumlah solusi. Apakah ada paket / algoritma yang cocok untuk masalah yang dikondisikan? Saya bukan ahli prakondisi, jadi saya tidak yakin seberapa banyak ini bisa membantu. Kalau tidak, yang bisa saya pikirkan adalah pemecah nilai eigen presisi yang diparalelkan secara acak, tetapi saya tidak terbiasa dengan apa pun di luar Mathematica, MATLAB dan C ++.
Untuk memberikan latar belakang masalah, matriksnya besar, tetapi tidak besar (paling banyak 4096x4096 hingga 32768x32768). Mereka nyata, simetris, dan nilai eigen dibatasi antara 0 dan 1 (eksklusif), dengan banyak nilai eigen sangat dekat dengan 0 dan tidak ada yang mendekati 1. Matriks pada dasarnya adalah operator konvolusi. Saya tidak perlu mendiagonalisasi semua matriks saya, tetapi semakin besar saya bisa, semakin baik. Saya memiliki akses ke cluster komputasi dengan banyak prosesor dan kemampuan komputasi terdistribusi.
Terima kasih