---
title: "Series"
language: "en"
type: "Symbol"
summary: "Series[f, {x, x0, n}] generates a power series expansion for f about the point x = x0 to order (x - x0) n, where n is an explicit integer. Series[f, x -> x0] generates the leading term of a power series expansion for f about the point x = x0. Series[f, {x, x0, nx}, {y, y0, ny}, ...] successively finds series expansions with respect to x, then y, etc."
keywords: 
- approximate formulas
- approximation of functions
- approximations
- asymptotic expansions
- series expansions
- Taylor polynomial
- Maclaurin series
- Taylor series
- power series
- Laurent series
- Puiseux series
- asympt
- laurent
- mtaylor
- order
- powcreate
- powexp
- powlog
- powpoly
- powser
- powsolve
- series
- taylor
- series
canonical_url: "https://reference.wolfram.com/language/ref/Series.html"
source: "Wolfram Language Documentation"
related_guides: 
  - 
    title: "Series Expansions"
    link: "https://reference.wolfram.com/language/guide/SeriesExpansions.en.md"
  - 
    title: "Calculus"
    link: "https://reference.wolfram.com/language/guide/Calculus.en.md"
  - 
    title: "Manipulating Equations"
    link: "https://reference.wolfram.com/language/guide/ManipulatingEquations.en.md"
  - 
    title: "Scientific Models"
    link: "https://reference.wolfram.com/language/guide/ScientificModels.en.md"
  - 
    title: "Asymptotics"
    link: "https://reference.wolfram.com/language/guide/Asymptotics.en.md"
  - 
    title: "Analytic Number Theory"
    link: "https://reference.wolfram.com/language/guide/AnalyticNumberTheory.en.md"
  - 
    title: "Multiplicative Number Theory"
    link: "https://reference.wolfram.com/language/guide/MultiplicativeNumberTheory.en.md"
related_functions: 
  - 
    title: "SeriesCoefficient"
    link: "https://reference.wolfram.com/language/ref/SeriesCoefficient.en.md"
  - 
    title: "InverseSeries"
    link: "https://reference.wolfram.com/language/ref/InverseSeries.en.md"
  - 
    title: "ComposeSeries"
    link: "https://reference.wolfram.com/language/ref/ComposeSeries.en.md"
  - 
    title: "Limit"
    link: "https://reference.wolfram.com/language/ref/Limit.en.md"
  - 
    title: "FunctionAnalytic"
    link: "https://reference.wolfram.com/language/ref/FunctionAnalytic.en.md"
  - 
    title: "Normal"
    link: "https://reference.wolfram.com/language/ref/Normal.en.md"
  - 
    title: "InverseZTransform"
    link: "https://reference.wolfram.com/language/ref/InverseZTransform.en.md"
  - 
    title: "RSolve"
    link: "https://reference.wolfram.com/language/ref/RSolve.en.md"
  - 
    title: "O"
    link: "https://reference.wolfram.com/language/ref/O.en.md"
  - 
    title: "SeriesData"
    link: "https://reference.wolfram.com/language/ref/SeriesData.en.md"
  - 
    title: "PadeApproximant"
    link: "https://reference.wolfram.com/language/ref/PadeApproximant.en.md"
  - 
    title: "FourierSeries"
    link: "https://reference.wolfram.com/language/ref/FourierSeries.en.md"
  - 
    title: "AroundReplace"
    link: "https://reference.wolfram.com/language/ref/AroundReplace.en.md"
  - 
    title: "Asymptotic"
    link: "https://reference.wolfram.com/language/ref/Asymptotic.en.md"
  - 
    title: "AsymptoticDSolveValue"
    link: "https://reference.wolfram.com/language/ref/AsymptoticDSolveValue.en.md"
  - 
    title: "AsymptoticIntegrate"
    link: "https://reference.wolfram.com/language/ref/AsymptoticIntegrate.en.md"
  - 
    title: "AsymptoticSum"
    link: "https://reference.wolfram.com/language/ref/AsymptoticSum.en.md"
  - 
    title: "AsymptoticRSolveValue"
    link: "https://reference.wolfram.com/language/ref/AsymptoticRSolveValue.en.md"
  - 
    title: "AsymptoticSolve"
    link: "https://reference.wolfram.com/language/ref/AsymptoticSolve.en.md"
  - 
    title: "ResidueSum"
    link: "https://reference.wolfram.com/language/ref/ResidueSum.en.md"
related_tutorials: 
  - 
    title: "Symbolic Mathematics: Basic Operations"
    link: "https://reference.wolfram.com/language/tutorial/SymbolicCalculations.en.md"
  - 
    title: "Power Series"
    link: "https://reference.wolfram.com/language/tutorial/SeriesLimitsAndResidues.en.md#3309"
  - 
    title: "Making Power Series Expansions"
    link: "https://reference.wolfram.com/language/tutorial/SeriesLimitsAndResidues.en.md#31665"
  - 
    title: "Operations on Power Series"
    link: "https://reference.wolfram.com/language/tutorial/SeriesLimitsAndResidues.en.md#16500"
  - 
    title: "The Representation of Power Series"
    link: "https://reference.wolfram.com/language/tutorial/SeriesLimitsAndResidues.en.md#8901"
  - 
    title: "Converting Power Series to Normal Expressions"
    link: "https://reference.wolfram.com/language/tutorial/SeriesLimitsAndResidues.en.md#28112"
  - 
    title: "Implementation notes: Algebra and Calculus"
    link: "https://reference.wolfram.com/language/tutorial/SomeNotesOnInternalImplementation.en.md#26477"
