> collect(g,ехр(х));

> р:=х*у+а*х*у+у*х^2-а*у*х^2+х+а*х;
> collect(р,[х,у],recursive);
> collect(р,[х,у],distributed);
> f:=а^3*х^2-х+а^3+а;
> collect(f,х);
> collect(f,х,factor);
> p:=y/x+2*z/x+x^(1/3)-у*х^(1/3);

> collect(р,х);

3.7.6. Работа с пакетом рациональных нормальных форм RationalNormalForms
В Maple входит пакет рациональных нормальных форм RationalNormalForms:
> with(RationalNormalForms);
Этот пакет обеспечивает следующие возможности:
• конструирование полиномиальных нормальных форм рациональных функций;
• конструирование рациональных канонических форм для рациональных функций;
• конструирование минимальных представлений для гипергеометрических термов.
Ввиду очевидности названий функций этого пакета ограничимся примерами его применения (файл rnform):
> F := (n^2-2)*(3*n+3)!/((n+3)!*(2*n+5)!);

> IsHypergeometricTerm(F,n,'certificate');
> certificate;

> (z,r,s,u,v) := RationalCanonicalForm[1](certificate,n);

> MinimalRepresentation[1](F,n,k);

Глава 4
Практика математического анализа
Математический анализ — одна из самых благодатных областей применения систем компьютерной алгебры [36–46]. В этой главе описано решение с помощью СКА Maple наиболее важных задач математического анализа. Особое внимание в этой главе уделено визуализации записи исходных выражений и результатов вычислений, а также проверке последних.
4.1. Вычисление сумм последовательностей
4.1.1. Основные функции для вычисления сумм последовательностей
Начнем рассмотрение задач математического анализа с вычисления

является достаточно распространенной операцией математического анализа. Для вычисляемой и инертной форм сумм последовательностей служат следующие функции:
sum(f,k);
sum(f,k=m..n);
sum(f,k=alpha);
Sum(f,k);
Sum(f,k=m..n);
Sum(f,k=alpha).
Здесь f — функция, задающая члены суммируемого ряда, k — индекс суммирования, тип — целочисленные пределы изменения k, alpha — RootOf-выражение. Значение n может быть равно бесконечности. В этом случае для n используется обозначение ∞ или infinity. Допустимо (а зачастую рекомендуется с целью исключения преждевременной оценки суммы) заключение f и k в прямые кавычки — например, sum('f', 'k'=m..n). Рекомендуется все примеры проверять после команды restart, убирающей предыдущие определения f и k.
Внимание! При вычислении сумм (и произведений) последовательностей надо строго соблюдать прямой (нарастающий) порядок задания значений индексной переменной суммы. Нарушение этого порядка чревато грубыми ошибками. Так что правила о том, что при измени порядка суммируемых или умножаемых членов последовательности сумма и произведения не меняются в данном случае не поддерживаются на программном уровне.
4.1.2. Последовательности с заданным числом членов
Простейшими являются суммы последовательностей с фиксированным числом членов. Ниже даны примеры применения этих функций (файл sum):
> restart;k:=2;
> Sum(k^2,k=1..4);