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
Функция полного упрощения FullSimplify | Учебники

Главная > Mathematica 8 > Функция полного упрощения FullSimplify


Функция полного упрощения FullSimplify

Функция полного упрощения FullSimplify
Функция FullSimplify, область применения которой в Mathematica 8 заметно расширена, обладает заметно большими возможностями, чем функция Simplify. В частности, она обеспечивает упрощение выражений, содержащих специальные математические функции:
Simplify [Gamma [х] *х* (х+1) * (х+2) * (х+n) ]
х(1+х) (2 + х) (n+x) Garrma[x]
FullSimplify [Gamma [х] *х* (х+1) * (х+2) * (х+n) ]
(п+ х) Garrma[3 + х]
Simplify[Tan[x] , ComplexityFunction-> (Count[{#l}, _Tan, \ [Infinity]]*;)]
Tan[x]
FullSimplify [Tan [x] , ComplexityFunction -> (Count[{#l}, _Tan,
\ [Infinity]] &)]
Как видно из этих примеров, функция FullSimplify обеспечивает упрощение даже в том случае, когда функция Simplify пасует. Неплохо упрощаются тригонометрические функции, особенно при использовании опции Complexity-Function, подсказывающей путь упрощения.
В то же время нельзя не отметить, что теоретический фундамент упрощения выражений находится лишь в начале своего возведения, так что не стоит удивляться, если отдельные выражения не будут упрощаться — даже в том случае, когда это в принципе возможно. Более того, с позиций истинного математика функции Simplify и FullSimplify делают не совсем понятно что. Тем не менее, часто эти функции позволяют получить вполне приемлемую, хотя вовсе не единственную и не самую простую форму упрощаемого выражения.
Раскрытие и расширение выражений — функции класса Expand
Расширение, или раскрытие, выражений — еще одна типовая операция компьютерной алгебры. По смыслу она противоположна упрощению выражений. Часто компактная форма представления выражений обусловлена определенными операциями по их упрощению. Существует множество выражений, для которых эти правила известны. Например, мы знаем, что выражение
(а -b)2 = (а — b) (а — b)
можно представить как
a2-2ab + b2
Разумеется, такое соответствие существует далеко не всегда. К примеру, выражение в виде числа 1 вовсе не является представлением только выражения sin(X) 2 + cos(x) 2 .
Ниже представлены основные функции, производящие раскрытие и расширение выражений:

  • ComplexExpand[expr] — раскрывает ехрг, полагая все переменные вещественными;
  • ComplexExpand [expr, {x1, х2,…}] — раскрывает ехрг, считая переменные xi комплексными;
  • FunctionExpand [expr] — раскрывает выражения ехрг, содержащие специальные функции;
  • Expand [ехрг ] — раскрывает произведения и положительные целые степени в ехрг;
  • Expand [expr, patt] — выполняет расширение только для тех элементов ехрг, которые содержат соответствующие шаблону patt члены;
  • Exp_andAll [expr] — раскрывает все произведения и целочисленные степени в любой части ехрг;
  • ExpandAll [expr, patt] — исключает из операции расширения те части ехрг, которые не содержат соответствующие шаблону patt члены;
  • ExpandDenominator [expr] — раскрывает произведение и степени, которые присутствуют в выражении ехрг в роли знаменателей;
  • ExpandNumerator [expr] — раскрывает произведения и степени в числителе выражения ехрг;
  • PowerExpand[expr] — раскрывает вложенные степени, степени произведений, логарифмы от степеней и логарифмы от произведений. Осторожно используйте PowerExpand, так как эта функция не реагирует на разрывный характер выражения ехрг.

Приведем примеры операций расширения выражений с помощью функции Expand:
Expand[(х — а)*(х — b)*(х — с)]
-abc+ abx + acx+bcx-ax2- bx2-cx2 + x3
Simplify[%]
-(а-х) (-b+х) (-с + х)
Expand!(Sin[x]+Cos[x])/(Cos[x]*Sin[x])]
Csc[x] + Secfx]
Simplify[%]
Sirrplfy[Csc[x] + Sec[x] ]
Expand[2*Cos[x]^2,Trig-> True]
2Cos[x]2
Simplify[%]
l+Cos[2x]
Expand[Sin[x]^2+Cos[x]^2]
Cos[y]2+Sin[x]2
Expand[Sin[x]^2+Cos[x]^2,Trig-> True]
1- Cos[x]2/2 +Cos [у]2/2 +Sin[x]2/2 -Sin[y]2/2
Simplify[%]
1/2 (2-Cos[2x] + Cos[2y])
В этих примерах полезно обратить внимание на то, что далеко не всегда последовательное применение функций Expand и Simplify дает исходное выражение. Гораздо чаще получается новое выражение, порой представляющее ценность. При операциях с тригонометрическими выражениями нередко нужно использовать опцию Trig->True, намечая тригонометрический путь решения. В противном случае может быть просто выдан отказ от выполнения операции Expand с заданным выражением, которое будет просто повторено в ячейке вывода.
Приведем примеры использования других функций расширения выражений:
ExpandAll[Sin[2*Cos[x]], Trig -> True]
Cos [Cos [x] + ISin[x] ] Sin[Cos[x] — ISin[x] ] +
Cos [Costx] — ISintx] ] Sin[Cos[x] + ISin[x] ] Simplify[%]
Sin [ 2 Cos [x]]
ExpandNumerator[(1 + x)^2/х]
1 + 2 x + x2/x
ExpandDenominator[(1 — x)^2/(l + x)^2]
(1-х)2/1 + 2 x + x2
ComplexExpand[Sin[a + I*b]]
Cosh[b] Sin [a] + I Cos [a] Sirihfb]
ComplexExpand[ (a. + b I) / (x + d I) ]
-lad/Abs[Id+x]2+bd/Abs[Id+x]2 + ax/Abs[Id + x]2 +Ibx/Abs[Id+x]2
Simplify[%]
(-Ia + b) (d + Ix)/^bstld+x]2
PowerExpand[Sqrt[a^2*b*c]]
aSQRT(b)SQRT(c)
FunctionExpand[Gamma[4, x]]
E-xx3+ 3 (Fxx2+ 2 (E-x+ E-xx))
FunctionExpand[Beta[4, 2 + x]]
6/(2 + x) (3+x) (4 + x) (5 + x)
FunctionExpand[Zeta[3, 2 + x] ]

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

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

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