---
# Series

Series[f, {x, x0, n}] generates a power series expansion for f about the point x = x0 to order (x - x0)^n, where n is an explicit integer. 

Series[f, x -> x0] generates the leading term of a power series expansion for f about the point x = x0. 

Series[f, {x, x0, nx}, {y, y0, ny}, …] successively finds series expansions with respect to x, then y, etc.

## Details and Options

* ``Series`` can construct standard Taylor series, as well as certain expansions involving negative powers, fractional powers, and logarithms.

* ``Series`` detects certain essential singularities. ``On[Series::esss]`` makes ``Series`` generate a message in this case.

* ``Series`` can expand about the point ``x = ∞``.

* ``Series[f, {x, 0, n}]`` constructs Taylor series for any function ``f`` according to the formula $f(0)+f'(0)x+f''(0)x^2\left/2+\ldots f^{(n)}(0)x^n\right/n!$.

* ``Series`` effectively evaluates partial derivatives using ``D``. It assumes that different variables are independent.

* The result of ``Series`` is usually a ``SeriesData`` object, which you can manipulate with other functions.

* ``Normal[series]`` truncates a power series and converts it to a normal expression.

* ``SeriesCoefficient[series, n]`` finds the coefficient of the ``n``$$^{\text{th}}$$-order term.

* The following options can be given:

|                |               |                                                     |
| -------------- | ------------- | --------------------------------------------------- |
| Analytic       | True          | whether to treat unrecognized functions as analytic |
| Assumptions    | \$Assumptions | assumptions to make about parameters                |
| SeriesTermGoal | Automatic     | number of terms in the approximation                |

---

## Examples (47)

### Basic Examples (4)

Power series for the exponential function around $x=0$ :

```wl
In[1]:= Series[Exp[x], {x, 0, 10}]

Out[1]=
SeriesData[x, 0, {1, 1, Rational[1, 2], Rational[1, 6], Rational[1, 24], Rational[1, 120], 
  Rational[1, 720], Rational[1, 5040], Rational[1, 40320], Rational[1, 362880], 
  Rational[1, 3628800]}, 0, 11, 1]
```

Convert to a normal expression:

```wl
In[2]:= Normal[%]

Out[2]= 1 + x + (x^2/2) + (x^3/6) + (x^4/24) + (x^5/120) + (x^6/720) + (x^7/5040) + (x^8/40320) + (x^9/362880) + (x^10/3628800)
```

---

Power series of an arbitrary function around $x=a$ :

```wl
In[1]:= Series[f[x], {x, a, 3}]

Out[1]=
SeriesData[x, a, {f[a], Derivative[1][f][a], Rational[1, 2]*Derivative[2][f][a], 
  Rational[1, 6]*Derivative[3][f][a]}, 0, 4, 1]
```

---

```wl
In[1]:= Series[Cos[x] / x, {x, 0, 10}]

Out[1]=
SeriesData[x, 0, {1, 0, Rational[-1, 2], 0, Rational[1, 24], 0, Rational[-1, 720], 0, 
  Rational[1, 40320], 0, Rational[-1, 3628800]}, -1, 11, 1]
```

In any operation on series, only appropriate terms are kept:

```wl
In[2]:= 1 / (1 + %) + % ^ 2

Out[2]=
SeriesData[x, 0, {1, 0, -1, 1, Rational[-2, 3], Rational[3, 2], Rational[-92, 45], 
  Rational[65, 24], Rational[-1154, 315], Rational[3571, 720], Rational[-95132, 14175], 
  Rational[366113, 40320]}, -2, 10, 1]
```

---

Find the leading term of a power series:

```wl
In[1]:= Series[Gamma[Sin[x] - x] ^ 3, x -> 0]

Out[1]= SeriesData[x, 0, {-216}, -9, -7, 1]
```

### Scope (10)

#### Univariate Series (10)

``Series`` can handle fractional powers and logarithms:

```wl
In[1]:= Series[Sqrt[Sin[x]], {x, 0, 10}]

Out[1]=
SeriesData[x, 0, {1, 0, 0, 0, Rational[-1, 12], 0, 0, 0, Rational[1, 1440], 0, 0, 0, 
  Rational[-1, 24192], 0, 0, 0, Rational[-67, 29030400]}, 1, 21, 2]

In[2]:= Series[x ^ x, {x, 0, 4}]

Out[2]=
SeriesData[x, 0, {1, Log[x], Rational[1, 2]*Log[x]^2, Rational[1, 6]*Log[x]^3, 
  Rational[1, 24]*Log[x]^4}, 0, 5, 1]
```

---

Symbolic parameters can often be used:

