MultiSeries - Maple Programming Help

Online Help

All Products    Maple    MapleSim


Home : Support : Online Help : Mathematics : Discrete Mathematics : MultiSeries : MultiSeries/multiseries

MultiSeries

  

multiseries

  

generalized series expansion

 

Calling Sequence

Parameters

Description

Examples

Calling Sequence

multiseries(expr, x, n, 'exact_order')

multiseries(expr, x=a, n, 'exact_order')

multiseries(expr, s, n, 'exact_order', v)

Parameters

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])

Description

• 

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=otin, for i=1,...,k1.

• 

For example, for an ordinary formal power series in x, the scale is simply x.

• 

A truncated multiseries expansion is

T=i=1pcitkαi+Otkαp

  

where tk=ocij 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,...,tk1.

• 

Multiseries can be formed by recursively expressing each coefficient as a series with respect to {t1,...,tk1}. Leading terms can be found by only considering the leading term of the expansion.

• 

The expansion of a function fx as x0+, is a truncated multiseries expansion T such that fT=Otkα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+Ox2001, 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.

Examples

withMultiSeries:

multiseriesexpx,x

1+x+x22+x36+x424+x5120+Ox6

(1)

An example with a pole:

multiseries1x3x4,x,3

1x3+1x2+1x+O1

(2)

Expansions at infinity:

flnx2lnxlnx+expx

flnx2lnxlnx+ⅇx

(3)

multiseriesf,x=,2

lnxxⅇx+O1x2ⅇx2

(4)

In the following example, the requested order is 6, but only the first 5 terms are returned, due to cancellation:

multiseriescosx+sinx1x,x,6

x22x36+x424+x5120x6720+Ox7

(5)

Now, use the exact_order option:

multiseriescosx+sinx1x,x,6,exact_order

x22x36+x424+x5120x6720x75040+Ox8

(6)

An expansion with the variable tending to 0 from the right:

multiseriesarccoshx,x,4

Iπ2IxIx36+Ox5

(7)

The variable tends to its limit on a ray coming from the origin:

f1sqrt14x2x

f114x2x

(8)

multiseriesf,x=14,3

4214x8x+O14x32

(9)

A simple change of variables reverses the direction:

multiseriessubsx=14+ε,f,ε,3

22−4ε8ε+Oε32

(10)

The coefficients can be bounded functions of the variable:

multiseriesexpIx+x,x,3

ⅇIx+ⅇIxx+ⅇIxx22+OⅇIxx36

(11)

Non-rational exponents are allowed:

multiseriesexpxπ+xsqrt2,x,7

1+x2+x222+xπ+x326+xπ+2+x4224+Oxπ+22

(12)

Manipulations with the form of the output. The first computation calculates the scale:

f1exp1x1x1:

smultiseriesf,x=0,3

s1+1+Oxⅇ1x

(13)

scaleSeriesInfoScales:

scalelist

_varx,_var1ⅇ1x

(14)

Then if we want the answer in a different form:

multiseriesf,scale,3,scalelist2..2

1+x1ⅇ1xx12ⅇ1x2+O1ⅇ1x3

(15)

or

multiseriesf,scale,3

1+x1ⅇ1x+x2+2x1ⅇ1x2+O1ⅇ1x3

(16)

smultiseriesΓx+expx,x=,2

s2π1x+2π1x3212+O1x52+Olnx2π1xⅇxⅇlnx1x

(17)

scaleSeriesInfoScales:

scalelist

_var1lnx,_var1x,_var1ⅇx,_var1ⅇlnx1x

(18)

See Also

MultiSeries[scale]

MultiSeries[series]

MultiSeries[SeriesInfo]

Order

series

Testzero

type[SERIES]