Вы здесь

11. Упрощение выражений

 

Упрощение выражений

Функция 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, то она просто его повторяет. Это сигнал к применению опций.

 


Top.Mail.Ru