Комплексные корни многочленов

В комплексных числах у каждого квадратного уравнения есть корни — даже при отрицательном дискриминанте.

У многочлена с вещественными коэффициентами комплексные корни всегда идут сопряжёнными парами.

Дискриминант снова работает

Квадратное уравнение $ax^2+bx+c=0$ решается знакомой формулой с дискриминантом $D=b^2-4ac$:

$$x=\frac{-b\pm\sqrt{D}}{2a}.$$

Если $D\lt0$, в школе говорили «корней нет». Но в комплексных числах $\sqrt{D}$ существует и равен мнимому числу. Решим $x^2+x+1=0$: дискриминант $D=1-4=-3\lt0$, значит $\sqrt{D}=i\sqrt3$.

import cmath
a, b, c = 1, 1, 1
D = b*b - 4*a*c
x1 = (-b + cmath.sqrt(D)) / (2*a)
x2 = (-b - cmath.sqrt(D)) / (2*a)
print("D =", D)
print("x1 =", complex(round(x1.real,4), round(x1.imag,4)))
print("x2 =", complex(round(x2.real,4), round(x2.imag,4)))

Вывод:

D = -3
x1 = (-0.5+0.866j)
x2 = (-0.5-0.866j)

Корни $-\tfrac12\pm\tfrac{\sqrt3}{2}i$ — сопряжённая пара. У них одинаковая вещественная часть и противоположные мнимые.

Сопряжённые пары и теорема Виета

Это не случайность. Если многочлен имеет вещественные коэффициенты и $z$ — его корень, то и $\bar{z}$ обязательно корень. Поэтому комплексные корни «ходят парами». Проверим через теорему Виета: сумма корней должна равняться $-b/a=-1$, а произведение $c/a=1$:

import cmath
a, b, c = 1, 1, 1
D = b*b - 4*a*c
x1 = (-b + cmath.sqrt(D)) / (2*a)
x2 = (-b - cmath.sqrt(D)) / (2*a)
print("Сумма корней:", complex(round((x1+x2).real,4), round((x1+x2).imag,4)))
print("Произведение:", complex(round((x1*x2).real,4), round((x1*x2).imag,4)))

Вывод:

Сумма корней: (-1+0j)
Произведение: (1+0j)

Сумма $-1$, произведение $1$ — мнимые части взаимно уничтожились, как и положено для сопряжённой пары.

Как работает под капотом

Почему корни сопряжены? Подставим $z$ в многочлен $P(z)=0$ и применим сопряжение ко всему равенству. Так как коэффициенты вещественны (они равны своим сопряжённым), а сопряжение «проходит» через сумму и произведение, получим $P(\bar{z})=\overline{P(z)}=\bar0=0$. Значит, $\bar{z}$ тоже корень. Если же коэффициенты комплексные, это свойство пропадает.

Частые ошибки

  • Писать «корней нет» при $D\lt0$. В комплексных числах корни есть всегда.
  • Забывать про знак: $\sqrt{-3}=i\sqrt3$, а не $\sqrt3$.
  • Ожидать сопряжённость корней при комплексных коэффициентах — там пары не гарантированы.

Итог

  • При $D\lt0$ квадратное уравнение имеет два комплексно-сопряжённых корня.
  • У многочлена с вещественными коэффициентами комплексные корни идут парами $z,\bar{z}$.
  • Теорема Виета остаётся в силе и для комплексных корней.
Проверьте себя
1. Сколько корней имеет уравнение $x^2+x+1=0$ в комплексных числах?
AНи одного
BОдин
CДва комплексно-сопряжённых
DБесконечно много
2. Почему у многочлена с вещественными коэффициентами комплексные корни идут парами?
AЭто совпадение
BПотому что сопряжение сохраняет равенство $P(z)=0$ при вещественных коэффициентах
CПотому что корней всегда чётное число
DПотому что дискриминант положителен