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

Note that this is not a uniform grid.
Find the minimum value with respect to the 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
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
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.
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.
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.
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
Equation (2.4) is Poisson’s equation.
(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.