Теорема Штурма — мощный инструмент в алгебре и анализе, позволяющий определить точное количество действительных корней многочлена на заданном интервале. Её можно эффективно применять и к полиномам с параметром, чтобы исследовать, как число действительных корней зависит от значения параметра.
Жак Шарль Франсуа Штурм (1803–1855) — швейцарско-французский математик. Он придумал метод, с помощью которого можно точно узнать, сколько действительных корней (то есть решений на числовой прямой) имеет многочлен на любом заданном отрезке — не решая уравнение!
Метод Штурма предлагает построить специальный список функций (называется последовательность Штурма), а потом посчитать, как меняются знаки этих функций в точках a и b .
Разница в числе «смен знаков» и даст точное количество корней на этом отрезке.
Теорема Штурма даёт число корней в открытом интервале (α,β) , даже если в концах есть корни — они не учитываются.
Построение последовательности Штурма
Допустим, у нас есть многочлен f(x) . Тогда:
- Первый элемент: сам многочлен f0(x)=f(x)
- Второй элемент: его производная f1(x)=f′(x)
- Следующие элементы: берём остаток от деления предыдущих двух, но с минусом:
- f2(x)=−остаток от деления f0 на f1
- f3(x)=−остаток от деления f1 на f2
- и так далее — пока не получим постоянное число (не зависящее от x ).
Подсчет числа корней
Пусть мы построили последовательность: f0(x), f1(x), f2(x), …, fn(x)
Подставляем левую границу отрезка x=a → получаем числа: f0(a), f1(a), f2(a), …
Игнорируем нули и считаем, сколько раз подряд идут разные знаки:
Например: +, +, −, + → смены: +→− (1), −→+ (2) → 2 смены.Это число обозначают V(a) .
То же самое делаем для правой границы x=b → получаем V(b) .
Ответ:Число корней на (a,b]=V(a)−V(b)
Общее правило определения знака
Пусть дан многочлен
f(x) = a_n x^n + a_{n-1} x^{n-1} + \dots + a_1 x + a_0, \quad a_n \ne 0.Тогда при x→±∞ , достаточно посмотреть на старший член этого многочлена fn(x) .
\operatorname{sgn}\bigl(f(x)\bigr) \xrightarrow[x \to +\infty]{} \operatorname{sgn}(a_n), \qquad
\operatorname{sgn}\bigl(f(x)\bigr) \xrightarrow[x \to -\infty]{} \operatorname{sgn}\bigl(a_n (-1)^n\bigr).Примеры
Пример 1.
Рассмотрим многочлен:
f(x) = x^2 - 2
Определить сколько корней между x=0 и x=2 .
Построим последовательность Штурма:
\begin{aligned}
f_0(x) &= x^2 - 2, \\
f_1(x) &= f'(x) = 2x, \\
f_2(x) &= -\operatorname{rem}(f_0, f_1) = 2.
\end{aligned}Значения в точке x = 0 :
f_0(0) = -2,\quad f_1(0) = 0,\quad f_2(0) = 2
\quad\Rightarrow\quad \text{знаки: } -, + \quad\Rightarrow\quad V(0) = 1Значения в точке x = 2:
f_0(2) = 2,\quad f_1(2) = 4,\quad f_2(2) = 2
\quad\Rightarrow\quad \text{знаки: } +, +, + \quad\Rightarrow\quad V(2) = 0Число действительных корней:
V(0) - V(2) = 1 - 0 = 1
Следовательно, уравнение x2 — 2 = 0 имеет ровно один корень на интервале (0,2] .
Пример 2.
Рассмотрим кубический многочлен:
f(x) = x^3 - 3x + 1
Построим последовательность Штурма:
\begin{aligned}
f_0(x) &= x^3 - 3x + 1, \\
f_1(x) &= f'(x) = 3x^2 - 3, \\
f_2(x) &= -\operatorname{rem}(f_0, f_1) = 2x - 1, \\
f_3(x) &= -\operatorname{rem}(f_1, f_2) = \frac{9}{4}.
\end{aligned}Найдём число действительных корней на всей числовой прямой
Чтобы узнать знак fk(x) при x→±∞ , достаточно посмотреть на старший член этого многочлена fk(x).
x \to +\infty :\\
f_0 \to +,\quad f_1 \to +,\quad f_2 \to +,\quad f_3 = + \quad\Rightarrow\quad
V(+\infty) = 0\\
x \to -\infty :\\
f_0 \to -,\quad f_1 \to +,\quad f_2 \to -,\quad f_3 = + \quad\Rightarrow\quad \text{знаки: } -, +, -, + \quad\Rightarrow\quad
V(-\infty) = 3Число действительных корней:
V(-\infty) - V(+\infty) = 3 - 0 = 3
Следовательно, уравнение x3 — 3x + 1 = 0 $ имеет три различных действительных корня.
Пример 3.
Рассмотрим многочлен с параметром:
f(x; a) = x^3 - 3x + a,\quad a \in \mathbb{R}Последовательность Штурма:
\begin{aligned}
f_0(x) &= x^3 - 3x + a, \\
f_1(x) &= f'(x) = 3x^2 - 3, \\
f_2(x) &= -\operatorname{rem}(f_0, f_1) = 2x - a, \\
f_3(x) &= -\operatorname{rem}(f_1, f_2) = 3 - \frac{3a^2}{4}.
\end{aligned}
Анализ пределов:
f0(x)=x3−3x+a → старший член x3 → при x→−∞ : знак «–»
f1(x)=3x2−3 → старший член 3x2 → всегда «+» при ∣x∣→∞
f2(x)=2x−a → старший член 2x → при x→−∞ : «–», при x→+∞ : «+»
f3(x)=3−3a2/4 — константа, не зависит от x
Знаки зависят от старших степеней и от параметра a
x \to +\infty :\\
(f_0, f_1, f_2, f_3) \to \bigl(+,\, +,\, +,\, \operatorname{sgn}(3 - \tfrac{3a^2}{4})\bigr)
\\
x \to -\infty :\\
(f_0, f_1, f_2, f_3) \to \bigl(-,\, +,\, -,\, \operatorname{sgn}(3 - \tfrac{3a^2}{4})\bigr)Теперь считаем смены знаков в зависимости от того, положительна или отрицательна f3.
Анализируем три случая
- Если ∣a∣<2 → f3>0
- V(−∞)=3 , V(+∞)=0 → 3 корня
- Если ∣a∣=2 → f3=0
- Последовательность обрывается — есть кратный корень → 2 корня (один двойной)
- Если ∣a∣>2 → f3<0
- V(−∞)=2 , V(+∞)=1 → 1 корень
Таким образом, число корней полностью определяется значением параметра a — и мы это выяснили без решения уравнения!
Число действительных корней:
\text{Количество корней} =
\begin{cases}
3, & |a| < 2, \\
2, & |a| = 2 \quad (\text{кратный корень}), \\
1, & |a| > 2.
\end{cases}Пример 4.
Найдите все значения параметра a, при которых уравнение
x^3 - 3x + a = 0
имеет ровно два различных действительных корня.
Решение:
У кубического уравнения не может быть ровно два различных корня, если только один из них не является кратным (двойным). То есть:
- либо 1 корень (и два комплексных),
- либо 3 различных корня,
- либо 2 корня, из которых один — двойной (график касается оси).
Значит, нужно найти такие a , при которых уравнение имеет кратный корень.
Кратный корень — это число x0 , которое одновременно является корнем и самого уравнения, и его производной:
\begin{cases}
x^3 - 3x + a = 0, \\
3x^2 - 3 = 0.
\end{cases}Из второго уравнения: x2=1⇒x=±1 .
Подставляем в первое:
- При x=1 : 1−3+a=0⇒a=2
- При x=−1 : −1+3+a=0⇒a=−2
Проверка:
- При a=2 : x3−3x+2=(x−1)2(x+2) → корни: x=1 (кратность 2), x=−2 → два различных корня
- При a=−2 : x3−3x−2=(x+1)2(x−2) → корни: x=−1 (кратность 2), x=2 → два различных корня
Ответ: a=−2 или a=2
Пример 5.
Найдите все значения параметра a, при которых все корни уравнения
ax^2+2(2−a)x+1=0 удовлетворяют условия |x|<1
Задача 1447: https://uchus.online/tasks/bank/79
Решим методом Штурма
Ряд Штурма
\begin{align*}
f_0(x) &= a x^2 + (4-2a)x + 1 \\
f_1(x) &= f_0'(x) = 2a x + 4 - 2a \\
f_2(x) &= -\frac{(a-1)(a-4)}{a}
\end{align*}Анализ знаков
\textbf{В точке $x = -1$:}\\
\begin{align*}
f_0(-1)& = 3(a-1) \\
f_1(-1)& = 4(1-a) \\
f_2& = -\frac{(a-1)(a-4)}{a}
\end{align*}\\
\textbf{В точке $x = 1$:}\\
\begin{align*}
f_0(1) &= -a + 5 \\
f_1(1) &= 4 \\
f_2 &= -\frac{(a-1)(a-4)}{a}
\end{align*}Число перемен знаков
N=W(−1)−W(1):
- 0<a<1: W(−1)=2, W(1)=1 ⇒ N=1 корень в (-1,1) — не подходит (должны быть оба).
- 1<a<4: W(−1)=2, W(1)=0 ⇒ N=2 корня в (-1,1) — подходит.
- 4<a<5: W(−1)=1, W(1)=1⇒ N=0 корней в (-1,1) — не подходит (корни вне).
- a>5: W(−1)=1, W(1)=2 ⇒ N=−1 — невозможно, значит, где-то f1(1) или f0(1) ноль — особый случай.
Граничные точки
a=1: f0(x)=x2+2x+1=(x+1)2, корень -1 не в открытом интервале ⇒ не подходит.
a=4: f0(x)=4x2−4x+1=(2x−1)2, корень 1/2 в (-1,1) ⇒ подходит.
a=5: f0(1)=0 — особый случай, но 5x2−6x+1=0 ⇒ корни 1 и 1/5 ⇒ не все в (-1,1) ⇒ не подходит.
Случай a<0
Можно аналогично проверить — окажется N≤1 корень в (-1,1), так что не подходит.
Случай a=0
Уравнение линейное: 4x+1=0, x=−1/4∈(−1,1) — подходит.
Итог по методу Штурма
Подходят:
a=0 и 1<a≤4.
Дополнительно
https://www.mathedu.ru/text/shafarevich_o_reshenii_uravneniy_vysshyh_stepeney_1954/p21