```wl
In[1]:= Series[(1 + x) ^ n, {x, 0, 4}]

Out[1]=
SeriesData[x, 0, {1, n, (Rational[1, 2]*(-1 + n))*n, ((Rational[1, 6]*(-2 + n))*(-1 + n))*n, 
  (((Rational[1, 24]*(-3 + n))*(-2 + n))*(-1 + n))*n}, 0, 5, 1]
```

---

Laurent series with negative powers can be generated:

```wl
In[1]:= Series[1 / Sin[x] ^ 10, {x, 0, 2}]

Out[1]=
SeriesData[x, 0, {1, 0, Rational[5, 3], 0, Rational[13, 9], 0, Rational[164, 189], 0, 
  Rational[128, 315], 0, Rational[14797, 93555], 0, Rational[6803477, 127702575]}, -10, 3, 1]
```

Truncate the series to the specified negative power:

```wl
In[2]:= Series[1 / Sin[x] ^ 10, {x, 0, -5}]

Out[2]= SeriesData[x, 0, {1, 0, Rational[5, 3], 0, Rational[13, 9]}, -10, -4, 1]
```

---

Find power series for special functions:

```wl
In[1]:= Series[Gamma[x], {x, 0, 1}]

Out[1]= SeriesData[x, 0, {1, -EulerGamma, Rational[1, 12]*(6*EulerGamma^2 + Pi^2)}, -1, 2, 1]

In[2]:= Series[Zeta[x], {x, 0, 2}]

Out[2]=
SeriesData[x, 0, {Rational[-1, 2], Rational[-1, 2]*Log[2*Pi], 
  Rational[1, 48]*(12*EulerGamma^2 - Pi^2 - 12*Log[2]^2 - (24*Log[2])*Log[Pi] - 12*Log[Pi]^2 + 
    24*StieltjesGamma[1])}, 0, 3, 1]

In[3]:= Series[BesselK[0, x], {x, 0, 2}]

Out[3]=
SeriesData[x, 0, {-EulerGamma + Log[2] - Log[x], 0, 
  Rational[1, 4]*(1 - EulerGamma + Log[2] - Log[x])}, 0, 3, 1]

In[4]:= Series[BesselJ[n, x], {x, 0, 4}]

Out[4]=
x^n (SeriesData[x, 0, {1/(2^n*Gamma[1 + n]), 0, (-2^(-2 - n))*(1/((1 + n)*Gamma[1 + n])), 0, 
  (2^(-5 - n)/(1 + n))*(1/((2 + n)*Gamma[1 + n]))}, 0, 5, 1])

In[5]:= Series[JacobiSN[u, m], {u, 0, 5}]

Out[5]=
SeriesData[u, 0, {1, 0, Rational[-1, 6] + Rational[-1, 6]*m, 0, Rational[1, 120]*(1 + 14*m + m^2)}, 
 1, 6, 1]

In[6]:= Series[HermiteH[n, x], {x, 1, 2}]

Out[6]=
SeriesData[x, 1, {HermiteH[n, 1], (2*n)*HermiteH[-1 + n, 1], 
  (-2*n)*HermiteH[-2 + n, 1] + (2*n^2)*HermiteH[-2 + n, 1]}, 0, 3, 1]
```

---

Find the series for a function at a branch point:

```wl
In[1]:= Series[ArcSin[x], {x, 1, 1}]

Out[1]= (1/2) (π + (-1)^Floor[-(Arg[-1 + x]/2 π)] (SeriesData[x, 1, {(Complex[0, -2])*Sqrt[2]}, 1, 3, 2]))
```

With ``x`` assumed to be to the left of the branch point, a simpler result is given:

```wl
In[2]:= Series[ArcSin[x], {x, 1, 1}, Assumptions -> (x < 1)]

Out[2]= SeriesData[x, 1, {Rational[1, 2]*Pi, (Complex[0, -1])*Sqrt[2]}, 0, 3, 2]
```

---

Piecewise functions:

```wl
In[1]:= Series[Min[x, 1 - x], {x, a, 5}]

Out[1]=
\[Piecewise]|                                        |                        |
| :------------------------------------- | :--------------------- |
| SeriesData[x, a, {1 - a, -1}, 0, 6, 1] | x∈Reals && a > (1/2)   |
| SeriesData[x, a, {a, 1}, 0, 6, 1]      | x∈Reals && a < (1/2)   |
| SeriesData[x, a, {1 - a, -1}, 0, 6, 1] | a == (1/2) && x ≥ (1/2) |
| SeriesData[x, a, {a, 1}, 0, 6, 1]      | True                   |
```

---

Power series at infinity:

```wl
In[1]:= Series[Sin[1 / x], {x, Infinity, 10}]

Out[1]=
SeriesData[x, Infinity, {1, 0, Rational[-1, 6], 0, Rational[1, 120], 0, Rational[-1, 5040], 0, 
  Rational[1, 362880]}, 1, 11, 1]

In[2]:= Series[ArcSin[x], {x, Infinity, 5}]

Out[2]=
SeriesData[x, Infinity, {Rational[1, 2]*(Pi + (Complex[0, -1])*Log[4] + 
    (Complex[0, 2])*Log[x^(-1)]), 0, Complex[0, Rational[1, 4]], 0, Complex[0, Rational[3, 32]]}, 
 0, 6, 1]
```

