Факторизация полиномов
Этот калькулятор находит разложение многочлена на рациональные множители.
Этот материал распространяется на условиях лицензии Creative Commons Attribution/Share-Alike License 3.0 (Unported). Это означает, что вы можете размещать этот контент на своем сайте или создавать на его основе собственный (в том числе и в коммерческих целях), при условии сохранения оригинального лицензионного соглашения. Кроме того, Вы должны отметить автора этой работы, путем размещения HTML ссылки на оригинал работы https://planetcalc.ru/8373/. Пожалуйста оставьте без изменения все ссылки на других авторов данной работы или работы, на основе которой создана данная работа (если таковые имеются в спроводительном тексте).
Данный калькулятор находит разложение входного многочлена одной переменной на неразлагаемые множители с рациональными коэффициентами. Чтобы лучше понять, как работает калькулятор можно включить галочку 'Детали', а также изучить материал, представленный сразу за калькулятором.
Разложение полинома в рациональных числах1
- преобразовать входной полином в рациональных числах Q[x] в нормированный полином в целых числах Z[x]
- Найти все квадратичные множители при помощи Разложения Юна
- Выполнить последующие шаги для всех множителей степени выше 1
-
- Если старший коэффициент не равен 1, преобразовать полином в монический следующим образом:
, где
v(y) - полученный монический полином (старший коэффициент = 1),
u(x) - входной полином,
an - старший коэффициент u(x),
x = any
- Если старший коэффициент не равен 1, преобразовать полином в монический следующим образом:
-
- Найти неразлагаемые множители v(y)=v1v2...vr в конечном поле Fp[x]
-
-
- Найти минимальное простое число p не являющееся множителем дискриминанта v(y)
-
-
-
- Если p - мало, используем алгоритм Берлекампа для получения множителей v(y), если p велико - используем алгоритм Кантора-Зассенхауза2
-
-
- Используем преобразование Хенселя для повышения степени разложения до верхней границы коэффициентов
-
-
- Определим верхнюю границу коэффициентов результата:
, где
- максимальное абсолютное значение коэффициента входного многочлена (высота полинома)
- Определим верхнюю границу коэффициентов результата:
-
-
-
- Выполнить преобразование Хенселя раз
-
-
- проверить, полученные множители делением v(y)/vi в кольце целых чисел Z[x], убрать неправильные множители
-
- Выполнить обратное преобразование монического полинома:
pp - примитивная часть полинома, функция убирает контент полинома
- Выполнить обратное преобразование монического полинома:
Комментарии