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

Функции для работы с полиномами

Для работы с полиномами имеется множество функций, по большей части достаточно очевидных для знакомого с математикой пользователя:

  • Decompose [poly, x] – выполняет разложение полинома, если это возможно, на более простые полиномиальные множители;
  • GroebnerBasis [ {poly1, poly2,…}, {x1, х2,…}] – возвращает список полиномов, которые образуют базис Гробнера для идеала, порожденного полиномами polyi;
  • Polynomial-Division [p, q, x] – возвращает список частного и остатка, полученных делением полиномов р и q от х;
  • PolynomialGCD [poly1, poly2,…] – возвращает наибольший общий делитель ряда полиномов poly1, poly2,… С опцией Modulus › p функция возвращает наибольший общий делитель по модулю простого числа р;
  • PolynomialLCM[poly1, poly2,…] – возвращает наименьшее общее кратное полиномов poly1, poly2,… С опцией Modulus › p функция возвращает наименьшее общее кратное по модулю простого числа р;
  • PolynomialMod [poly, m] – возвращает полином poly, приведенный по модулю m;
  • PolynomialMod [poly, {m1, m2,…}] – выполняет приведение по модулю всех mi;
  • PolynomialQ [expr, var] – возвращает значение True, если expr является полиномом от var, иначе возвращает False;
  • PolynomialQ [expr, {varl,…}] – проверяет, является ли expr полиномом от vari;
  • PolynomialQuotient [р, q, х] – возвращает частное от деления р и q как полиномов от х, игнорируя какой-либо остаток;
  • PolynomialRemainder [р, q, х] – возвращает остаток от деления р на q как полиномов от х;
  • Resultant [poly1, poly2, var] – вычисляет результат полиномов poly1 и poly2 по переменной var. С опцией Modulus › p функция вычисляет результат по модулю простого числа р.

Итак, работа с этими функциями, по существу, сводит операции с таким сложным видом символьных данных, как многочлены, к типовым алгебраическим операциям над обычными символьными переменными. Следующие примеры поясняют работу с полиномами:

P[x]: = a*x^3 + b*x^2 + c*x + d
Q[x]: = e*x^2 - f*x -1
Null2
  
Collect[P[x] + Q[x], x]
-1 + d+ (c -f) x+ (b+e) x^ax3
  
Collect[P[x]*Q[x], x]
-d+ (-c-df) x+ (-b+de -cf) x2* (-a+ ce-bf) x3 +
(be-af) x4+aex5
  
{PolynomialQ[P[x]], PolynomialQ[Q[x]]}
{True, True}
  
PolynomialQ[Sin[x], x]
False
  
PolynomialQ[P[x] + Q[x]]
True
  
Decompose[P[x], x]
{d+ cx+ bx2 + ax3}
  
PolynomialQuotient[P[x], Q[x], x]
b/e+af/e2+ax/e
  
PolynomialRemainder[Q[x], P[x], x]
-1-fx+ex2
  
CoefficientList[P[x], x]
{d, c, b, a}
  
Decompose[x^6 + x + 1 -x^3 + 2*x^5, x]
{1+x-x3+2x5 + x6}
  
PolynomialGCD[P[x], Q[x]]
1
  
PolynomialLCM[P[x], Q[x]]
P[x] Q[x]
  
PolynomialQuotient[3*x^3-2*x^2 + x, x^2 -x + 1, x]
1+3x
  
PolynomialRemainder[3*x^3-2*x^2 + x, x^2 -x + 1, x]
-1-x
  
Reduce[a*x^2 + b*x + c == 0, x]

Полиномы широко используются в математических расчетах. Поэтому обилие функций по работе с ними облегчает проведение сложных вычислений и позволяет представлять результаты в достаточно простой и удобной форме. Если бы системы компьютерной алгебры работали только с одними полиномами, то и в этом случае они вполне оправдали бы себя в глазах многих математиков.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.