MathGroup Archive 2007

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Series and order


Mathematica calculates a series with more than one variable 

sequentially, leading to the order problem you mentioned. Now, what can 

we do?

Here is simple solution: Formally, you know what you want, namely: 

f1[x0, x0] + (-x0 + x2)*Derivative[0, 1][f1][x0, x0] + (-x0 + 

x1)*Derivative[1, 0][f1][x0, x0]. Now, write this by hand with f1 

unspecified and replace f1 by your function myFun[_,_]:

f1[x0, x0] + (-x0 + x2)*Derivative[0, 1][f1][x0, x0] + (-x0 + 

x1)*Derivative[1, 0][f1][x0, x0] /. f1:>myFun

However, if you nevertheless want an automatism, although I would no 

recommend this, we could try to formally couple both variable during the 

expansion. E.g. we could introduce an unspecified proportionality 

constant. x2= a x1, expand, replace all terms of the form a x1 by x2 and 

set a=1:

Expand[Normal[Series[f1[x1,a x1],{x1,x0,1}]]]/. a x1 ->x2 /. a->1

The second proble you metioned is harder to deal with. I think it needs 

hand work. E.g. replacement of c1^n_ -> 0


Hugh wrote:

> I wish to expand the expression e1, below, in a Taylor's series

> expansion about z0 in the two variables z1 and z2 and include only

> first order terms (c1, c2, a and b are coefficients). Terms in z1 and

> z2 are of similar order so that products of their first order terms

> are second order and should be discounted compared to first order

> terms. Problem 1: how do I tell Series to do this? Problem 2: the

> coefficients c1 and c2 are of similar order to z1-z0 and thus

> additional terms can be set to zero as second order. How do I do

> this?


> Below I give a warm up problem for a function f[z1,z2] which just

> seems to expand in terms of one variable and then in terms of the

> other without regard for term order. If we can solve the first problem

> then it may be possible to solve the second by expanding in terms of

> the coefficients as well.


> Thanks


> Hugh Goyder



> Series[f[z1, z2], {z2, z0, 1}, {z1, z0, 1}]



> SeriesData[z2, z0, {SeriesData[z1, z0,

>     {f[z0, z0], Derivative[1, 0][f][z0, z0]}, 0, 2, 1],

>    SeriesData[z1, z0, {Derivative[0, 1][f][z0, z0],

>      Derivative[1, 1][f][z0, z0]}, 0, 2, 1]}, 0, 2, 1]



> e1 = (z0^2 - 2*I*c1*z0*z1 - z1^2)*(z0^2 - 2*I*c2*z0*z2 -

>       z2^2) - 4*z1*z2*(I*a*z0 + b*Sqrt[z1*z2])^2;



> Simplify[Normal[Series[e1, {z2, z0, 1}, {z1, z0, 1}]],

>   {0 < z0}]



> 2*z0^2*((2 - I*a*b - 2*b^2)*z0^2 +

>    (2*a^2 - 9*I*a*b - 8*b^2 - 2*(-I + c1)*(-I + c2))*z1*z2 +

>    z0*((-2 + 3*I*a*b + 4*b^2 - 2*I*c1)*z1 +

>      (-2 + 3*I*a*b + 4*b^2 - 2*I*c2)*z2))



  • Prev by Date: Re: Finding unknown parameters using Mathematica
  • Next by Date: Re: (Not trivial) Definite Integration of a rational function
  • Previous by thread: Series and order
  • Next by thread: Re: Solve[] and Eliminate[] choke on simple systems