04 · Многочлены: коэффициенты и последовательности Штурма
Многочлены: коэффициенты и последовательности Штурма¶
Стройте многочлены из конечных последовательностей и считайте корни точной рациональной арифметикой.
Вы можете свести рациональную операцию к определениям целых и натуральных.
- объяснить своими словами математическое определение «Многочлены: коэффициенты и последовательности Штурма»
- показать его представление в данных Python
- предсказать небольшой запуск по настоящему коду
`(a₀,a₁,…)` содержит коэффициенты `x⁰,x¹,…`. Теорема Штурма считает различные вещественные корни по переменам знака.
`Polynomial` хранит коэффициенты с постоянного члена и удаляет конечные нули для единственной формы.
`(a₀,a₁,…)` → `Polynomial`; `#roots` → `sturm_sequence`
Математическое определение
Математическое определение¶
(a₀,a₁,…) содержит коэффициенты x⁰,x¹,…. Теорема Штурма считает различные вещественные корни по переменам знака.
Представление данных
Представление данных¶
Polynomial хранит коэффициенты с постоянного члена и удаляет конечные нули для единственной формы.
Реализация на Python
Реализация на Python¶
evaluate вычисляет значение, sturm_sequence строит отрицательные остатки, count_real_roots сравнивает перемены знака на концах.
Точное соответствие, используемое в курсе:
Ход выполнения
Ход выполнения¶
x²-2 отрицателен в 1 и положителен в 2, подготавливая изолирующий интервал.
Предскажите знаки и решите, доказывает ли одна смена знака единственность корня.
Сначала запишите прогноз, затем запускайте.
Проверка тестами
Проверка тестами¶
Тесты проверяют нормализацию, вычисление, деление и известные числа корней; единственность требует Штурма.
Область и ограничения
Область и ограничения¶
Рассматриваются одномерные многочлены над рациональными; кратные и граничные корни требуют точных соглашений.