Berapa banyak operasi aritmatika yang diperlukan untuk menemukan matriks pseudoinverse Moore-Penrose dari bidang arbitrer?
Jika matriksnya tidak dapat dibalik dan dinilai kompleks, maka itu hanyalah kebalikannya. Menemukan invers membutuhkan waktu, di mana ω adalah konstanta pengali matriks. Teorema 28.2 dalam Pengantar Algoritma Edisi ke-3.
Jika matriks memiliki baris atau kolom yang independen secara linier dan bernilai kompleks, maka matriks pseudoinverse dapat dihitung dengan A ∗ ( A A ∗ ) - 1 atau ( A A ∗ ) - 1 A ∗ secara berurutan, di mana A ∗ adalah konjugat transpose dari A . Secara khusus, ini menyiratkan O ( n ω ) waktu untuk menemukan pseudoinverse dari A .
Untuk matriks umum, algoritma yang saya lihat menggunakan dekomposisi QR atau SVD, yang tampaknya mengambil operasi aritmatika dalam kasus terburuk. Apakah ada algoritma yang menggunakan lebih sedikit operasi?
sumber
Jawaban:
Pertama-tama, orang cenderung lupa bahwa adalah infinite. Setiap kali kita menulis O ( n ω ) , kita sebenarnya bermaksud untuk semua γ > ω , ada algoritma yang berjalan dalam waktu O γ ( n γ ) .ω O(nω) γ>ω Oγ(nγ)
Keller-Gehrig menunjukkan (antara lain) bagaimana menyajikan matriks dalam bentuk normal dalam waktu O ( n ω ) . Jika A memiliki peringkat r , maka bentuk normal peringkat A adalah S ( I r 0 0 0 ) T untuk beberapa S terbalik , T dari dimensi yang sesuai; lihat juga Teori Kompleksitas Aljabar, Proposisi 16.13 pada halaman 435.A O(nω) A r A
sumber