Giriş
Bugün birinci sınıf lineer cebir öğrencilerinin bane ile ilgileneceğiz: matris kesinliği! Görünüşe göre bunun henüz bir zorluğu yok, işte başlıyoruz:
Giriş
- Herhangi bir uygun formatta bir simetrik Matris (tabii ki matrisin sadece üst veya alt kısmını da alabilirsiniz)
- İsteğe bağlı olarak: n matrisinin boyutu
Ne yapalım?
Zorluk basit: Gerçek değerli bir matris Matris verildiğinde, doğruysa bir doğruluk değeri ve eğer değilse bir falsey değeri çıkararak pozitif kesin olup olmadığına karar verin.
Yerleşik araçlarınızın tam olarak doğru çalıştığını varsayabilirsiniz ve bu nedenle "kanıt" stratejisinin doğru sonuç vermesi durumunda yanlış davranışa yol açabilecek sayısal sorunları hesaba katmak zorunda kalmazsınız.
Kim kazanır?
Bu kod golf , yani bayt (dil başına) en kısa kod kazanır!
Zaten pozitif olarak tanımlanmış bir Matris nedir?
Görünüşe göre simetrik bir matrisin pozitif-kesin olduğu zaman 6 eşdeğer formülasyon vardır. Üç kolay olanı yeniden üreteceğim ve daha karmaşık olanlar için sizi Wikipedia'ya yönlendireceğim .
- Eğer sonra pozitif kesin.
Bu, aşağıdaki gibi yeniden formüle edilebilir:
Eğer sıfır olmayan her vektörü için ve (standart) nokta ürünü pozitifse , pozitiftir. - İzin ver olmaközdeğerlerve ise, şimdi (bütün özdeğerler pozitif olan) daha sonra pozitif kesin.
Özdeğerlerin ne olduğunu bilmiyorsanız, en sevdiğiniz arama motorunu kullanmanızı öneririm, çünkü açıklama (ve gerekli hesaplama stratejileri) bu yayında yer almak için çok uzun. - Eğer Cholesky-Ayrışma bir var, yani bir alt üçgen matris vardır öyle ki daha sonra pozitif kesin. Herhangi bir noktada algoritma sırasında kök hesaplaması negatif bir argüman nedeniyle başarısız olursa, bu, erken dönen "false" ile eşdeğerdir.
Örnekler
Doğru çıktı için
Falsey çıkışı için
(en az bir özdeğer 0 / pozitif yarı tanımlıdır)
(özdeğerlerin farklı işaretleri / belirsizliği vardır)
(0'dan küçük tüm özdeğerler / negatif belirli)
(0'dan küçük tüm özdeğerler / negatif belirli)
(0'dan küçük tüm özdeğerler / negatif belirli)
(üç pozitif, bir negatif özdeğer / belirsiz)