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

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

Если конечные поля – понятие достаточно экзотическое, то полиномы встреча – ются сплошь и рядом во многих математических и научно-технических расчетах. В пакете расширения Algebra определен ряд новых операций над полиномами. Начнем их рассмотрение с функции PolynomialExtendedGCD:

  • PolynomialExtendedGCD [poly1, poly2 ] – возвращает наибольший общий делитель двух полиномов;
  • PolynomialExtendedGCD[poly1,poly2,Modulus › p] – возвращает наи – больший общий делитель двух полиномов по модулю р.

Примеры применения этой функции приведены ниже:

<< Algebra'PolynomialExtendedGCD
  
PolynomialExtendedGCD[x^2 + 3 x + 2, Expand[(x + 1)(x + 2)], Modulus > 7]
{2+ 3x+x2, (0, 1}}
  
PolynomialExtendedGCD[
Expand[ ((12+1) z^2 + 5 z + I) (I z + 3)], Expand[ ((9+1) z + (3+1)) ((31) z +9)]]
{-31+z,
{ -2261/3341+ 710I/3341(35/3341-3951/10023)+ (5959/20046-20531/20046)z}}

Далее следует функция PolynomialPowerMod [poly1, n, (poly2, р} ], которая является существенно ускоренной версией функции PolynomialMod.

Степени ускорения свидетельствует следующий пример:

<<Algebra`PolynomialPowerMod`
  
Timing[PolynomialPowerMod[1 + x, 200, x^3 + x^2 + 1, Prime[4750]]][[1]],
Timing [PolynomialMod [ (1 + x)^200, x^ + x^2 + 1, Prime [4750] ]][[1]]
  
{0. Second, 2.37 Second)

В данном случае вычисления по функции PolynomialPowerMod оказались выполненными менее чем за 0.01 с, что дает нулевой результат.

Еще одна функция в трех ее модификациях работает с симметричными полиномами:

  • SymmetricReduction [ {x1,…,xn}, k] – возвращает симметричный полином степени k по переменным {х1,…, хn);
  • SymmetricReduction [f, {x1,…,xn}] – возвращает часть полинома {p,q} по переменным {х1,…,хп}, где f=p+q, причем р есть симметричная часть, q – остаток;
  • SymmetricReduction [f, {x1,…,xn}, {s1,…, sn} ] – возвращает часть полинома (p,q) попеременным {x1,…,xn}, где элементарный симметричный полином представляет список {s1,…, sn}.

Следующий пример поясняет создание симметричного полинома 4-й степени по переменным {х,у, z,w,t}:

<<Algebra`SymmetricPolynomials`
SyiranetricPolynomial[{x, y, z, w, t}, 4]
twxy+twxz+twyz+txyz+wxyz

Действие других функций поясняют следующие примеры:

SynraetricReduction[(x + y)^2 + (x + z)^2 + (z + y)^2, {x, y, z}]
{2 (x+y+ z)2-2 (xy+xz+yz), 0}
  
SymmetricReduction[x^5 + y^5 + z^4, {x, y, z}, {s1, s2, s3}]
{s15-5s13s2 + 5s1s22+ 5s12s3-5s2s3, z4-z5}
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.