Dalam proyek saya, saya harus menyelesaikan beberapa matriks tridiagonal pada setiap langkah waktu, jadi sangat penting untuk memiliki pemecah yang baik untuk mereka. Saya melakukan implementasi saya sendiri, hanya cara klasik untuk melakukannya dijelaskan di Wikipedia. Saya kemudian mencoba menggunakan Lapack sebagai gantinya, dan yang mengejutkan saya lebih lambat!
Sekarang, di dalam Lapack sepertinya itu adalah penyelesaian dengan faktorisasi LU dan saya bertanya-tanya mengapa, bukankah ini lebih kompleks daripada yang seharusnya?
Selain itu, saya menemukan sebuah algoritma dalam buku "Numerical Recipes" dari nr.com yang secara rekursif membagi sistem menjadi masalah tridiagonal yang lebih kecil. Itu tampak menjanjikan. Apakah ada barang lain di luar sana?
Pembaruan: ukuran masalahnya sekitar 1000x1000. Saya menggunakan GotoBLAS, itu memberi Anda perpustakaan Lapack 3.1.1 juga. Masalahnya bukan simetris. Saya menggunakan rutin Lapack untuk matriks tridiagonal umum.