Warning: include(/var/www/iill7773/data/www/wiselab.ru/wp-content/plugins/wp-super-cache/wp-cache-base.php): failed to open stream: No such file or directory in /home/u7426dd0/domains/wiselab.ru/public_html/wp-content/plugins/wp-super-cache/wp-cache.php on line 65

Warning: include(): Failed opening '/var/www/iill7773/data/www/wiselab.ru/wp-content/plugins/wp-super-cache/wp-cache-base.php' for inclusion (include_path='.:/opt/alt/php55/usr/share/pear:/opt/alt/php55/usr/share/php') in /home/u7426dd0/domains/wiselab.ru/public_html/wp-content/plugins/wp-super-cache/wp-cache.php on line 65

Warning: include_once(/var/www/iill7773/data/www/wiselab.ru/wp-content/plugins/wp-super-cache/ossdl-cdn.php): failed to open stream: No such file or directory in /home/u7426dd0/domains/wiselab.ru/public_html/wp-content/plugins/wp-super-cache/wp-cache.php on line 82

Warning: include_once(): Failed opening '/var/www/iill7773/data/www/wiselab.ru/wp-content/plugins/wp-super-cache/ossdl-cdn.php' for inclusion (include_path='.:/opt/alt/php55/usr/share/pear:/opt/alt/php55/usr/share/php') in /home/u7426dd0/domains/wiselab.ru/public_html/wp-content/plugins/wp-super-cache/wp-cache.php on line 82
Основные операции над полиномами | Учебники

Главная > Mathematica 8 > Основные операции над полиномами


Основные операции над полиномами

Основные операции над полиномами
Полиномом называют выражение, состоящее из нескольких частей одного вида. В западной математической литературе к ним часто относят степенной многочлен вида
Р(х) = а0 + а1х + а2 х2 + а3 х3 + … + аnхn.
Хотя термин «полином» не очень прижился в отечественной математической литературе, мы оставляем его ввиду краткости и ради лучшего понимания синтаксиса функций системы, поскольку слова poly и Polynomial входят в параметры и имена многих функций. При этом полиномы мы будем кратко обозначать как poly или pi (здесь i — индекс или порядковый номер полинома).
Над полиномами можно выполнять обычные арифметические операции: сложение, вычитание, умножение и деление. Это иллюстрируют следующие примеры (здесь р! и р2 — полиномы от одной переменной х):
р1 := х^3 + 2*х^2 + 3*х + 4
р2 := х^2 — 1
р1 + р2
3+3х+3х2+х3
р1 — p2
5+3х+х2+х3
Expand[pl*p2]
-4- 3х + 2х2 + 2х3 + 2х4 + х5
pl/p2
[4 + Зх+2х2 + х3]/[-1 + х2]
Simplify[(х^5 + 2*х^4 + 2*х^3 + 2*х^2 — 3*х — 4)/(х^2 — 1)]
4+3х+2х2+х3
Если ситуация со сложением и вычитанием полиномов достаточно очевидна, то с умножением и делением результат часто повторяет задание. Для получения результата умножения полиномов в обычной форме следует использовать функцию расширения символьных выражений Expand.
Если один полином делится на другой (это бывает далеко не всегда), то для получения результата надо использовать функцию Simplify. В общем случае при делении полиномов может оставаться остаток. Функция, обеспечивающая деление полиномов и вычисляющая остаток, описана ниже.
Разложение полиномов — функции класса 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]

Статьи по теме

Комментарии запрещены.