series
generalized series expansion
Calling Sequence
Parameters
Description
Examples
Compatibility
series(expr, eqn)
series(expr, eqn, n)
expr
-
expression
eqn
equation (such as x = a) or name (such as x)
n
(optional) non-negative integer
oterm
(optional) truefalse
The series function computes a truncated series expansion of expr, with respect to the variable x, about the point a, up to order n. If a is infinity then an asymptotic expansion is given.
If eqn evaluates to a name x then the equation x=0 is assumed.
If the third argument n is present then it specifies the "truncation order" of the series calculations. This does not mean the truncation order of the actual series. See Order for more information about this. If n is not present, the "truncation order" is determined by the global variable Order. The user may assign any non-negative integer to Order. The default value of Order is 6. See Order for more information.
If the series is not exact then an "order term" (for example, O⁡x6 ) is the last term in the series.
It is possible to invoke series on user-defined functions. For example, if the procedure `series/f` is defined then the function call series(f(x,y),x) will invoke `series/f`(x,y,x) to compute the series. Note that this user-defined function `series/f` must return a series data structure, not just a polynomial (see type/series).
If series is applied to an unevaluated integral then the series expansion of the integral will be computed (if possible).
Whenever the series algorithm needs to check whether the leading coefficient of an intermediate result is actually 0, it calls the procedure defined by the environment variable Testzero. By default, this procedure is defined in terms of Normalizer, which is also used by series for simplifying coefficients. Again by default, Normalizer is equal to the Maple function normal, which is powerful enough to recognize equality of expressions representing (multivariate) polynomials with rational number coefficients. If a more powerful simplifier or zero tester is needed, you can redefine either Normalizer or Testzero accordingly. For example, if expr or eqn contain RootOf expressions, you may want to define Normalizer := evala before calling series, and similarly Normalizer := radnormal for radical expressions.
The result of the series function is a generalized series expansion. This could be a Taylor series or a Laurent series or a more general series. Formally, the coefficients in a "generalized series" are such that
k1x−aϵ<coeffi<k2x−aϵ
for some constants k1 and k2, for any 0<ϵ as x approaches a. In other words, the coefficients may depend on x but their growth must be less than the polynomial in x. The order term may also hide such a coefficient, rather than an arbitrary constant. E.g., series considers x2⁢ln⁡x to be O⁡x2.
If a=infinity or a=-infinity, respectively, then the series expansion is only guaranteed to be valid for positive real x or negative real x, respectively. Use the substitution x=1x and then call series with a=0 to get an expansion that is valid around the North pole of the Riemann sphere.
Usually, the result of the series function is represented in the form of a series data structure. For an explanation of the data structure, see the type/series help page. However, the result of the series function will be represented in ordinary sum-of-products form, rather than in a series data structure, if it is a generalized series requiring fractional exponents, or if it is a series at ±∞.
series implements a caching mechanism (see also option remember), so that when the same series is requested a second time but with a lower order, instead of recomputing it the terms from the cache are used.
If the optional argument oterm=false is given, then convert(result,polynom) is applied before returning.
series⁡x1−x−x2,x=0
x+x2+2⁢x3+3⁢x4+5⁢x5+O⁡x6
If the second argument is x then the equation x=0 is assumed.
series⁡x1−x−x2,x
convert⁡,polynom
5⁢x5+3⁢x4+2⁢x3+x2+x
You can alternatively return the series converted into a polynomial using the oterm option:
series⁡x1−x−x2,x,oterm=false
The third argument specifies the "truncation order" of the series calculations.
series⁡x+1x,x=1,3
2+x−12+O⁡x−13
series⁡exp⁡x,x=0,8
1+x+12⁢x2+16⁢x3+124⁢x4+1120⁢x5+1720⁢x6+15040⁢x7+O⁡x8
series⁡exp⁡xx,x=0,8
x−1+1+12⁢x+16⁢x2+124⁢x3+1120⁢x4+1720⁢x5+15040⁢x6+O⁡x7
series⁡Γ⁡x,x=0,2
x−1−γ+π212+γ22⁢x+O⁡x2
The truncation order may be lower than expected if cancellation happens.
series⁡1exp⁡x−1−x,x,6
2⁢x−2−23⁢x−1+118+1270⁢x+O⁡x2
series⁡1exp⁡x−1−x,x,10
2⁢x−2−23⁢x−1+118+1270⁢x−13240⁢x2−113608⁢x3−12041200⁢x4+1874800⁢x5+O⁡x6
The caching mechanism is used when series is called again with the original truncation order, leading to a more accurate result than before.
The cache can be cleared by means of the command forget.
forget⁡series:
int⁡exp⁡x3,x
−−123⁢2⁢x⁢−113⁢π⁢33⁢Γ⁡23⁢−x313−x⁢−113⁢Γ⁡13,−x3−x3133
series⁡,x=0
x+14⁢x4+O⁡x7
p≔series⁡xx,x=0,3
p≔1+ln⁡x⁢x+12⁢ln⁡x2⁢x2+O⁡x3
type⁡p,series
true
The result of the series function will be represented in ordinary sum-of-products form, rather than in a series data structure, if it is a generalized series requiring fractional exponents.
s≔series⁡sqrt⁡sin⁡x,x=0,4
s≔x−x5212+O⁡x92
type⁡s,series
false
whattype⁡s
`+`
The same holds for expansions at ±∞.
t≔series⁡x3x4+4⁢x−5,x=∞
t≔1x−4x4+5x5+O⁡1x7
whattype⁡t
An example with algebraic number coefficients. By default, series returns a result with a division by an unrecognized zero in the leading term:
p≔x3+x+1
alias⁡α=RootOf⁡p:
series⁡1p,x=α,2
1α3+α+1−3⁢α2+1α3+α+12⁢x−α+O⁡x−α2
Defining Normalizer appropriately helps. Note that we also need to clear the cache of series first.
Normalizer≔evala:
forget⁡series
13⁢α2+1⁢x−α−1+O⁡x−α0
The series command was updated in Maple 2016; see Advanced Math.
The series command was updated in Maple 2024.
The oterm option was introduced in Maple 2024.
For more information on Maple 2024 changes, see Updates in Maple 2024.
See Also
asympt
coeftayl
convert
convert/FormalPowerSeries
convert/polynom
convert/Sum
initialfunctions
Normalizer
Order
powseries
series/leadterm
taylor
type/laurent
type/series
type/taylor
Download Help Document