---

``Series`` can give asymptotic series:

```wl
In[1]:= Series[x!, {x, Infinity, 5}]

Out[1]=
E^SeriesData[x, Infinity, {-1 - Log[x^(-1)]}, -1, 6, 1] (SeriesData[x, Infinity, {Sqrt[2*Pi], 0, Rational[1, 6]*Sqrt[Rational[1, 2]*Pi], 0, 
  Rational[1, 144]*Sqrt[Rational[1, 2]*Pi], 0, Rational[-139, 25920]*Sqrt[Rational[1, 2]*Pi], 0, 
  Rational[-571, 1244160]*Sqrt[Rational[1, 2]*Pi], 0, Rational[163879, 104509440]*
   Sqrt[Rational[1, 2]*Pi]}, -1, 11, 2])

In[2]:= Series[BesselJ[0, x], {x, Infinity, 5}]

Out[2]=
Cos[(π/4) - x] (SeriesData[x, Infinity, {Sqrt[2/Pi], 0, 0, 0, Rational[-9, 64]*1/Sqrt[2*Pi], 0, 0, 0, 
  Rational[3675, 16384]*1/Sqrt[2*Pi]}, 1, 11, 2]) + (SeriesData[x, Infinity, {Rational[-1, 4]*1/Sqrt[2*Pi], 0, 0, 0, Rational[75, 512]*1/Sqrt[2*Pi]}, 3, 
 11, 2]) Sin[(π/4) - x]

In[3]:= Normal[Series[ProductLog[x], {x, Infinity, 0}]]

Out[3]= -Log[(1/x)] - Log[-Log[(1/x)]] - (Log[-Log[(1/x)]]/Log[(1/x)]^2) - (Log[-Log[(1/x)]]/Log[(1/x)]) + (Log[-Log[(1/x)]]^2/2 Log[(1/x)]^2)
```

---

Series expansions of implicit solutions to equations:

```wl
In[1]:= Series[Root[# ^ 5 + a # + 1&, 1], {a, 0, 10}]

Out[1]=
SeriesData[a, 0, {-1, Rational[1, 5], Rational[1, 25], Rational[1, 125], 0, Rational[-21, 15625], 
  Rational[-78, 78125], Rational[-187, 390625], Rational[-286, 1953125], 0, 
  Rational[9367, 244140625]}, 0, 11, 1]
```

---

Series expansions of unevaluated integrals:

```wl
In[1]:= Integrate[Sin[a Sin[x]], {x, 0, a}]

Out[1]= Subsuperscript[∫, 0, a]Sin[a Sin[x]]\[DifferentialD]x

In[2]:= Series[%, {a, 0, 15}]

Out[2]=
SeriesData[a, 0, {Rational[1, 2], 0, Rational[-1, 24], 0, Rational[-29, 720], 0, 
  Rational[559, 40320], 0, Rational[-3149, 3628800], 0, Rational[-307561, 479001600], 0, 
  Rational[19701683, 87178291200]}, 3, 16, 1]
```

### Generalizations & Extensions (4)

Power series in two variables:

```wl
In[1]:= Series[Sin[x + y], {x, 0, 3}, {y, 0, 3}]

Out[1]=
SeriesData[x, 0, {SeriesData[y, 0, {1, 0, Rational[-1, 6]}, 1, 4, 1], 
  SeriesData[y, 0, {1, 0, Rational[-1, 2]}, 0, 4, 1], 
  SeriesData[y, 0, {Rational[-1, 2], 0, Rational[1, 12]}, 1, 4, 1], 
  SeriesData[y, 0, {Rational[-1, 6], 0, Rational[1, 12]}, 0, 4, 1]}, 0, 4, 1]
```

---

``Series`` is threaded element-wise over lists:

```wl
In[1]:= Series[{Sin[x], Cos[x], Tan[x]}, {x, 0, 5}]

Out[1]= {SeriesData[x, 0, {1, 0, Rational[-1, 6], 0, Rational[1, 120]}, 1, 6, 1], SeriesData[x, 0, {1, 0, Rational[-1, 2], 0, Rational[1, 24]}, 0, 6, 1], SeriesData[x, 0, {1, 0, Rational[1, 3], 0, Rational[2, 15]}, 1, 6, 1]}
```

---

``Series`` generates ``SeriesData`` expressions:

```wl
In[1]:= InputForm[Series[Sin[x], {x, 0, 5}]]
```

Out[1]//InputForm= SeriesData[x, 0, {1, 0, -1/6, 0, 1/120}, 1, 6, 1]

---

``Series`` can work with approximate numbers:

```wl
In[1]:= Series[Sin[2.5 x], {x, 0, 10}]

Out[1]=
SeriesData[x, 0, {2.5, 0, -2.6041666666666665, 0, 0.8138020833333334, 0, -0.12110150049603174, 0, 
  0.010512283029169423}, 1, 11, 1]
```

### Options (4)

