Иллюстрированный самоучитель по Mathematica 3/4

Функции компьютерной алгебры. Упрощение выражений (функция Simplify). Функция полного упрощения FullSimplify.

Системы компьютерной алгебры имеют несколько характерных для них функций, выполняющих достаточно сложные преобразования выражений. Эти функции имеют вполне установившиеся названия (Simplify, Expand, Collect, Factor и т. д.) и встречаются практически во всех системах символьной математики. Настало время детально познакомиться с ними, что и делается в данном разделе.


Упрощение математических выражений – одна из самых важных задач символьной математики. Частенько невероятно сложное математическое выражение, пугающее новичков своим грозным видом, является просто нулем или единицей либо сводится к простому выражению после ряда вполне заурядных (хотя, порою, и довольно сложных) преобразований. Качество выполнения операции упрощения во многом определяется мощью ядра математической системы, поскольку зависит от числа заложенных в него функций и правил преобразования выражений.

С точки зрения простоты выражений они делятся на недостаточно простые и достаточно простые выражения. Недостаточно простые выражения таят в себе всевозможные "излишества": сокращаемые общие члены, лишние переменные и функции, полиномы со степенями, допускающими понижение, и т. д. Это затрудняет качественный анализ выражений и может даже приводить к неоднозначным и даже неверным результатам.

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) ] (х -у)/(х + у)
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.