Иллюстрированный самоучитель по Mathematica 3/4

Разложение полиномов (функции класса Factor)

Разложение чисел, математических выражений и особенно полиномов на простые, множители является столь же распространенной операцией, что и функции Simplify, Collect и Expand. Имеется целый ряд функций, в названии которых есть слово Factor и которые решают указанные задачи:

  • Factor [poly] – выполняет разложение полинома над целыми числами;
  • Factor [poly, Modulus › p] – выполняет разложение полинома по модулю простого числа р;
  • Factorlnteger [n] – возвращает список простых множителей целого числа п вместе с их показателями степеней. Опция FactorComplete позволяет указать, следует ли выполнять полное разложение;
  • FactorList [poly] – возвращает список множителей полинома с их показателями степени. Опция Modulus › p позволяет представить множители полинома по модулю простого числа р;
  • FactorSquareFree [poly] – записывает полином в виде произведения множителей, свободных от квадратов. Опция Modulus › p позволяет представить разложение полинома по модулю простого числа р;
  • FactorSquareFreeList [poly] – возвращает список множителей полинома, свободных от квадратов, вместе с показателями степени. Может использоваться опция Modulus › р;
  • FactorTerms [poly] – извлекает полный (общий) числовой множитель в poly;
  • FactorTermsList [poly] – возвращает лист всех общих числовых множителей полинома poly.

Далее представлен ряд примеров применения этих функций.

Ввод (In) Вывод (Out)
Factor [x^ 3-6*x^ 2 + 11*х -6] Factor[x^ 3-6*х^ 2 + 21*х -52] (-3 + x) (-2+x) (-1 + x) (-4 + x) (13-2X+X2)
Factor [хА 5 + 8*х^ 4 + 31*х^ 3 + 80*х^ 2 + 94*х + 20, Modulus › 3] (1+x)2 (2+x)3
FactorList[xA 4-1, Modulus › 2] FactorSquareFree [ (x^ 2 + 1)*(х^ 4-1) ] {{1, 1}, {1 + x, 4}} (-1+x2) (1 + x2)2
FactorSguareFree [ (x^ 2 + l)*(x^ 4-1), Modulus › 2] (1+x)6
FactorSquareFreeListt (x^ 2 +1)*  
(xA 4-1), Modulus › 2] FactorTerms[2*x^ 2 + 4*x + 6] FactorTermsList[2*x^ 2 + 4*x + 6] {{1, 1), {1 + x, 6}} 2 (3+ 2x+ x2) {2, 3 + 2X+X2 }
Factorlnteger [123456789] {{3, 2), {3607, 1}, {3803, 1}}
FactorList[x^ 4-1] {{!,.!}, {-1 + x, 1}, {1+x, 1}, {1+x2, 1}}
FactorSquareFreeListt (x^ 2 +1)* (x^ 4-1) ] {{1, 1}, {-1+x2, 1}, {1 + x2, 2}}

Обычно функция Factor выявляет внутреннюю суть полинома, раскладывая его на множители, содержащие корни полинома. Однако в ряде случаев корни полинома удобнее получать в явном виде с помощью уже рассмотренной функции Roots.

Функция Factor может работать и с тригонометрическими выражениями, поскольку многие из них подчиняются правилам преобразований, присущим полиномам. При этом тригонометрический путь решения задается опцией Trig › True. Это иллюстрируют следующие примеры.

Ввод (In) Вывод (Out)
Factor [Csc[x] + Sec[x], Trig › True] Csc[x] Sec[x] (Cos[x]+ Sin[x])
Factor [ Sin [3*x], Trig › True] (1+ 2Cos[2x]) Sin[x]
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.