* Данный текст распознан в автоматическом режиме, поэтому может содержать ошибки
238
Работа с математическими выражениями и функциями
• распределяя целочисленные показатели степени в произведениях ((3*x*y^3)^2->9*x^2*y^6); • сокращая expr на наибольший общий полиномиальный или иной мно житель; • понижая степень полиномов там, где это возможно; • используя преобразования, способные упростить выражения. Иногда функция simplify неспособна выполнить возможные упрощения. В этом случае ей надо подсказать, в какой области ищутся упрощения и где можно найти соответствующие упрощающие преобразования. С этой целью в функцию simplify можно включать дополнительные параметры. В качестве параметров могут задаваться имена специальных математических функций и указания на об ласть действия упрощений: BesselI, BesselJ, BesselK, BesselY, Ei, GAMMA, RootOf, LambertW, dilog, exp, ln, sqrt, polylog, pg, pochhammer, trig (для всех тригонометрических функций), hypergeom, radical, power и atsign (для операторов). Полезен также параметр symbolic, задающий формальные символьные преоб разования для многозначных функций, например таких, как квадратный корень:
> g:=sqrt(x^2); > simplify(g);
csgn(x)x
> simplify(g,assume=real);
|x|
> simplify(g,assume=positive);
x
> simplify(g,symbolic);
x Но чуть иначе:
> g:=sqrt(x^y); > simplify(g); > simplify(g,assume=real); > simplify(g,assume=positive);
> simplify(g,symbolic);
Возможно также применение функции simplify в форме simplify [
], где – одно из следующих указаний: atsign, GAMMA, hypergeom, power, radical, RootOf, sqrt, trig.