Функция 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: