A few remarks:
(i) A very similar question was posed in June of this year. Two
responses were given. The first I note, bu myself, can be found at
http://www.wolfram.com/cgi-bin/mathgroup/1998/Jun//333
(In case this URL is wrong I include the subject/message number)
Subject: [mg14753] [mg12967] Re: Pulling out certain order terms from a
polynomial
The gist of my method was to get a series in one variable, then go into
each term to make a subseries of appropriate degree in the other
variable.
I think the other response was better. Since I cannot seem to find it in
the mathgroup archives I will re-post a copy I kept in e-mail.
----------------------------------------------
Subject: [mg14753]
[mg13093] Re: Pulling out certain order terms from a
polynomial
Date:
Sun, 5 Jul 1998 03:37:08 -0400
From:
To: math...@smc.vnet.net
Paul Abbott <pa...@physics.uwa.edu.au> Organization:
University of Western Australia
To:
math...@smc.vnet.net
References:
1
Rod Miller wrote:
> I am working with large series and am interetsted in only retaining
> certain order terms in the expansion. Example, I expand a
> multivariate function in du and dv in an 8th order series in du and dv.
> I only want to keep the terms where the order of the term is 8 or less.
> Does anyone know how to do this in Mathematica?
Andre Deprit suggested the following method:
To produce the Taylor formula for a multivariate function f at the
origin to a given order one can use
In[1]:= series[f_, v_List, order_] :=
Module[{e}, Expand[Normal[Series[f /.
Thread[v -> e*v], {e, 0, order}]] /. e -> 1]]
This amounts to multiplying the variables v by a scale factor e, then
initiating a Taylor series in e at the origin. For example
In[2]:= series[f[x,y], {x, y}, 2]
Out[2]=
1 (2,0) 2 (1,0) (1,1) - f [0, 0] x + f
[0, 0] x + y f [0, 0] x + 2
(0,1) 1 2 (0,2)
f[0, 0] + y f [0, 0] + - y f [0, 0]
2
Cheers,
Paul
____________________________________________________________________
Paul Abbott Phone: +61-8-9380-2734
Department of Physics Fax: +61-8-9380-1014
The University of Western Australia Nedlands WA 6907
mailto:pa...@physics.uwa.edu.au AUSTRALIA
http://www.pd.uwa.edu.au/~paul
God IS a weakly left-handed dice player
____________________________________________________________________
---------------------------------------
(ii) Below is a response I sent to the poster yesterday. It is similar
to the method shown above but tailored (Taylored?) to the specific
question at hand.
In[16]:= taylorF[s_] =
Series[F[x + G[x + s*dx, t + s*dt], t + s*dt], {s,0,1}];
In[17]:= (Normal[taylorF[s]] /. s->1) + O[dx]^3 + O[dt]^3
(1,0) (1,0) Out[17]= F[x
+ G[x, t], t] + F [x + G[x, t], t] G [x, t] dx +
3 (0,1) (0,1) (1,0)
> O[dx] + (F [x + G[x, t], t] + G [x, t] F [x + G[x, t], t])
3
> dt + O[dt]
(iii) Some of the remarks about Series weaknesses, found at the
afore-mentioned
http://www.wolfram.com/support/Kernel/Symbols/System/Series.html
are slated to become obsolete. For example, in our development version
one can obtain:
In[5]:= Series[1/(1 - Cos[x^25]), {x, 0, 25}]
2 1 26
Out[5]= --- + - + O[x]
50 6
x
In[7]:= Series[Exp[x + y], {x, 0, 3}, {y, 0, 1}]
2 2 1 y 2 2 Out[7]= 1
+ y + O[y] + (1 + y + O[y] ) x + (- + - + O[y] ) x +
2 2
1 y 2 3 4
> (- + - + O[y] ) x + O[x]
6 6
Daniel Lichtblau
Wolfram Research