Warning: include(/var/www/iill7773/data/www/wiselab.ru/wp-content/plugins/wp-super-cache/wp-cache-base.php): failed to open stream: No such file or directory in /home/u7426dd0/domains/wiselab.ru/public_html/wp-content/plugins/wp-super-cache/wp-cache.php on line 65

Warning: include(): Failed opening '/var/www/iill7773/data/www/wiselab.ru/wp-content/plugins/wp-super-cache/wp-cache-base.php' for inclusion (include_path='.:/opt/alt/php55/usr/share/pear:/opt/alt/php55/usr/share/php') in /home/u7426dd0/domains/wiselab.ru/public_html/wp-content/plugins/wp-super-cache/wp-cache.php on line 65

Warning: include_once(/var/www/iill7773/data/www/wiselab.ru/wp-content/plugins/wp-super-cache/ossdl-cdn.php): failed to open stream: No such file or directory in /home/u7426dd0/domains/wiselab.ru/public_html/wp-content/plugins/wp-super-cache/wp-cache.php on line 82

Warning: include_once(): Failed opening '/var/www/iill7773/data/www/wiselab.ru/wp-content/plugins/wp-super-cache/ossdl-cdn.php' for inclusion (include_path='.:/opt/alt/php55/usr/share/pear:/opt/alt/php55/usr/share/php') in /home/u7426dd0/domains/wiselab.ru/public_html/wp-content/plugins/wp-super-cache/wp-cache.php on line 82
Упрощение выражений | Учебники

Главная > Maple 15 > Упрощение выражений


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

Упрощение выражений
Функция simplify — одна из самых мощных в системах символьной математики. Она предназначена для упрощения математических выражений. «Все гениальное просто», — любим мы повторять, хотя это далеко не всегда так. Тем не менее стремление представить многие математические выражения в наиболее простом виде поощряется в большинстве вычислений и нередко составляет их цель. В системе Maple 15 функция упрощения используется в следующем виде:

  •  simplify(expr) — возвращает упрощенное выражение ехрr или повторяет его, если упрощение в рамках правил Maple 15 невозможно;
  •  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, то она просто его повторяет. Это сигнал к применению опций.
Расширение выражений
Даже в жизни мы говорим: «не все так просто». Порою упрощенное выражение скрывает его особенности, знание которых является желательным. Функция expand «расширяет» выражение ехрr и записывается в виде:
expanc(expr, expr1, ехрг2, …. ехрrn)
где ехрr — расширяемое выражение, exprl, ехрг2, …, ехрrn — необязательные подвыражения — опции. Имеется также инертная форма данной функции — Expand (ехрr). Кроме того, возможно применение операторной конструкции frontend(expans,[expr]).
Функция expand раскладывает рациональные выражения на простые дроби, полиномы на полиномиальные разложения, она способна раскрыть многие математические функции, такие как sin, cos, tan, sinh, cosh, tanh, det, erf, exp, factorial, GAMMA, In, max, min, Psi, binomial, sum, product, int, limit, bernoulli, euler, abs, signum, pochhammer, polylog, BesselJ, BesselY, Bessell, BesselK, AngerJ, Beta, Hankel, Kelvin, Struve, WeberE и функция piecewise. С помощью дополнительных аргументов expr1, ехрr2, …, exprh можно задать расширение отдельных фрагментов в ехрr.
Примеры применения функции expand приведены ниже:

Факторизация выражений
Разложение целых и рациональных чисел
Для разложения целых или рациональных чисел на множители в виде простых чисел служит функция:
ifactor(n) 
или 
ifactor(n,method)
где n — число, method — параметр, задающий метод разложения. Другая библиотечная функция, if actors(n), возвращает результат разложения в форме вложенных списков:

 
Разложение выражений (факторизация)
Для алгебраических выражений функция факторизации записывается в вычисляемой и не вычисляемой (инертной) формах:
factor(a)               Factor(a)  
factpr(a.K)             Factor(а.К)
Здесь а — полином с несколькими переменными, К — необязательное алгебраическое расширение. Для получения результата от инертной формы функции факторизации надо использовать функции вычисления evala или evalgf.

Главная цель факторизации  это нахождение максимального числа независимых сомножителей выражения, линейных по заданным переменным с коэффициентами наиболее простой формы. Ниже представлены примеры применения функции factor:

Статьи по теме

Комментарии запрещены.