pengantar
Hari ini kita akan menangani kutukan siswa aljabar linear tahun pertama: ketegasan matriks! Tampaknya ini belum memiliki tantangan, jadi mari kita mulai:
Memasukkan
- A Matriks simetris dalam format apa pun yang nyaman (Anda tentu saja juga dapat mengambil bagian atas atau bawah dari matriks)
- Secara opsional: ukuran matriks
Apa yang harus dilakukan?
Tantangannya sederhana: Diberikan matriks bernilai nyata Matriks memutuskan apakah itu pasti positif dengan mengeluarkan nilai kebenaran jika demikian dan nilai palsu jika tidak.
Anda dapat mengasumsikan built-in Anda benar-benar berfungsi secara tepat dan karenanya tidak harus memperhitungkan masalah numerik yang dapat mengarah pada perilaku yang salah jika strategi / kode "terbukti" harus menghasilkan hasil yang benar.
Yang menang?
Ini adalah kode-golf , jadi kode terpendek dalam byte (per-bahasa) menang!
Apa itu Matriks definitif positif?
Rupanya ada 6 formulasi yang setara ketika sebuah matriks simetris adalah positif-pasti. Saya akan mereproduksi tiga yang lebih mudah dan merujuk Anda ke Wikipedia untuk yang lebih kompleks.
- Jika maka adalah pasti-positif. Ini dapat dirumuskan ulang sebagai: Jika untuk setiap vektor bukan nol (standar) produk titik dan adalah positif maka adalah pasti-positif.v v A v A
- Biarkan menjadi nilai eigen dari , jika sekarang (itu saja nilai eigen adalah positif) maka adalah positif-pasti. Jika Anda tidak tahu apa nilai eigennya, saya sarankan Anda menggunakan mesin pencari favorit Anda untuk mengetahuinya, karena penjelasan (dan strategi perhitungan yang diperlukan) terlalu lama untuk dimuat dalam pos ini.A ∀ i ∈ { 1 , … , n } : λ i > 0 A
- Jika Cholesky-penguraian dari ada, yaitu terdapat matriks yang lebih rendah-segitiga sehingga maka adalah positif-pasti. Perhatikan bahwa ini setara dengan "false" yang dikembalikan lebih awal jika pada suatu saat perhitungan root selama algoritma gagal karena argumen negatif.
Contohnya
Untuk hasil yang benar
Untuk output falsey
(setidaknya satu nilai eigen adalah 0 / positif semi-pasti)
(nilai eigen memiliki tanda yang berbeda / tidak terbatas)
(semua nilai eigen lebih kecil dari 0 / negatif pasti)
(semua nilai eigen lebih kecil dari 0 / negatif pasti)
(semua nilai eigen lebih kecil dari 0 / negatif pasti)
(tiga positif, satu nilai eigen negatif / tidak terbatas)