Wprowadzenie
Dzisiaj zajmiemy się zmorą studentów pierwszego roku algebry liniowej: definitywnością macierzy! Najwyraźniej nie stanowi to jeszcze wyzwania, więc zaczynamy:
Wejście
- A symetryczna Matryca w dowolnym dogodnym formacie (możesz oczywiście wziąć tylko górną lub dolną część matrycy)
- Opcjonalnie: rozmiar matrycy
Co robić?
Wyzwanie jest proste: biorąc pod uwagę macierz o wartości rzeczywistej Macierz decyduje, czy jest ona pozytywnie określona, podając prawdziwą wartość, jeśli tak, i wartość falsey, jeśli nie.
Możesz założyć, że Twoje wbudowane naprawdę działają dokładnie, a zatem nie musisz brać pod uwagę problemów numerycznych, które mogłyby prowadzić do niewłaściwego zachowania, jeśli strategia / kod „możliwe do udowodnienia” przyniosą poprawny wynik.
Kto wygrywa?
To jest golf golfowy , więc wygrywa najkrótszy kod w bajtach (na język)!
Czym w każdym razie jest Matryca dodatnia?
Istnieje najwyraźniej 6 równoważnych sformułowań, w których matryca symetryczna jest dodatnia. Powtórzę trzy łatwiejsze i odsyłam do Wikipedii w przypadku bardziej złożonych.
- Jeśli to jest dodatnie. Można to ponownie sformułować w następujący sposób: Jeżeli dla każdego niezerowego wektora iloczyn (standardowy) kropek i jest dodatni, to jest dodatnio określony.
- Niech być wartości własne z , jeśli teraz (to jest wszystkich wartości własne są dodatnie), a następnie jest pozytywnie określone. Jeśli nie wiesz, jakie są wartości własne, sugeruję skorzystanie z ulubionej wyszukiwarki, aby się dowiedzieć, ponieważ wyjaśnienie (i potrzebne strategie obliczeniowe) jest zbyt długie, aby mogło zostać zawarte w tym poście.A ∀ i ∈ { 1 , … , n } : λ i > 0 A
- Jeżeli Cholesky'ego-rozkładu z istnieje, to istnieje dolną trójkątne matrycy takie, że następnie jest dodatnio określony. Zauważ, że jest to równoważne wczesnemu zwróceniu wartości „fałsz”, jeśli w dowolnym momencie obliczenie katalogu głównego podczas algorytmu nie powiedzie się z powodu argumentu ujemnego.
Przykłady
Dla prawdziwej wydajności
Dla wyjścia falsey
(co najmniej jedna wartość własna wynosi 0 / dodatnia półokreślona)
(wartości własne mają różne znaki / nieokreślony)
(wszystkie wartości własne mniejsze niż 0 / definitywnie ujemne)
(wszystkie wartości własne mniejsze niż 0 / definitywnie ujemne)
(wszystkie wartości własne mniejsze niż 0 / definitywnie ujemne)
(trzy dodatnie, jedna ujemna wartość własna / nieokreślona)