Упрощение математических выражений — одна из самых важных задач символьной математики. Частенько невероятно сложное математическое выражение, пугающее новичков своим грозным видом, является просто нулем или единицей либо сводится к простому выражению после ряда вполне заурядных (хотя, порою, и довольно сложных) преобразований. Качество выполнения операции упрощения во многом определяется мощью ядра математической системы, поскольку зависит от числа заложенных в него функций и правил преобразования выражений.
С точки зрения простоты выражений они делятся на недостаточно простые и достаточно простые выражения. Недостаточно простые выражения таят в себе всевозможные «излишества»: сокращаемые общие члены, лишние переменные и функции, полиномы со степенями, допускающими понижение, и т. д. Это затрудняет качественный анализ выражений и может даже приводить к неоднозначным и даже неверным результатам.
Mathematica всегда старается упростить то или иное выражение, если для этого не требуется каких-либо особых средств. Например, сложные выражения, содержащие элементарные или специальные функции, превращаются в более простые выражения — в том лишь смысле, что они состоят из более простых функций. Следующие примеры иллюстрируют это.
Ввод (In) |
Вывод (Out) |
(Csc[x] Tan[w]) / (Cot[x] Sec[w]) | Sec[x] Sin[w] |
BesselY[5/2, Е] | SQRT(2/л)(Cos[E]-[3Cos[E]+3Sin[E]]/SQRT(E)) |
Однако так бывает далеко не всегда, и для проведения необходимых преобразований используются различные функции, описанные ниже.
Для упрощения выражений используется функция Simplify [ехрг]. Она исполняет последовательность алгебраических преобразований над выражением ехрг и возвращает простейшую из найденных форм (обычно это бывает нормальная форма выражения).
Функция Simplify работает с самыми различными математическими выражениями: многочленами, рациональными выражениями (состоящими из полиномов и их отношений), расширенными рациональными выражениями (имеющими дробные степени переменных), элементарными и специальными функциями, алгебраическими и тригонометрическими выражениями и т.
д. Обычно она приводит выражения к нормальному виду, что автоматически означает и приведение к виду достаточно простых выражений.
Приведем наиболее характерные результаты действия функции Simplify.
Ввод (In)
|
Вывод (Out)
|
Комбинирование числовых подвыражений Simplify [6 х 2]
|
12 х
|
Приведение подобных множителей у произведений Simplify[x
^
3 у х
^
5]
|
х
8
у
|
Приведение подобных членов суммы Simplify[x + 12 + 4 х]
|
5 х + 12
|
Упрощение тождеств, содержащих 0 или 1 Simplify [2+0] Simplify[l*x]
|
2 х
|
Распределение целочисленных показателей степени в произведениях Simplify[(5 х
^
2 у
^
3)
^
2]
|
5 х
4
у
5
|
Приведение общих знаменателей к выражениям с пониженной степенью или с исключением сокращаемых переменных Simplify [2 х / (х ^ 2- 1) - 1/(х + 1) ] | 1/(х + 1) |
Разложение полиномов и понижение степени выражений Simplify[(x + 1) ^ 2-х ^ 2] | 2 х + 1 |
Сокращение на наибольший полиномиальный делитель ; Simplify [ (х
^
2 - 2 х у + у
^
2 ) / (х
^
2 - у
^
2 ) ]
|
(х -у)/(х + у)
|
Ввод (In)
|
Вывод (Out)
|
Simplify[a*a - 2*а*b + b^2]
|
(a-b)
2
|
Simplify [Exp [х] ^2/х]
|
E
2x
/X
|
Sirnplif у [Sin [x-y] H-Sin [х+у] ]
|
2Cos[y] Sin[x]
|
Simplif у [Ехр [х] *Ехр [у] /Exp [z] ]
|
E
x+y-z
|
Simplify [Exp [z*Log [b] ] ]
|
b
z
|
Simplify [Log [x/y] ] |
Log[x/y]
|
А := (Cos[4*x] - 4*Cos[2*x] +3)/ (4*Cos[2*x] + Cos[4*x] + 3)
|
|
Simplify [A]
|
Tan[x]
4
|
Simplify[6*Log[10] ]
|
6Log[10]
|
Simplify[6 Log[10], Complexity Function -> LeafCount]
|
Log[ 1000000]
|