#### Analytic (1)

``Series`` by default assumes symbolic functions to be analytic:

```wl
In[1]:= Series[f[x]Exp[x], {x, 0, 2}]

Out[1]=
SeriesData[x, 0, {f[0], f[0] + Derivative[1][f][0], 
  Rational[1, 2]*(f[0] + 2*Derivative[1][f][0] + Derivative[2][f][0])}, 0, 3, 1]

In[2]:= Series[f[x] Exp[x], {x, 0, 2}, Analytic -> False]

Out[2]= f[x] (SeriesData[x, 0, {1, 1, Rational[1, 2]}, 0, 3, 1])
```

#### Assumptions (3)

Use ``Assumptions`` to specify regions in the complex plane where expansions should apply:

```wl
In[1]:= Series[ArcCos[x], {x, 1, 1}, Assumptions -> (x > 1)]

Out[1]= SeriesData[x, 1, {Complex[0, 1]*Sqrt[2]}, 1, 3, 2]
```

Without assumptions, piecewise functions appear:

```wl
In[2]:= Series[ArcCos[x], {x, 1, 1}]

Out[2]= (π/2) + (1/2) (-π + (-1)^Floor[-(Arg[-1 + x]/2 π)] (SeriesData[x, 1, {(Complex[0, 2])*Sqrt[2]}, 1, 3, 2]))
```

---

Get expansions in Stokes regions:

```wl
In[1]:= Series[AiryAi[x], {x, ComplexInfinity, 0}, Assumptions -> (0 < Arg[x] < Pi / 6)]//Simplify

Out[1]=
E^-(2 x^3 / 2/3) (SeriesData[x, ComplexInfinity, {((Rational[1, 96]*1/Sqrt[Pi])*x^(Rational[-11, 4]))*
   (-5 + 48*x^(Rational[3, 2]))}, -1, 1, 1])
```

---

```wl
In[1]:= Series[AiryAi[a x], {x, Infinity, 0}, Assumptions -> (a > 0)]

Out[1]= E^SeriesData[x, Infinity, {Rational[-2, 3]*a^(Rational[3, 2])}, -3, 1, 2] (SeriesData[x, Infinity, {(Rational[1, 2]*a^(Rational[-1, 4]))*1/Sqrt[Pi]}, 1, 2, 4])

In[2]:= Series[AiryAi[a x], {x, Infinity, 0}]

Out[2]= E^-(2/3) I Sqrt[-a^3 x^3] (SeriesData[x, Infinity, {}, 1, 1, 4] + E^(4/3) I Sqrt[-a^3 x^3] SeriesData[x, Infinity, {}, 1, 1, 4] + E^(4/3) I Sqrt[-a^3 x^3] SeriesData[x, Infinity, {}, 7, 7, 4])
```

### Applications (8)

Plot successive series approximations to $\sin (x)$ :

```wl
In[1]:= Plot[Evaluate[Table[Normal[Series[Sin[x], {x, 0, n}]], {n, 20}]], {x, 0, 2Pi}]

Out[1]= [image]
```

---

Find a series expansion for a standard combinatorial problem:

```wl
In[1]:= Series[(1 + 1 / n) ^ n, {n, Infinity, 5}]

Out[1]=
SeriesData[n, Infinity, {E, Rational[-1, 2]*E, Rational[11, 24]*E, Rational[-7, 16]*E, 
  Rational[2447, 5760]*E, Rational[-959, 2304]*E}, 0, 6, 1]
```

---

Find Fibonacci numbers from a generating function:

```wl
In[1]:= CoefficientList[Series[1 / (1 - t - t ^ 2), {t, 0, 15}], t]

Out[1]= {1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987}
```

---

Find Legendre polynomials by expanding a generating function:

```wl
In[1]:= CoefficientList[Series[1 / Sqrt[1 - 2 t x  + t ^ 2], {t, 0, 5}], t]

Out[1]= {1, x, -(1/2) + (3 x^2/2), -(3 x/2) + (5 x^3/2), (1/8) (3 - 30 x^2 + 35 x^4), (1/8) (15 x - 70 x^3 + 63 x^5)}

In[2]:= Table[LegendreP[n, x], {n, 0, 5}]

Out[2]= {1, x, (1/2) (-1 + 3 x^2), (1/2) (-3 x + 5 x^3), (1/8) (3 - 30 x^2 + 35 x^4), (1/8) (15 x - 70 x^3 + 63 x^5)}
```

---

Set up a generating function to enumerate ways to make change using U.S. coins:

```wl
In[1]:= gf = 1 / Apply[Times, 1 - z ^ {1, 5, 10, 25, 50, 100}]

Out[1]= (1/(1 - z) (1 - z^5) (1 - z^10) (1 - z^25) (1 - z^50) (1 - z^100))

In[2]:= Series[gf, {z, 0, 10}]

Out[2]= SeriesData[z, 0, {1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 4}, 0, 11, 1]
```

The number of ways to make change for \$1:

```wl
In[3]:= SeriesCoefficient[Series[gf, {z, 0, 100}], 100]

Out[3]= 293
```

---

Find the lowest-order terms in a large polynomial:

