Раскрытие скобок выражения eq осуществляется командой expand(eq).
Пример:
> eq:=(x+1)*(x-1)*(x^2-x+1)*(x^2+x+1);
> expand(eq);
Разложение многочлена на множители осуществляется командой factor(eq).
Пример:
> p:=x^5-x^4-7*x^3+x^2+6*x;
> factor(p);
Команда expand может иметь дополнительный параметр, позволяющий при раскрытии скобок оставлять определенное выражение без изменений. Например, пусть требуется каждое слагаемое выражения умножить на выражение (x+a). Тогда в командной строке следует написать:
> expand((x+a)*(ln(x)+exp(x)-y^2), (x+a));
Дробь можно привести к нормальному виду с помощью команды normal(eq). Например:
> f:=(a^4-b^4)/((a^2+b^2)*a*b);
> normal(f);
Упрощение выражений осуществляется командой simplify(eq).
Пример:
> eq:=(cos(x)-sin(x))*(cos(x)+sin(x));
> simplify(eq);
В команде simplify в качестве параметров можно указать, какие выражения преобразовывать. Например, при указании simplify(eq,trig) будет производиться упрощение при использовании большого числа тригонометрических соотношений. Стандартные параметры имеют названия:
- power – для степенных преобразований;
- radical или sqrt – для преобразования корней;
- exp – преобразование экспонент;
- ln – преобразование логарифмов.
Использование параметров намного увеличивает эффективность команды simplify.
Объединить показатели степенных функций или понизить степень тригонометрических функций можно при помощи команды combine(eq,param), где eq – выражение, param – параметры, указывающие, какой тип функций преобразовать, например,
- trig – для тригонометрических,
- power – для степенных.
Пример:
> combine(4*sin(x)^3, trig);
Для упрощения выражений, содержащих не только квадратные корни, но и корни других степеней, лучше использовать команду radnormal(eq). Пример:
> sqrt(3+sqrt(3)+(10+6*sqrt(3))^(1/3))=radnormal(sqrt(3+sqrt(3)+(10+6*sqrt(3))^(1/3)));
С помощью команды convert(expr, param), где expr – выражение, которое будет преобразовано в указанный тип param. В частности, можно преобразовать выражение, содержащее sin(x) и cos(x), в выражение, содержащее только tg(x), если указать в качестве параметра tan, или, наоборот, tg(x), ctg(x) можно перевести в sin(x) и сos(x), если в параметрах указать sincos.
Вообще, команда convert имеет более широкое назначение. Она осуществляет преобразование выражения одного типа в другой. Например:
- convert(list, vector) – преобразование некоторого списка list в вектор с теми же элементами;
- convert(expr, string) – преобразование математического выражения в его текстовую запись.
Приведение подобных членов в выражении осуществляется командой collect(expr,var), где expr – выражение, var – имя переменной, относительно которой следует собирать подобные.