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
Оценка степеней полинома | Учебники

Главная > Maple 15 > Оценка степеней полинома


Оценка степеней полинома

Оценка степеней полинома
Функция degree возвращает высшую степень полинома, а  ldegree — низшую степень. Эти функции задаются следующим образом: 
degree(a.x)                 ldegree(a.x)
Функции degree и ldegree используются, чтобы определить высшую и низшую степени полинома от неизвестного (неизвестных) х, которое чаще всего является единственным, но может быть списком или множеством неизвестных. Полином может иметь отрицательные целые показатели степеней при х. Таким образом, degree и ldegree могут возвратить отрицательное или положительное целое число. Если выражение не является полиномом от х данным параметром, то возвращается FAIL.
Чтобы degree и  ldegree возвратили точный результат, полином обязательно должен быть сгруппирован по степеням х. Например, для выражения (х + 1) (х+ 2) — х2 функция degree не обнаружит аннулирование старшего члена и неправильно возвратит результат 2. Во избежание этой проблемы перед вызовом degree следует применять к полиному функции collect или expand. Если х — множество неизвестных, degree/ ldegree вычисляет полную степень. Если х — список неизвестных, degree/ldegree вычисляет векторную степень. Векторная степень определяется следующим образом:
degree(p.[]) =0
degree(p.[xl.x2,…]) =degree(p.xl) degree(lcoeff(p.xl),[x2….])
Полная степень тогда определяется следующим образом:
degree(p.{xl….,xn}) — maximum degree(p.{xl….xn})
или
degree(p,{xl….,xn}) = degree(p.[xl,….xn])
Обращаем внимание на то, что векторная степень зависит от порядка перечисления неизвестных, а полная степень не зависит.
Примеры применения функций degree и ldegree:

Разложение полинома на множители
Для контроля того, имеет ли полином несокращаемые множители, может использоваться функция irredik(p) и ее вариант в инертной форме Ireduc(p.K), где К — RootOf-выражение. Ниже приведены примеры применения этих тестовых функций:

Разложение полинома по степеням
Для разложения полинома р по степеням служат инертные функции AFactor(р) и AFactors(p). Полином может быть представлен в виде зависимости от одной или нескольких переменных.
Функция Afactor(p) выполняет полную факторизацию (разложение) полинома р от нескольких переменных с коэффициентами в виде алгебраических чисел над полем комплексных чисел. При этом справедливо отношение evala(AFactor(p) )=factor(p,complex). Таким образом, эта функция является, по существу, избыточной.
В случае одномерного полинома полное разложение на множители является разложением на линейные множители. Функция AFactors аналогична функции Afactor, но создает структуру данных формы [u,[[f[l],e[l]],….[f[n],e[n]]]] так, что p=u*f[l]xe[l]*…*f[n]^e[n], где каждый f[i] — неприводимый полином.
Ниже даны примеры применения функции Afactor:

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

Вычисление корней полинома
Для вычисления действительных и комплексных корней полиномов служит уже известная нам функция solve(p.x), возвращающая список корней полинома р одной переменной. Кроме того, имеются следующие функции для вычисления корней полиномов:
roots(p) ,            roots(p. К) , 
roots(p. x),          roots(p. x. К)
Эти функции вычисляют точные корни в рациональной или алгебраической области чисел. Корни возвращаются в виде [ [rl.ml], …. [rn.mn] ], где ri — это
корень полинома, a mi — порядковый номер полинома. С действиями этих функций можно разобраться с помощью приведенных ниже примеров:

Основные операции с полиномами
С полиномами могут выполняться различные операции. Прежде всего отметим некоторые функции, которые относятся к одному полиному:

  •  psqrt(p) — возвращает квадрат полинома;
  •  proot(p.n) — возвращает n -ю степень полинома;
  •  realroot(p) — возвращает интервал, в котором находятся действительные корни полинома;
  •  randpolyCvars, eqns) — возвращает случайный полином по переменным vans (список) с максимальной степенью eqns;
  •  discrim(p,var) — вычисление дискриминанта полинома по переменной var;
  •  Primitive(a) mod p — проверка полинома на примитивность (возвращает true, если полином примитивен).

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

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

В целом надо отметить, что аппарат действий с полиномами в Maple 15 хорошо развит и позволяет выполнять с ними практически любые математические операции. В частности, можно вычислять производные от полиномов и интегралы, у которых полиномы являются подынтегральными функциями:
 
Операции над степенными многочленами с отрицательными степенями
Хотя в подавляющем большинстве случаев используются степенные многочлены (полиномы) с положительными степенями, Maple 15 не накладывает особых ограничений и на многочлены с отрицательными степенями. Например, можно задать такой степенной многочлен:

Нетрудно показать, что с ним можно выполнять различные операции:

ПРИМЕЧАНИЕ

 

Maple 15 не накладывает ограничений на применение степенных многочленов (полиномов) с отрицательными степенями. Однако свойства таких полиномов заметно отличаются от свойств полиномов с положительными степенями, поэтому при применении первых надо проявлять известную осторожность.

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

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