MathGroup Archive 1997

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

Search the Archive

Re: Need help to a beginner.

  • To: mathgroup at smc.vnet.net
  • Subject: [mg9674] Re: [mg9642] Need help to a beginner.
  • From: Daniel Lichtblau <danl>
  • Date: Fri, 21 Nov 1997 01:31:11 -0500
  • Sender: owner-wri-mathgroup at wolfram.com

Shinichiro Kondo wrote:
> 
> Hi, all. I am quite new to Mathematica, and am using the older version,
> v. 2.2. I hope someone will help me. My problem is nothing to do with
> homework of a math class, or any sort. I am a physics graduate student,
> and for my research project am trying to have an algebraic expression
> of  potential energy of certain ionic crystalline lattice. The
> electrostatic (i.e.  Coulomb) energy has the expression of 1/r, where r
> is the distance between two  charges.
> I am still far from getting the answer I want because of this problem I
> am facing in the very first stage where I am supposed to be used to
> Mathematica.
> 
> First of all, let me explain my problem. It is known, if you expand
> 1/Sqrt[1-x], provided that x^2<<1, you have
> 1+(1/2)*x+(3/*)*x^2+(5/16)*x^3+.... Now, let's have a similar
> expression to this: 1/Sqrt[(a-x)^2+y^2+z^2].
> Suppose x, y and z are cartesian coordinates, and r^2=x^2+y^2+z^2. And a
> is some positive constant, and it satisfies a>>r. So factoring the
> denominator by a^2 and kicking it out of the Sqrt as a, I can continue
> this algebra by my hand, and I should end up with:
> (1/a)*(1+x/a-r^2/(2*a^2)+(3*x^2)/(2*a^2)+....) in which I only keep up
> to the 2nd order of r/a (and x/a).
> 
> I would like to be able to do this by Mathematica. That is, given this
> sort of a reciprocal of a Sqrt of quadratic expression with x, y and z,
> I'd like it to expand "approximately" so that a resultant expression
> only contain the terms up to a specified order of r/a (thus, x/a, y/a,
> and z/a). How can I do this? This kind of expansion goes on forever,
> but I don't need many higher order terms. How can I specify the maximum
> order that I want to have?
> 
> I will greatly appreciate someone's help to this problem. Meanwhile, I
> am trying to find a solution in the manual by myself. If you don't
> mind, please send your solution to my email address: shink at iastate.edu
> 
> Thank you for your attention.


This may be along the lines you seek. First explicitly rewrite the
expression in a convenient form (as you indicate: factor a from
denominator), and substitute r^2 for (x^2+y^2+z^2). Then expand as an
iterated Taylor series.

In[1]:= result = Series[1/a * 1/Sqrt[1-2/a*x+r^2/a^2], {x,0,2},{r,0,2}]
              2                      2
        1    r         3     -2   3 r        3
Out[1]= - - ---- + O[r]  + (a   - ---- + O[r] ) x +
        a      3                     4
            2 a                   2 a
                 2
       3     15 r        3   2       3
>    (---- - ----- + O[r] ) x  + O[x]
         3      5
      2 a    4 a

You can also begin with
Series[1/Sqrt[a^2-2*a*x+r^2], {x,0,3},{r,0,3}] which involves less
preprocessing, and play around with PowerExpand to make the result more
to your liking (it will rewrite Sqrt[a^2] as a, for example).

One can partly automate the preprocessing with PolynomialReduce, as
below.

ee = (a-x)^2+y^2+z^2;
In[16]:= newee = Last[PolynomialReduce[ee, x^2+y^2+z^2-r^2, {x,y,z,r}]]
          2    2
Out[16]= a  + r  - 2 a x

Then compute Series of expr = 1/Sqrt[newee]

Yet another variation that might produce a useful result:

newee = 1/a * 1/Sqrt[1-2/a*x+r^2/a^2]; result = newee + O[x]^3 + O[r]^3

In all methods Expand[Normal[result]] will truncate to polynomials and
expand into monomials.


Daniel Lichtblau
Wolfram Research
danl at wolfram.com


  • Prev by Date: Re: Re: More Integrate woes
  • Next by Date: Re: Need help to a beginner.
  • Previous by thread: Re: Need help to a beginner.
  • Next by thread: Re: Need help to a beginner.