Компьютерная алгебра в программе Mathematica 4

         

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



Разложение полиномов — функции класса 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+X 2 )

Factor [х А 5 + 8*х ^ 4 + 31*х ^ 3 + 80*х ^ 2 + 94*х + 20, Modulus -> 3]

(1+x) 2 (2+x) 3

FactorList[x A 4 - 1, Modulus -> 2] FactorSquareFree [ (x ^ 2 + 1)*(х ^ 4 - 1) ]

{{1, 1}, {1 + x, 4}} (-1+x 2 ) (1 + x 2 ) 2

FactorSguareFree [ (x ^ 2 + l)*(x ^ 4 - 1) , Modulus -> 2]

(1+x) 6

FactorSquareFreeListt (x ^ 2 +1)*

(x A 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+ x 2 ) {2, 3 + 2X+X 2 }

Factorlnteger [123456789]

{{3, 2), {3607, 1}, {3803, 1}}

FactorList[x ^ 4 - 1]

{{!,.!}, {-1 + x, 1}, {1+x, 1}, {1+x 2 , 1}}

FactorSquareFreeListt (x ^ 2 +1)* (x ^ 4 - 1) ]

{{1, 1}, {-1+x 2 , 1}, {1 + x 2 , 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]



Содержание раздела