```wl
In[1]:= Series[(1 + 2x) ^ 1000, {x, 0, 5}]

Out[1]= SeriesData[x, 0, {1, 2000, 1998000, 1329336000, 662673996000, 264009320006400}, 0, 6, 1]

In[2]:= Normal[%]

Out[2]= 1 + 2000 x + 1998000 x^2 + 1329336000 x^3 + 662673996000 x^4 + 264009320006400 x^5
```

---

Find higher-order terms in Newton's approximation for a root of ``f[x]`` near $x=a$ :

```wl
In[1]:= InverseSeries[Series[f[x], {x, a, 3}], x]

Out[1]=
SeriesData[x, f[a], {a, Derivative[1][f][a]^(-1), (Rational[-1, 2]/Derivative[1][f][a]^3)*
   Derivative[2][f][a], (Rational[1, 6]/Derivative[1][f][a]^5)*
   (3*Derivative[2][f][a]^2 - Derivative[1][f][a]*Derivative[3][f][a])}, 0, 4, 1]

In[2]:= Normal[%] /. x -> 0

Out[2]= a - (f[a]/Derivative[1][f][a]) - (f[a]^2 Derivative[2][f][a]/2 Derivative[1][f][a]^3) - (f[a]^3 (3 Derivative[2][f][a]^2 - Derivative[1][f][a] Derivative[3][f][a])/6 Derivative[1][f][a]^5)
```

---

Plot the complex zeros for a series approximation to ``Exp[x]`` :

```wl
In[1]:= ComplexListPlot[x /. NSolve[Normal[Series[Exp[x], {x, 0, 40}]] == 0, x]]

Out[1]= [image]
```

### Properties & Relations (10)

``Series`` always only keeps terms up to the specified order:

```wl
In[1]:= Series[(1 + x) ^ 10, {x, 0, 5}]

Out[1]= SeriesData[x, 0, {1, 10, 45, 120, 210, 252}, 0, 6, 1]
```

Operations on series keep only the appropriate terms:

```wl
In[2]:= Sqrt[%]

Out[2]= SeriesData[x, 0, {1, 5, 10, 10, 5, 1}, 0, 6, 1]
```

``Normal`` converts to an ordinary polynomial:

```wl
In[3]:= Sqrt[Normal[Series[(1 + x) ^ 10, {x, 0, 5}]]]

Out[3]= Sqrt[1 + 10 x + 45 x^2 + 120 x^3 + 210 x^4 + 252 x^5]
```

---

Any mathematical function can be applied to a series:

```wl
In[1]:= Series[Sin[x], {x, 0, 10}]

Out[1]=
SeriesData[x, 0, {1, 0, Rational[-1, 6], 0, Rational[1, 120], 0, Rational[-1, 5040], 0, 
  Rational[1, 362880]}, 1, 11, 1]

In[2]:= BesselJ[0, %] ^ %

Out[2]=
SeriesData[x, 0, {1, 0, 0, Rational[-1, 4], 0, Rational[7, 64], Rational[1, 32], 
  Rational[-91, 5760], Rational[-7, 256], Rational[-7445, 3096576], Rational[3661, 368640], 
  Rational[77509, 22118400]}, 0, 12, 1]
```

---

Adding a series of lower order causes the higher-order terms to be dropped:

```wl
In[1]:= Series[Exp[x], {x, 0, 10}]

Out[1]=
SeriesData[x, 0, {1, 1, Rational[1, 2], Rational[1, 6], Rational[1, 24], Rational[1, 120], 
  Rational[1, 720], Rational[1, 5040], Rational[1, 40320], Rational[1, 362880], 
  Rational[1, 3628800]}, 0, 11, 1]

In[2]:= % + Series[Sin[x], {x, 0, 5}]

Out[2]= SeriesData[x, 0, {1, 2, Rational[1, 2], 0, Rational[1, 24], Rational[1, 60]}, 0, 6, 1]
```

---

Differentiate a series:

```wl
In[1]:= D[Series[Tan[x], {x, 0, 10}], x]

Out[1]= SeriesData[x, 0, {1, 0, 1, 0, Rational[2, 3], 0, Rational[17, 45], 0, Rational[62, 315]}, 0, 10, 1]
```

---

Solve equations for series coefficients:

```wl
In[1]:= Series[a Sin[x] + b Sin[2 x], {x, 0, 3}] == Series[Sinh[x], {x, 0, 3}]

Out[1]= SeriesData[x, 0, {a + 2*b, 0, Rational[-1, 6]*a + Rational[-4, 3]*b}, 1, 4, 1] == SeriesData[x, 0, {1, 0, Rational[1, 6]}, 1, 4, 1]

In[2]:= Solve[%, {a, b}]

Out[2]= {{a -> (5/3), b -> -(1/3)}}
```

---

Find the list of coefficients in a series:

```wl
In[1]:= Series[Sin[x], {x, 0, 10}]

Out[1]=
SeriesData[x, 0, {1, 0, Rational[-1, 6], 0, Rational[1, 120], 0, Rational[-1, 5040], 0, 
  Rational[1, 362880]}, 1, 11, 1]

In[2]:= CoefficientList[%, x]

Out[2]= {0, 1, 0, -(1/6), 0, (1/120), 0, -(1/5040), 0, (1/362880)}
```

