|
Упрощение выражений
Функция simplify
— одна из самых мощных в системах символьной математики. Она предназначена для
упрощения математических выражений. «Все гениальное просто», — любим
мы повторять, хотя это далеко не всегда так. Тем не менее стремление представить
многие математические выражения в наиболее простом виде поощряется в большинстве
вычислений и нередко составляет их цель. В системе Maple 7 функция упрощения
используется в следующем виде:
- simplify(expr)
— возвращает упрощенное выражение ехрr или повторяет
его, если упрощение в рамках правил Maple 7 невозможно;
- simplify(expr,
nl, n2, ...) —возвращает упрощенное выражение ехрr
с учетом параметров с именами nl, 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у:
Действие функции
simplify существенно зависит от областей определения переменных. В следующем
примере упрощение выражения не произошло, поскольку результат этой операции
неоднозначен:
Однако, определив переменные как
реальные или положительные, можно легко добиться желаемого упрощения:
Читателю настоятельно рекомендуется
просмотреть все разделы справочной системы, относящиеся к примерам применения
функции simplify (в том числе с другими функциями символьных
преобразований), поскольку их число очень велико и эти примеры наглядно демонстрируют
необходимость правильного применения разнообразных параметров для придания упрощениям
нужного характера. Если функция simplify не способна
выполнить упрощение выражения ехрr, то она просто его
повторяет. Это сигнал к применению опций.
|