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 > Функции для работы с полиномами


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

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

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

Итак, работа с этими функциями, по существу, сводит операции с таким сложным видом символьных данных, как многочлены, к типовым алгебраическим операциям над обычными символьными переменными. Следующие примеры поясняют работу с полиномами:
Р[х] := а*х^3 + b*х^2 + с*х + d
Q[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], х]
{d+ cx+ bх2 + ах3}
PolynomialQuotient[P[x], Q[x], x]
b/e+af/e2+ax/e
PolynomialRemainder[Q[x], Р[х], х]
-1-fx+ex2
CoefficientList[P[x], x]
{d, с, b, a}
Decompose[х^6 + х + 1 — х^3 + 2*х^5, х]
{1+х-х3+2х5 + х6}
PolynomialGCD[Р[х], Q[х]]
1
PolynomialLCM[P[x], Q[x]]
Р[х] Q[x]
PolynomialQuotient[3*x^3 — 2*х^2 + х, х^2 — х + 1, х]
1+Зх
PolynomialRemainder[3*х^3 — 2*х^2 + х, х^2 — х + 1, х]
-1-х
Reduce[а*х^2 + b*х + с == 0, х]
Полиномы широко используются в математических расчетах. Поэтому обилие функций по работе с ними облегчает проведение сложных вычислений и позволяет представлять результаты в достаточно простой и удобной форме. Если бы системы компьютерной алгебры работали только с одними полиномами, то и в этом случае они вполне оправдали бы себя в глазах многих математиков.
Функции для расширенных операций с выражениями
Выше была описана сравнительно немногочисленная группа функций для работы с выражениями — их упрощения, расширения, выделения множителей и т. д. Эти функции способны решать большинство повседневных задач, связанных с аналитическими преобразованиями выражений. Однако система Mathematica имеет гораздо более полный набор функций для работы с выражениями. Они приведены в приложении.
К сожалению, объем книги не позволяет привести примеры использования всех этих функций, да и вряд ли они будут интересны всем читателям. Поэтому приведем лишь отдельные примеры работы с некоторыми из этих функций:

  • Apart [expr] — переписывает рациональное выражение expr в виде суммы членов с минимальными знаменателями;
  • Apart [expr, var] — аналогична Apart [expr], но все переменные, кроме var, интерпретируются как константы.

Примеры использования функции Apart:
Apart[(x^4 + 1)/(х^2 — 1)]
1+-1/(1+X)+X2-1/(1 + х )
Apart[(х^3 — у^3 — 1)/(х^2 — у), у]
Две уже знакомые нам функции выделяют знаменатель и числитель выражения в виде дроби:
Denominator[(х^2 — х — 1)/(х — 1)]
-1 + х
Numerator[(х^2 — х — 1)/(х — 1)]
-1-х + х2
Следующие функции позволяют судить о размерности выражений:

  • Depth [expr ] — возвращает значение, на единицу превышающее максимальное число индексов, требуемых для указания любой части выражения expr;
  • Dimensions [expr] — возвращает список размерностей выражения expr;
  • Dimensions [expr, n] — возвращает список размерностей expr до уровня n. Примеры применения этих функций:

Depth[х^3 + х^2 + х + 1]
3
Dimensions[х^3 — 2*х^2 + 1]
{3}.
Функция Evaluate [expr] вычисляет выражение expr безусловно, то есть даже если оно оказывается аргументом функции, чьи атрибуты определяют его невычисляемым:
Evaluate[1 + 1 + Sin[l]]
2+Sin[l]

Обилие функций для работы с математическими выражениями позволяет решать с помощью системы Mathernatica самые серьезные задачи символьной математики (компьютерной алгебры). Разумеется, для этого требуется время на полное освоение системы и серьезный опыт практического ее использования. Он приходит лишь спустя год-два постоянной и интенсивной работы, поэтому не упускайте возможности потренироваться в работе с системой Mathematica.

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

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