2. Теорема Штурма.
Здесь будет решена следующая задача. Дан полином с вещественными коэффициентами и дан промежуток на вещественной оси. Требуется узнать, сколько корней имеет полином на этом промежутке.
Способ решения этой задачи основан на принципе счетчика. К переменной
двигающейся от левого конца промежутка, будет «приделан счетчик», стрелка которого поворачивается на одно деление, как только
проходит через корень полинома. Тогда число корней полинома на интервале равно разности показаний счетчика в начале и в конце интервала. Роль показаний счетчика будет играть число перемен знаков среди значений некоторой конечной последовательности (последовательности Штурма) вспомогательных полиномов. Под числом перемен знаков в некоторой последовательности вещественных чисел понимается число пар соседних элементов последовательности, имеющих противоположные знаки, причем нулевые члены исключаются из последовательности.
Последовательность
Штурма полиномов, построенных для данного полинома
удовлетворяет следующим требованиям при значениях
из данного интервала 
1. Последний полином
не обращается в нуль.
2. Два соседних полинома не обращаются в нуль одновременно.
3. Если некоторый полином
обращается в нуль в некоторой точке
то соседние полиномы
имеют в
значения противоположных знаков.
4. Произведение
меняет знак с минуса на плюс, когда
возрастая, проходит через корень полинома 
Теорема Штурма. Число корней полинома
в промежутке
равно числу перемен знаков в значениях полиномов ряда Штурма при
минус число перемен знаков при
Предполагается, что концы промежутка не являются корнями 
Тем самым ряд Штурма играет роль «счетчика» корней.
Доказательство проводится по принципу счетчика. Рассмотрим промежуток
. На нем имеются корни начального полинома
и корни других полиномов ряда Штурма. Мы докажем, что число перемен знаков в значениях полиномов ряда Штурма изменяется, только когда
проходит через корень начального полинома, и тогда это число уменьшается на 1. Ясно, что полином, в силу непрерывности, может изменить знак, только когда
проходит через корень полинома. Поэтому нам нужно проследить, что происходит со знаками и с числом перемен знаков при переходе через корень начального полинома и через корни других полиномов Штурма. Пусть
является корнем некоторого полинома
ряда Штурма и не является корнем начального полинома. Может случиться, что кроме полинома
некоторые другие полиномы тоже обращаются в нуль при Допустим, для определенности, что таким полиномом является
Пусть все остальные полиномы ряда Штурма не обращаются в 0 в точке
Выберем промежуток
настолько малым, что в нем не содержится ни одного корня полиномов ряда Штурма, кроме
и проследим за изменением числа перемен знаков, когда
проходит этот промежуток.
С этой целью рассмотрим следующую таблицу:

Полиномы
. В нуль не обращаются, и их знаки не изменяются на всем промежутке
, следовательно, и число перемен знаков среди пар, не включающих
не изменяется. Пусть
имеет знак о
или
Этот знак сохраняется на всем промежутке
. По третьему свойству полиномов Штурма полином
имеет знак
. Какие бы знаки ни имел полином
слева и справа от
число перемен знаков в отрезке
ряда Штурма остается равным 1 и не изменяется. Такая же картина имеет место на отрезке
Таким образом, когда
проходит по промежутку, не содержащему корней начального полинома
но, быть может, содержащему корни других полиномов ряда, число перемен знаков среди значений полиномов ряда Штурма не изменяется.
Пусть теперь
— корень начального полинома
Возможно, что кроме него при
обращаются в нуль какие-либо другие полиномы. Положим, что
. Рассмотрим снова таблицу распределения знаков:

На участке
ряда Штурма картина распределения знаков будет такая же, как в предыдущем случае, так что, хотя знак полинома
может измениться, число перемен знаков на этом участке не изменится. Полином
в точке
не обращается в 0, согласно второму свойству ряда Штурма. Пусть
— знак
Этот знак полином
сохраняет на всем промежутке
. Согласно четвертому свойству ряда Штурма знак
до
противоположен знаку
а после
знаки
одинаковы.
Таким образом, на участке
ряда Штурма, а следовательно, и во всем ряду Штурма число перемен знаков уменьшается на единицу (счетчик повернулся на одно деление).
Сопоставляя все сказанное, делаем вывод, что при изменении х от а до b число перемен знаков среди значений полиномов ряда Штурма уменьшается на столько единиц, сколько корней полинома
лежит между а и b, что и доказывает теорему Штурма.
Из рассмотрения второй таблицы мы видим, что число перемен знаков при корне
начального полинома такое же, как направо от корня, и на единицу меньше, чем налево от корня. Принимая это во внимание, мы можем в теореме Штурма снять предположение, что
не имеет корней на концах промежутка. Если начало а является корнем, то при отходе от него вправо число перемен знаков не изменится, а если конец b является корнем, то при подходе к нему слева в последний момент число перемен знаков уменьшится на одну единицу. Таким образом, разность числа перемен знаков значений полиномов ряда Штурма в начале и в конце промежутка равна числу корней полинома f на этом промежутке, исключая левый конец (если он является корнем) и включая правый (если он является корнем).