---

Use ``O[x]`` to force the construction of a series:

```wl
In[1]:= Sin[x] + O[x] ^ 10

Out[1]=
SeriesData[x, 0, {1, 0, Rational[-1, 6], 0, Rational[1, 120], 0, Rational[-1, 5040], 0, 
  Rational[1, 362880]}, 1, 10, 1]
```

---

``ComposeSeries`` treats a series as a function to apply to another series:

```wl
In[1]:= ComposeSeries[x + 2x ^ 2 + O[x] ^ 10, Series[Exp[x] - 1, {x, 0, 10}]]

Out[1]=
SeriesData[x, 0, {1, Rational[5, 2], Rational[13, 6], Rational[29, 24], Rational[61, 120], 
  Rational[25, 144], Rational[253, 5040], Rational[509, 40320], Rational[1021, 362880]}, 1, 10, 1]
```

---

``InverseSeries`` does series reversion to find the series for the inverse function of a series:

```wl
In[1]:= Series[Sin[x], {x, 0, 10}]

Out[1]=
SeriesData[x, 0, {1, 0, Rational[-1, 6], 0, Rational[1, 120], 0, Rational[-1, 5040], 0, 
  Rational[1, 362880]}, 1, 11, 1]

In[2]:= InverseSeries[%, x]

Out[2]=
SeriesData[x, 0, {1, 0, Rational[1, 6], 0, Rational[3, 40], 0, Rational[5, 112], 0, 
  Rational[35, 1152]}, 1, 11, 1]

In[3]:= Series[ArcSin[x], {x, 0, 10}]

Out[3]=
SeriesData[x, 0, {1, 0, Rational[1, 6], 0, Rational[3, 40], 0, Rational[5, 112], 0, 
  Rational[35, 1152]}, 1, 11, 1]
```

---

Use ``FunctionAnalytic`` to test whether a function is analytic:

```wl
In[1]:= f = x Cos[2 ^ Sin[x ^ 2] + 2x];

In[2]:= FunctionAnalytic[f, x]

Out[2]= True
```

An analytic function can be expressed as a Taylor series at each point of its domain:

```wl
In[3]:= s = Series[f, {x, 0, 3}]

Out[3]= SeriesData[x, 0, {Cos[1], -2*Sin[1], -2*Cos[1] - Log[2]*Sin[1]}, 1, 4, 1]
```

The resulting polynomial approximates $f$ near 0:

```wl
In[4]:= Plot@@{{f, Normal[s]}, {x, -2, 2}}

Out[4]= [image]
```

### Possible Issues (7)

When there is an essential singularity, ``Series`` will attempt to factor it out:

```wl
In[1]:= Series[Sin[1 / x], {x, 0, 1}]

Out[1]= Sin[(1/x)]

In[2]:= Series[Sin[1 / x] Sin[x], {x, 0, 10}]

Out[2]=
(SeriesData[x, 0, {1, 0, Rational[-1, 6], 0, Rational[1, 120], 0, Rational[-1, 5040], 0, 
  Rational[1, 362880]}, 1, 11, 1]) Sin[(1/x)]
```

---

Numeric values cannot be substituted directly for the expansion variable in a series:

```wl
In[1]:= Series[Exp[x], {x, 0, 10}]

Out[1]=
SeriesData[x, 0, {1, 1, Rational[1, 2], Rational[1, 6], Rational[1, 24], Rational[1, 120], 
  Rational[1, 720], Rational[1, 5040], Rational[1, 40320], Rational[1, 362880], 
  Rational[1, 3628800]}, 0, 11, 1]

In[2]:= % /. x -> 1
```

SeriesData::ssdn: Attempt to evaluate a series at the number 1. Returning Indeterminate.

```wl
Out[2]= Indeterminate
```

Use ``Normal`` to get a normal expression in which the substitution can be done:

```wl
In[3]:= Normal[Series[Exp[x], {x, 0, 10}]] /. x -> 1

Out[3]= (9864101/3628800)
```

---

Series must be converted to normal expressions before being plotted:

```wl
In[1]:= Plot[Evaluate[Normal[Series[Sin[x], {x, 0, 10}]]], {x, 0, 2Pi}]

Out[1]= [image]
```

---

Power series with different expansion points cannot be combined:

```wl
In[1]:= Series[Exp[x], {x, 1, 3}] + Series[Exp[x], {x, 0, 3}]
```

Series::icm: Series in x to be combined have unequal expansion points 0 and 1.

```wl
Out[1]= (SeriesData[x, 0, {1, 1, Rational[1, 2], Rational[1, 6]}, 0, 4, 1]) + (SeriesData[x, 1, {E, E, Rational[1, 2]*E, Rational[1, 6]*E}, 0, 4, 1])
```

---

Not all series are represented by expressions with head ``SeriesData`` :

