Re: Series and order
- To: mathgroup at smc.vnet.net
- Subject: [mg74767] Re: Series and order
- From: dh <dh at metrohm.ch>
- Date: Wed, 4 Apr 2007 04:07:29 -0400 (EDT)
- References: <eusl3f$9ee$1@smc.vnet.net>
Hi,
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
Daniel
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))
>
>