Пакет для работы с суммами sumtools
Пакет для работы с суммами sumtools
Состав пакета sumtools
Этот инструментальный пакет предназначен для работы со специальными суммами. Он содержит указанные ниже функции:
> with(suintools);
[Hypersum, Sumtohyper, extended_gosper, gosper, hyperrecursion, hypersum, hyperterm, simpcomb, sumrecursion, sumtohyper]
Назначение функций данного пакета перечислено ниже:
- hypersum(U, L, z, n) и Hypersum(U, L, z, n) — вычисление гиперсумм;
- sumtohyper(f, k) и Sumtohyper(f, k) — преобразование сумм в гиперсуммы;
- extended_gosper(f, k), extended_gosper(f, k=m..n) и extended_gosper(f, k, j) — реализация расширенного алгоритма Госпера;
- gosper(f, k) и gosper(f, k=m..n) — реализация алгоритма Госпера;
- hyperrecursion(U, L, z, s(n)) — реализация гиперрекурсионного алгоритма;
- hyperterm(U, L, z, k) и Hyperterm(U, L,z, k) — ввод гипергеометрического терма.
Работа с пакетом sumtools
Приведем примеры на применение этих функций:
Из этих примеров применение функций данного пакета достаточно очевидно.
Пакет реализации степенных разложений powseries
Состав пакета powseries
Степенные разложения часто используются в математических расчетах для приближенного представления разнообразных функций и обеспечения единообразия такого представления. В пакете powseries сосредоточены расширенные средства по реализации таких разложений. Они представлены 22 функциями:
> with(powseries);
[compose, evalpow, inverse, multconst, multiply, negative, pawadd, powcos, powcreate, powdijff, powexp, powint, powlog, powpoly, powsin, powsolve, powsqrt, quotient, reversion, subtract, template, tpsform ]
Ниже представлено определение этих функций:
- compose(а,b) — объединяет ряды а и b;
- evalpow(expr) — вычисляет выражение ехрr и возвращает его в виде ряда;
- inverse(р) — инвертирует ряд р;
- mu1tconst(p,const) — умножает ряд р на константу const; ,
- multiply(a,b) — умножает ряд а на ряд b;
- negative(p) — возвращает аддитивный, обратный по отношению к р ряд;
- powadd(a,b,…) — складывает ряды а, b, …;
- powcreate(expr) — создает ряд для выражения ехрr;
- powpoly(pol ,var) — создает ряд для полинома pol по переменной van;
- powsolve(sys) — создает ряд для решения дифференциальных уравнений sys;
- quotient(a,b) — возвращает частное для а и b в виде ряда;
- reversion(a) — дает обратное к композиции разложение ряда а;
- subtract(а,b) — дает разность рядов а и b.
В выражении ехрr могут использоваться операторы +, -, *, / и ^. С ними могут комбинироваться встроенные функции и функции пользователя, например /(g). Кроме того, могут использоваться следующие функции:
Powexp |
powi nv |
powlog |
powneg |
powrev |
Powdiff |
powi nt |
powquo |
powsub |
powcos |
Powtan |
powsec |
powcsc |
powcot |
powsinh |
Powcosh |
powtanh |
powsech |
powcsch |
powcot h. |
Powsqrt |
powadd |
multiply |
Примеры применения пакета powseries
Назначение большинства этих функций очевидно из их названий — они возвращают соответствующую функцию (указанную после слова pow в имени) в виде разложения в ряд или полинома. Например, powexp раскладывает выражения с экспоненциальными функциями в ряд.
Получаемые функциями ряды представляются в специальном формате. Поэтому для их применения в обычном виде необходимо использовать функцию tpsform в следующих видах:
- tpsform(p, var, order) — преобразует ряд р в обычную форму с заданием порядка order;
- tpsform(p, var) — преобразует ряд р в обычную форму с порядком, заданным переменной Order.
Здесь р — имя степенного ряда, var.— переменная, относительно которой записан ряд, order — порядок ряда. Если параметр order не указан, используется значение глобальной переменной Order. Ниже даны примеры, иллюстрирующие технику работы со степенными разложениями:
Применение функций этого пакета достаточно просто и прозрачно, так что заинтересованный читатель может сам опробовать на примерах работу тех функций, которые не были использованы в приведенных примерах.
Пакет числовой аппроксимации numapprox
Состав пакета numapprox
Этот пакет содержит небольшое число безусловно очень важных функций:
> with(numapprox);
[chebdeg, chebmult, chebpade, chebsort, chebyshev, confracform, hermite_pade, hornerform, infnorm, laurent, minimax, pade, remez]
В их числе функции интерполяции и аппроксимации полиномами Чебышева, рядом Тейлора, отношением полиномов (Паде-аппроксимация) и др. Все они широко применяются не только в фундаментальной математике, но и при решении многих прикладных задач. Рассмотрим их, начиная с функций аппроксимации аналитических зависимостей.
Разложение функции в ряд Лорана
Для разложения функции f в ряд Лорана с порядком n в окрестности точки х = а (или х = 0) служит функция laurent:
1aurent(f, x=a.. n)
1aurent(f, х, n)
Представленный ниже пример иллюстрирует реализацию разложения в ряд Лорана:
Паде-аппроксимация аналитических функций
Для аппроксимации аналитических функций одной из лучших является Паде-аппроксимация, при которой заданная функция приближается отношением двух полиномов. Для осуществления такой аппроксимации используется функция pade:
pade(f. x=a, [m.n])
pade(f.,х, [m.n])
Здесь f — аналитическое выражение или функция, х — переменная, относительно которой записывается аппроксимирующая функция, а — координата точки, относительно которой выполняется аппроксимация, m, n — максимальные степени полиномов числителя и знаменателя. Технику аппроксимации Паде поясняет.
представлена аппроксимация синусоидальной функции, а также построены графики этой функции и аппроксимирующей функции. Под ними дан также график абсолютной погрешности для этого вида аппроксимации. Нетрудно заметить, что уже в интервале [-л, я] погрешность резко возрастает на концах интервала аппроксимации.
Важным достоинством Паде-аппроксимации является возможность довольно точного приближения разрывных функций. Это связано с тем, что нули знаменателя у аппроксимирующего выражения способны приближать разрывы функций, если на заданном интервале аппроксимации число разрывов конечно. представлен пример Паде-аппроксимации функции tan(x) в интервале от -4,5 до 4,5, включающем два разрыва функции.