The Greens library is presented which provides a set of C++ procedures for the computation of the (radial) Coulomb wave and Green's functions. Both, the nonrelativistic as well as relativistic representations of these functions are supported by the library. However, while the wave functions are implemented for all, the bound and free-electron states, the Green's functions are provided only for bound-state energies (E < 0). Apart from the Coulomb functions, moreover, the implementation of several special functions, such as the Kummer and Whittaker functions of the first and second kind, as well as a few utility procedures may help the user with the set-up and evaluation of matrix elements. Computer for which the program is designed and has been tested: PC Pentium III, PC Athlon Installation: University of Kassel (Germany).
KovalOperating systems: Linux 6.1+, SuSe Linux 7.3, SuSe Linux 8.0, Windows 98.
Program language used: C++.Memory required to execute with typical data: 300 kB.No. of bits in a word: All real variables are of type double (i.e. 8 bytes long).Distribution format: Compressed tar file.
CPC Program Library Subprograms required: None.Keywords: confluent hypergeometric function, Coulomb-Green's function, hydrogenic wave function, Kummer function, nonrelativistic, relativistic, two-photon ionization cross section, Whittaker function.
Nature of the physical problem:In order to describe and understand the behaviour of hydrogen-like ions, one often needs the Coulomb wave and Green's functions for the evaluation of matrix elements. But although these functions have been known analytically for a long time and within different representations [1,2], not so many implementations exist and allow for a simple access to these functions. In practise, moreover, the application of the Coulomb functions is sometimes hampered due to numerical instabilities.
Method of solution:The radial components of the Coulomb wave and Green's functions are implemented in position space, following the representation of Swainson and Drake [2]. For the computation of these functions, however, use is made of Kummer's functions of the first and second kind [3] which were implemented for a wide range of arguments. In addition, in order to support the integration over the Coulomb functions, an adaptive Gauss-Legendre quadrature has also been implemented within one and two dimensions.
2Restrictions onto the complexity of the problem: As known for the hydrogen atom, the Coulomb wave and Green's functions exhibit a rapid oscillation in their radial structure if either the principal quantum number or the (free-electron) energy increase. In the implementation of these wave functions, therefore, the bound-state functions have been tested properly only up to the principal quantum number n ≈ 20, while the free-electron waves were tested for the angular momentum quantum numbers κ ≤ 7 and for all energies in the range 0 . . . 10 |E 1s |. In the computation of the two-photon ionization cross sections σ 2 , moreover, only the long-wavelength...