Saya tertarik dalam menghitung solusi sistem lage ODE menggunakan metode krylov seperti pada [1]. Metode semacam itu melibatkan fungsi-fungsi yang berkaitan dengan fungsi eksponensial (yang disebut fungsi ). Ini pada dasarnya terdiri dari menghitung tindakan fungsi matriks dengan membangun ruang bagian Krylov menggunakan iterasi Arnoldi dan memproyeksikan fungsi pada ruang bagian ini. Ini mengurangi masalah untuk menghitung eksponensial dari matriks Hessenberg yang jauh lebih kecil.
Saya sadar bahwa ada beberapa algoritma untuk menghitung eksponensial (lihat [2] [3] dan referensi di dalamnya). Saya ingin tahu apakah ada algoritma khusus untuk menghitung eksponensial yang dapat mengambil keuntungan dari fakta bahwa matriksnya adalah Hessenberg?
[1] Sidje, RB (1998). Expokit: paket perangkat lunak untuk menghitung eksponensial matriks. Transaksi ACM pada Perangkat Lunak Matematika (TOMS), 24 (1), 130-156.
[2] Moler, C., & Van Loan, C. (1978). Sembilan belas cara meragukan untuk menghitung eksponensial dari sebuah matriks. Ulasan SIAM, 20 (4), 801-836.
[3] Moler, C., & Van Loan, C. (2003). Sembilan belas cara meragukan untuk menghitung eksponensial sebuah matriks, dua puluh lima tahun kemudian. Ulasan SIAM, 45 (1), 3-49.
sumber
Jawaban:
Karena expokit tampaknya menggunakan metode ruang bagian Krylov, biasanya (paling tidak, harapannya adalah) matriks Hessenberg atas adalah dimensi kecil, katakanlah . Untuk matriks ukuran ini, seharusnya tidak ada perbedaan besar dalam waktu komputasi dengan menggunakan metode apa pun untuk perhitungan eksponensial matriks padat. Sebagai contoh, 'expm' di MATLAB tampaknya menggunakan metode penskalaan dan kuadrat dengan pendekatan Pade mendekati nol.m∼100
Jika dimensi ruang bagian Krylov besar, maka Anda dapat mempertimbangkan untuk memprakondisikan http://link.springer.com/article/10.1023%2FA%3A1023219016301 atau memulai kembali metode ruang bagian Krylov http: //www.mathe.tu-freiberg .de / ~ Ernst / PubArchive / eiermannErnstKrylovExp.pdf
sumber