Как разложить функцию в степенной ряд

Разложение функций в степенные ряды чаще всего является не удовольствием, как многие другие математические преобразования, а необходимостью. К этой процедуре чаще всего прибегают при выполнении приближенных вычислений. При этом используются формулы разложения функций в ряд Тейлора (Taylor series) и ряд Маклорена (Maclaurin series):

          
С практической точки зрения, разложение функции в степенной ряд - это чисто техническая процедура, которая требует довольно много времени и усилий, но мало что дает для понимания конечного результата. Если только освоение этой процедуры не является самоцелью. Конечно, для этого можно использовать справочники рядов. Однако, такие справочники у нас не всегда под рукой. Да и издавались они достаточно давно. А вот Интернет... всегда с нами.

Wolfram|Alpha, естественно, умеет находить разложение функций в степенные ряды. Для этого, в простейшем случае, служит запрос series. Вот, например:


Обратите внимание, что Wolfram|Alpha без каких-либо дополнительных указаний выводит область сходимости полученного степенного ряда: converges everywhere - означает, что ряд сходится всюду.

Кроме того, очень удобно, что по запросу series f(x) система Wolfram|Alpha выводит графическое представление разложения данной функции в степенной ряд, которое позволяет визуально оценить аппроксимацию данной функции ее степенным рядом в случае удержания заданного количества членов ряда:


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


Свернутое представление функции f(x) в виде степенного ряда в Wolfram|Alpha также можно получить, используя запрос вида: f(x) series representation




Wolfram|Alpha автоматически выбирает наиболее простой вид разложения функции в степенной ряд, если иное не задано. Так, в предыдущих примерах система Wolfram|Alpha использовала разложение экспоненциальной функции e^x в ряд Маклорена (в точке x=0). Если же применение ряда Маклорена невозможно (вспомните условия разложения функции в ряд Маклорена), то Wolfram|Alpha автоматически выводит разложение данной функции в ряд Тейлора в ближайшей точке, например в точке x=1:




При необходимости, Wolfram|Alpha может вывести определенное количество членов разложения функции в степенной ряд. Точнее, выводятся члены ряда до определенной степени (т. е. с коэффициентами до заданного порядка)  включительно. Это нужно указать явно следующим образом:




В настоящее время эта конструкция запроса срабатывает не всегда корректно - в некоторых случаях Wolfram|Alpha выводит больше членов ряда, чем указано в запросе.

Wolfram|Alpha позволяет получить разложение функции в степенной ряд в заданной точке. Соответствующий запрос выглядит так:




Кстати, эту форму запроса можно использовать также и для того, чтобы разложить некий многочлен по степеням одночлена (x-x0). Например, при x0=pi для заданного многочлена получим:




В теории рядов рассматривается следующая задача: найти коэффициенты разложения данной функции в ряд Тейлора (или Маклорена). Wolfram|Alpha позволяет подойти к решению этой задачи используя, например, запрос на табуляцию последовательности. К примеру, найдем таким образом первые шесть коэффициентов разложения функции cos(x) в ряд Тейлора. При этом, естественно, используем формулу коэффициентов ряда Тейлора (см. выше):

 Table [d^n/dx^n (cos x)/n!, {n,0,5}]


Здесь, чтобы получить шесть первых коэффициентов ряда мы указали их номера с n=0 по n=5 включительно, записав в запросе - {n,0,5}.Чтобы получить коэффициент ряда с заданным номером, эту запись следует изменить. Например, чтобы найти коэффициент с номером n=20, запишем - {n,20,20}, и получим:

Table [d^n/dx^n (cos x)/n!, {n,20,20}]


Если эта конструкция запроса покажется вам слишком сложной, тогда для получения коэффициентов ряда используйте более "естественные"запросы, соответственно:

table d^n/dx^n (cos x)/n! for n = 0 ... 5 и d^n/dx^n (cos x)/n! for n = 20

Далее, можно подставить в найденные коэффициенты вместо аргумента x его конкретное значение, и таким образом Вы сможете получить коэффициенты разложения данной функции в степенной ряд в заданной точке.

Кроме того, в Wolfram|Alpha имеется специальный запрос для получения коэффициентов разложения функций в ряд Маклорена (в точке x=0). Например, найдем коэффициенты разложения в ряд Маклорена для функции e^x :

SeriesCoefficient[e^x, {x, 0, n}]


Обратите внимание, что в первой строке таблицы указаны степени x, начиная с 1 и далее. То есть свободный член разложения (коэффициент при x^0, равный f(0)/0!) здесь не выводится.

Чтобы убедиться в этом, посмотрите еще два аналогичных примера:


SeriesCoefficient[cos x, {x, 0, n}]


SeriesCoefficient[(1+x)^1/2, {x, 0, n}]


В том случае, когда нужно найти конкретный коэффициент ряда Маклорена для данной функции, например, коэффициент при x^10, используйте запрос вида:

SeriesCoefficient[cos x, {x, 0, 10}]


Наконец, если нужно найти несколько коэффициентов ряда для степеней n, например, с 6-й по 12-ю, запрос к Wolfram|Alpha формулируем так:

SeriesCoefficient[cos x, {x, 0, 6..12}]



Если хотите узнать, как выполнять приближенные вычисления при помощи степенных рядов в Wolfram|Alpha, читайте следующий пост.