MultiSeries
multiseries
generalized series expansion
Calling Sequence
Parameters
Description
Examples
multiseries(expr, x, n, 'exact_order')
multiseries(expr, x=a, n, 'exact_order')
multiseries(expr, s, n, 'exact_order', v)
expr
-
algebraic expression
x
name; the series variable
n
(optional) non-negative integer; the expansion order
a
(optional) algebraic expression; the expansion point
exact_order
(optional) literal name
s
scale (see MultiSeries[scale])
v
(optional) list of variables in the scale (see MultiSeries[scale])
The multiseries function computes a truncated multiseries expansion of expr, with respect to the variable x, at the point a, up to order n. If a is not given, then a = 0 is assumed.
In the simplest case, a multiseries is a classical power series that is truncated during computation.
In general, a multiseries is defined recursively with respect to an asymptotic scale. An asymptotic scale is a finite ordered set {t1,...,tk} of positive functions tending to zero such that for all n>0, ti+1=o⁡tin, for i=1,...,k−1.
For example, for an ordinary formal power series in x, the scale is simply x.
A truncated multiseries expansion is
T=∑i=1p⁡ci⁢tkαi+O⁡tkαp
where tk=o⁡cij for all j>0, for all i, and the αi's are real. The ci's are functions which can be in terms of t1,...,tk−1.
Multiseries can be formed by recursively expressing each coefficient as a series with respect to {t1,...,tk−1}. Leading terms can be found by only considering the leading term of the expansion.
The expansion of a function f⁡x as x→0+, is a truncated multiseries expansion T such that f−T=O⁡tkαp.
The variable is assumed to tend to a along a ray coming from the origin. When a is 0, x tends to 0+. This direction can be changed by a simple change of variable (see the examples below).
The object returned is either 0 (when expr is 0) or of type SERIES. (See type[SERIES] for the description of this data structure.)
Other available functions in the MultiSeries package are MultiSeries[series], MultiSeries[asympt], MultiSeries[limit] and MultiSeries[LeadingTerm]. These functions have a simple user interface and do not return objects of type SERIES.
If the third argument n is present then it specifies the "working 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 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. The order roughly corresponds to the number of terms starting from the first non-zero term for ordinary Taylor series, and the number of nonzero terms for more complicated asymptotic expansions. However due to possible cancellation of terms, this is not guaranteed. See the exact_order flag.
The flag 'exact_order' is used if exactly n nonzero terms are required. Essentially, the function uses n as the working order, and if not enough non-zero terms have been found, it tries again with a greater n, continuing until n nonzero terms have been found, or it can prove no more terms will occur. The danger of using this flag is that the answer may be something like x+x2+x2000+O⁡x2001, in which case it may take a very long time to find 3 terms. This option is not usually necessary for most uses of multiseries.
The computation of a multiseries expansion makes heavy use of the environment variable Testzero. In some cases, it might be necessary to modify this variable in order for the computation to be successful (see the documentation of Testzero).
It is possible to extend multiseries to user defined functions. See AddFunction for details.
When a scale s is given as the second argument, the expansion takes place in this scale. There are two main uses for this functionality. The first one is to make it possible to combine (add, multiply,...) several multiseries expansions. The second one is to refine a multiseries expansion, in conjunction with the optional argument v.
The argument v is a list of variables in the scale (see also MultiSeries[scale]). Given such a list, multiseries expands expr to order 1 with respect to the elements of the scale that grow faster than the fastest element of varlist, expands to order n with respect to the elements in the list, and does not expand with respect to the elements in the scale that grow more slowly than the slowest element of varlist. The default value is the whole list of the elements of the scale.
with⁡MultiSeries:
multiseries⁡exp⁡x,x
1+x+x22+x36+x424+x5120+O⁡x6
An example with a pole:
multiseries⁡1x3−x4,x,3
1x3+1x2+1x+O⁡1
Expansions at infinity:
f≔ln⁡x2−ln⁡x⁢ln⁡x+exp⁡−x
f≔ln⁡x2−ln⁡x⁢ln⁡x+ⅇ−x
multiseries⁡f,x=∞,2
−ln⁡xx⁢ⅇx+O⁡1x2ⅇx2
In the following example, the requested order is 6, but only the first 5 terms are returned, due to cancellation:
multiseries⁡cos⁡x+sin⁡x−1−x,x,6
−x22−x36+x424+x5120−x6720+O⁡x7
Now, use the exact_order option:
multiseries⁡cos⁡x+sin⁡x−1−x,x,6,exact_order
−x22−x36+x424+x5120−x6720−x75040+O⁡x8
An expansion with the variable tending to 0 from the right:
multiseries⁡arccosh⁡x,x,4
I⁢π2−I⁢x−I⁢x36+O⁡x5
The variable tends to its limit on a ray coming from the origin:
f≔1−sqrt⁡1−4⁢x2⁢x
f≔1−1−4⁢x2⁢x
multiseries⁡f,x=14,3
4−2⁢1−4⁢x−8⁢x+O⁡1−4⁢x32
A simple change of variables reverses the direction:
multiseries⁡subs⁡x=14+ε,f,ε,3
2−2⁢−4⁢ε−8⁢ε+O⁡ε32
The coefficients can be bounded functions of the variable:
multiseries⁡exp⁡Ix+x,x,3
ⅇIx+ⅇIx⁢x+ⅇIx⁢x22+O⁡ⅇIx⁢x36
Non-rational exponents are allowed:
multiseries⁡exp⁡xπ+xsqrt⁡2,x,7
1+x2+x2⁢22+xπ+x3⁢26+xπ+2+x4⁢224+O⁡xπ+2⁢2
Manipulations with the form of the output. The first computation calculates the scale:
f≔1exp⁡−1x⁢1−x−1:
s≔multiseries⁡f,x=0,3
s≔−1+−1+O⁡xⅇ1x
scale≔SeriesInfoScale⁡s:
scalelist
_varx,_var1ⅇ1x
Then if we want the answer in a different form:
multiseries⁡f,scale,3,scalelist2..2
−1+x−1ⅇ1x−x−12ⅇ1x2+O⁡1ⅇ1x3
or
multiseries⁡f,scale,3
−1+x−1ⅇ1x+−x2+2⁢x−1ⅇ1x2+O⁡1ⅇ1x3
s≔multiseries⁡Γ⁡x+exp⁡−x,x=∞,2
s≔2⁢π⁢1x+2⁢π⁢1x3212+O⁡1x52+O⁡ln⁡x⁢2⁢π⁢1xⅇx⁢ⅇln⁡x−1⁢x
_var1ln⁡x,_var1x,_var1ⅇx,_var1ⅇln⁡x−1⁢x
See Also
MultiSeries[scale]
MultiSeries[series]
MultiSeries[SeriesInfo]
Order
series
Testzero
type[SERIES]
Download Help Document