Факторизация на полиноми от висока степен

Въвеждане на полином

Примерни полиноми:

Инструкции за формат на въвеждане:

Нотация за степен: Използвайте символа ^, напр., x^2, x^3
Нотация за умножение: Използвайте символа *, напр., 2*x^2, -3*x
Събиране и изваждане: Използвайте + и - за свързване на членове
Константен член: Директно въведете числа, като +6, -12

Резултат от факторизация

Въведете полинома и щракнете Стартиране на факторизация

Обяснение на алгоритъма:

1. Теорема за рационални корени:
За полином с целочислени коефициенти a_n·x^n + ... + a_1·x + a_0, ако съществува рационален корен p/q (в най-опростен вид), тогава:
  • p трябва да бъде делител на константния член a_0
  • q трябва да бъде делител на водещия коефициент a_n
  • Възможните рационални корени са: ±(делители на p) / (делители на q)
  • Пример:За x³ - 6x² + 11x - 6, възможните рационални корени са ±1, ±2, ±3, ±6
2. Синтетично деление:
Използва се за проверка на корени и извършване на полиномно деление:
  • Ако r е корен на полином P(x), тогава P(x) = (x - r)·Q(x)
  • Синтетичното деление бързо намира частния полином Q(x)
  • Продължете факторизацията на Q(x), докато не може да бъде допълнително факторизиран
3. Числени методи за намиране на корени:
Когато теоремата за рационални корени не успее да намери целочислени корени, използвайте числени методи:
  • Метод на Нютон за итерация:x_{n+1} = x_n - f(x_n)/f'(x_n)
  • Използва се за намиране на реални корени (които може да са ирационални)
  • За комплексни корени се показват реалната и имагинерната част
  • Пример:x^2 - 2 = (x - sqrt(2))(x + sqrt(2))
4. Разпознаване на специални форми:
  • Разлика на квадрати:a^2 - b^2 = (a + b)(a - b)
  • Пълен квадрат:a^2 +/- 2ab + b^2 = (a +/- b)^2
  • Разлика/сума на кубове:a^3 +/- b^3 = (a +/- b)(a^2 -/+ ab + b^2)
  • Изваждане на общи множители:Например, x³ + 2x² = x²(x + 2)

Сложност на алгоритъма:

  • Търсене на рационални корени:O(d·n), където d е броят на възможните корени, а n е степента на полинома
  • Синтетично деление:O(n) на деление
  • Числено намиране на корени:O(k·n), където k е броят на итерациите

Бележки:

  • Поддържа само полиноми с целочислени коефициенти
  • За полиноми от висока степен (степен ≥ 5) пълната факторизация на рационални корени може да не е възможна
  • Числените решения може да имат грешки при закръгляне и се показват като приблизителни стойности
  • Комплексните корени се показват във формата a + bi
  • Нередуцируемите полиноми ще бъдат показани в оригиналната си форма