```wl
In[1]:= Series[x ^ a Exp[x], {x, 0, 5}]

Out[1]= x^a (SeriesData[x, 0, {1, 1, Rational[1, 2], Rational[1, 6], Rational[1, 24], Rational[1, 120]}, 0, 6, 1])

In[2]:= InputForm[%]
```

Out[2]//InputForm= x^a\*SeriesData[x, 0, {1, 1, 1/2, 1/6, 1/24, 1/120}, 0, 6, 1]

---

Some functions cannot be decomposed into series of power-like functions:

```wl
In[1]:= Series[Zeta[x], {x, Infinity, 10}]

Out[1]= 1 + 2^-x + 3^-x + 4^-x + 5^-x + 6^-x + 7^-x + 8^-x + 9^-x + 10^-x
```

---

``Series`` does not change expressions independent of the expansion variable:

```wl
In[1]:= Series[0, {x, 0, 4}]

Out[1]= 0

In[2]:= Series[Sin[y], {x, 0, 4}]

Out[2]= Sin[y]
```

## See Also

* [`SeriesCoefficient`](https://reference.wolfram.com/language/ref/SeriesCoefficient.en.md)
* [`InverseSeries`](https://reference.wolfram.com/language/ref/InverseSeries.en.md)
* [`ComposeSeries`](https://reference.wolfram.com/language/ref/ComposeSeries.en.md)
* [`Limit`](https://reference.wolfram.com/language/ref/Limit.en.md)
* [`FunctionAnalytic`](https://reference.wolfram.com/language/ref/FunctionAnalytic.en.md)
* [`Normal`](https://reference.wolfram.com/language/ref/Normal.en.md)
* [`InverseZTransform`](https://reference.wolfram.com/language/ref/InverseZTransform.en.md)
* [`RSolve`](https://reference.wolfram.com/language/ref/RSolve.en.md)
* [`O`](https://reference.wolfram.com/language/ref/O.en.md)
* [`SeriesData`](https://reference.wolfram.com/language/ref/SeriesData.en.md)
* [`PadeApproximant`](https://reference.wolfram.com/language/ref/PadeApproximant.en.md)
* [`FourierSeries`](https://reference.wolfram.com/language/ref/FourierSeries.en.md)
* [`AroundReplace`](https://reference.wolfram.com/language/ref/AroundReplace.en.md)
* [`Asymptotic`](https://reference.wolfram.com/language/ref/Asymptotic.en.md)
* [`AsymptoticDSolveValue`](https://reference.wolfram.com/language/ref/AsymptoticDSolveValue.en.md)
* [`AsymptoticIntegrate`](https://reference.wolfram.com/language/ref/AsymptoticIntegrate.en.md)
* [`AsymptoticSum`](https://reference.wolfram.com/language/ref/AsymptoticSum.en.md)
* [`AsymptoticRSolveValue`](https://reference.wolfram.com/language/ref/AsymptoticRSolveValue.en.md)
* [`AsymptoticSolve`](https://reference.wolfram.com/language/ref/AsymptoticSolve.en.md)
* [`ResidueSum`](https://reference.wolfram.com/language/ref/ResidueSum.en.md)

## Tech Notes

* [Symbolic Mathematics: Basic Operations](https://reference.wolfram.com/language/tutorial/SymbolicCalculations.en.md)
* [Power Series](https://reference.wolfram.com/language/tutorial/SeriesLimitsAndResidues.en.md#3309)
* [Making Power Series Expansions](https://reference.wolfram.com/language/tutorial/SeriesLimitsAndResidues.en.md#31665)
* [Operations on Power Series](https://reference.wolfram.com/language/tutorial/SeriesLimitsAndResidues.en.md#16500)
* [The Representation of Power Series](https://reference.wolfram.com/language/tutorial/SeriesLimitsAndResidues.en.md#8901)
* [Converting Power Series to Normal Expressions](https://reference.wolfram.com/language/tutorial/SeriesLimitsAndResidues.en.md#28112)
* [Implementation notes: Algebra and Calculus](https://reference.wolfram.com/language/tutorial/SomeNotesOnInternalImplementation.en.md#26477)

## Related Guides

* [Series Expansions](https://reference.wolfram.com/language/guide/SeriesExpansions.en.md)
* [`Calculus`](https://reference.wolfram.com/language/guide/Calculus.en.md)
* [Manipulating Equations](https://reference.wolfram.com/language/guide/ManipulatingEquations.en.md)
* [Scientific Models](https://reference.wolfram.com/language/guide/ScientificModels.en.md)
* [`Asymptotics`](https://reference.wolfram.com/language/guide/Asymptotics.en.md)
* [Analytic Number Theory](https://reference.wolfram.com/language/guide/AnalyticNumberTheory.en.md)
* [Multiplicative Number Theory](https://reference.wolfram.com/language/guide/MultiplicativeNumberTheory.en.md)

## Related Links

* [NKS\|Online](http://www.wolframscience.com/nks/search/?q=Series)
* [A New Kind of Science](http://www.wolframscience.com/nks/)

## History

* Introduced in 1988 (1.0) \| [Updated in 2020 (12.1)](https://reference.wolfram.com/language/guide/SummaryOfNewFeaturesIn121.en.md)