Вступление
Сегодня мы позаботимся о несчастье первокурсников по линейной алгебре: определенность матрицы! По-видимому, это еще не проблема, поэтому здесь мы идем:
вход
- A симметричная матрица в любом удобном формате (конечно, вы также можете взять только верхнюю или нижнюю часть матрицы) A
- Опционально: размер матрицы
Что делать?
Задача проста: если задана вещественная матрица Matrix, решите, является ли она положительно определенной, путем вывода истинного значения, если это так, и значения Falsey, если нет.
Вы можете предположить, что ваши встроенные модули действительно работают точно и, следовательно, не должны учитывать числовые проблемы, которые могут привести к неправильному поведению, если стратегия / код «доказуемо» должны дать правильный результат.
Кто выигрывает?
Это код-гольф , поэтому выигрывает самый короткий код в байтах (на язык)!
Что такое положительно-определенная матрица?
Существует, по-видимому, 6 эквивалентных формулировок, когда симметричная матрица положительно определена. Я воспроизведу три более простых и отсылаю вас к Википедии для более сложных.
- Если то положительно определен. Это можно переформулировать следующим образом: если для каждого ненулевого вектора (стандартное) скалярное произведение числа и положительно, то положительно определено.v v v
- Пусть быть собственные из , если сейчас (то есть все собственные значения положительны) тогда положительно определен. Если вы не знаете, что такое собственные значения, я предлагаю вам использовать ваш любимый поисковик, чтобы выяснить это, потому что объяснение (и необходимые стратегии вычислений) слишком длинны, чтобы содержаться в этом посте.A ∀ i ∈ { 1 , … , n } : λ i > 0 A
- Если существует разложение Холецкого группы , т. Е. Существует нижнетреугольная матрица такая, что то положительно определен. Обратите внимание, что это эквивалентно раннему возвращению «false», если в любой момент вычисление корня во время алгоритма завершается неудачей из-за отрицательного аргумента.
Примеры
Для правдивого вывода
Для вывода фальси
(по крайней мере одно собственное значение равно 0 / положительное полуопределено)
(собственные значения имеют разные знаки / неопределенные)
(все собственные значения меньше 0 / отрицательно определены)
(все собственные значения меньше 0 / отрицательно определены)
(все собственные значения меньше 0 / отрицательно определены)
(три положительных, одно отрицательное собственное значение / неопределенное)