Projemde her zaman adımında birkaç tridiagonal matrisi çözmem gerekiyor, bu yüzden bunlar için iyi bir çözücüye sahip olmak çok önemlidir. Kendi uygulamamı yaptım, sadece Vikipedi'de açıklanan klasik yol. Daha sonra Lapack'i kullanmayı denedim ve sürprizime göre daha yavaştı!
Şimdi, Lapack'in içinde LU çarpanlarına ayırma ile çözme gibi görünüyor ve merak ediyorum, neden olabileceğinden daha karmaşık değil mi?
Ayrıca, nr.com'un "Nümerik Tarifler" kitabında, sistemi tekrar tekrar küçük üçgen sorunlara bölen bir algoritma buldum. Umut verici görünüyordu. Dışarıda başka güzellikler var mı?
Güncelleme: sorun boyutu yaklaşık 1000x1000. GotoBLAS'ı kullandım, size bir Lapack 3.1.1 kütüphanesi de veriyor. Sorun simetrik değil. Genel tridiagonal matrisler için Lapack rutinini kullandım.