Energy Relaxation[1]

Start with the energy

(1.1)

Note that there is no second derivative.  We will be solving the Schrödinger equation by minimizing the action that gives rise to it rather than directly.  Approximate the first derivatives by

            (1.2)

               

Use mid-point trap rule to approximate the integral as

(1.3)

 

Note that this is not a uniform grid.

Find the minimum value with respect to the uk’s.   These are free parameters which we can vary at will.  Note that in general  to avoid the trivial solution. It can also pay to take .  This is a bit inconsistent. At the minimum the derivative of E with respect to each of the parameters um is zero.  These derivatives are given by
(1.4)


First multiply by the denominators and then evaluate the sums to find


(1.5)

 

 

The above was tested with the code relax1 for\relax1.for

            The essence of this code is that I start with the approximate answer.

 , then set u64(r=6.3) to zero and then iterate to the solution.  The purpose of this is merely to test the above equation.  A somewhat more sophisticated version of the code is for\relax.for.

            As the distances rm-rm-1 become very small the dominant terms are those that make um the average of um-1 and um.  In practice one starts with a middle one large and lets the rest relax to the correct values.  In 2d this is Jacobi iteration.  It is an extremely easy method for solving Laplace’s or Poisson’s equation...\Migma\bound\Welcome.htm. In these cases the boundary points are fixed and only the interior points are parameterized as above. This used to be compared to stretching a rubber sheet over the boundary conditions.

  The value of E entering equation 5 is the value given by Eqn 2, which is not really known until after equation 6 has been iterated for some time.  This is very easy for the ground state.  Start with a very negative value of E, iterate a few times and then take advantage of the fact that the error in E is proportional to the square for the error in u, so that one can rapidly get to the desired answer by substituting the last value from equation 4 into equation 6. 

            Jacobi iteration of this type is notorious for its slow convergence.  This is because of the natural tendency to use a large uniform grid and just wait.  The correct method is:

            1. Use a large uniform grid.

            2. Iterate to completion using Aitkin's extrapolation for every third iteration.  Aitkins.doc .htm

            3.  Find the region with the largest Lagrange interpolation error.  - - Or even just where u and/or du/dr

            4.  Insert a few more points

            5.  Go to 2

Assignment

            Write a relaxation code to find the wave function of hydrogen using (1.5).  Begin with a guess at the energy, or better yet the energy that zeroes the determinant EigenValues.doc .htm.  Recall that the energy is quadratic in the wave function error.  This means that the ground state energy can be corrected using (1.3) after the wave function begins to converge.  Start with a very large grid of evenly spaced points, 0,1,4,8,16,32,64.  Iterate to a solution with this grid.  Then use the BLI method to add a point to the region with the largest change in u multiplied by the range to a power. Iterate to a solution with the new grid, Continue until the best set of 50 points have been placed. 

Repeat with L=4 in Veff (note that for each L there is a single ground state)

 

            When the method is slowly convergent or even divergent Aitkin's extrapolation procedure can be applied to each value of u independently to speed convergence.   It is also possible to write  to yield

changes fastest.


(1.6)


In time consuming situations, one can calculate this analytically, but it is easy to find the minimum numerically.

For large values of lambda this is called over-relaxation.

Action
Poisson’s equation

 

The action that gives rise to Poisson’s equation is defined to be

(2.1)

Poisson’s equation is derived from this by first setting the partial of the action with respect to ck equal to zero.

(2.2)

 

Integrate the first term in equation 2 by parts assuming that  to find

(2.3)

Eqn 1

This is zero for arbitrary values of  if and only if

(2.4)

Equation (2.4) is Poisson’s equation.

Action for the two dimensional Laplacian

           (3.1)

with evenly spaced points in x and y, the above procedure for evenly spaced points yields

               (3.2)

for a rather simple interpolation of the points nearest i,j.  The entire problem then involves placing the boundary and doing partial interpolations only for those points near the boundaries.

 

 

In particular Φ9,6 is interpolated between Φ8,6, the boundary, Φ9,5 and Φ9,7.

   Since any disturbance in this method propagates in each step only to the next nearest steps, the method is fastest with the fewest points but of course with the most discretization error.  In the past I have found it worthwhile to solve with N points in each dimension, N2 total points, then to double starting with interpolations between the first group of points and to finally double ones more.  The procedure of producing u new from u old is completely vectorizable since there are no ifs and no function calls --- fast ---.  I have in the past formed a logical variable to tell which points are near boundaries so that I could then give them special treatment with stored interpolation terms.  ..\Migma\bound\Welcome.htm.

 

                The fact that x,y,z appear in the same way in each dimension means that the multidimensional problem is “essentially” the same as the one-d problem except of course for the need for a lot more points and for the tying together of every M’th point.   In essence the relaxation method in multi-dimensions is simply an extension of the one dimensional schemes to many more points. 

 

 

 



[1] Based somewhat on Press  Section on Relaxation Methods for Boundary Value Problems  17.5 in 1986 edition.