Упрощение выражений
Функция simplify – одна из самых мощных в системах символьной математики. Она предназначена для упрощения математических выражений. "Все гениальное просто", – любим мы повторять, хотя это далеко не всегда так. Тем не менее стремление представить многие математические выражения в наиболее простом виде поощряется в большинстве вычислений и нередко составляет их цель. В системе Maple 7 функция упрощения используется в следующем виде:
- simplify(expr) – возвращает упрощенное выражение ехрr или повторяет его, если упрощение в рамках правил Maple 7 невозможно;
- simplify(expr, n1, n2,…) – возвращает упрощенное выражение ехрr с учетом параметров с именами n1, n2,… (в том числе заданных списком или множеством);
- simplify(ехрг,assume=prop) – возвращает упрощенное выражение ехpr с учетом всех условий.
Функция simplify – многоцелевая. Она обеспечивает упрощение математических выражений, выполняя следующие типовые действия (для простоты обозначим их как ›):
- комбинируя цифровые подвыражения (3*х*5 › 15*х, 10*х/5 › 2*х);
- приводя подобные множители в произведениях (х^3*а*х › а*х^4);
- приводя подобные члены в суммах (5*х+2+3*х › 8*х+2);
- используя тождества, содержащие ноль (а+0 › а, х-0 › х);
- используя тождества, содержащие единицу (1*х › х);
- распределяя целочисленные показатели степени в произведениях ((3*x*y^3)^2 › 9*х^2*у^6);
- сокращая ехрr на наибольший общий полиномиальный или иной множитель;
- понижая степень полиномов там, где это возможно;
- используя преобразования, способные упростить выражения.
Несмотря на свою гибкость, функция simplify не всегда способна выполнить возможные упрощения. В этом случае ей надо подсказать, в какой области ищутся упрощения и где можно найти соответствующие упрощающие преобразования.
С этой целью в функцию simplify можно включать дополнительные параметры.
В качестве параметров могут задаваться имена специальных математических функций и указания на область действия упрощений: Bessell, BesselJ, BesselK, BesselY, Ei, GAMMA, RootOf, LambertW, dilog, exp, In, sqrt, polylog, pg, pochhammer, trig (для всех тригонометрических функций), hypergeom, radical, power и atsign (для операторов). Полезен также параметр symbolic, явно указывающий на проведение символьных преобразований.
Возможно также применение функции simplify в форме simplify[<name>], где <name> – одно из следующих указаний: atsign, GAMMA, hypergeom, power, radical, RootOf, sqrt, trig.
Ниже даны примеры применения функции Simplifу: