Elsevier Science Home
Computer Physics Communications Program Library
Full text online from Science Direct
Programs in Physics & Physical Chemistry
CPC Home

[Licence| Download | New Version Template] aduq_v2_0.tar.gz(279 Kbytes)
Manuscript Title: DIRAC: A new version of computer algebra tools for studying the properties and behaviour of hydrogen-like ions.
Authors: Sean McConnell, Stephan Fritzsche, Andrey Surzhykov
Program title: DIRAC
Catalogue identifier: ADUQ_v2_0
Distribution format: tar.gz
Journal reference: Comput. Phys. Commun. 181(2010)711
Programming language: Mathematica 6.0 or higher.
Computer: All computers with a license for the computer algebra package Mathematica (version 6.0 or higher).
Operating system: Mathematica is O/S independent.
Keywords: Analytical solutions, Coulomb Green's and wave functions, Dirac and Schrödinger equations, Energy levels, Expectation values, Hydrogen-like ions, Matrix elements, Radial integrals, Special functions.
Classification: 2.1.

Does the new version supersede the previous version?: Yes

Nature of problem:
Since the early days of quantum mechanics, the "hydrogen atom" has served as one of the key models for studying the structure and dynamics of various quantum systems. Its analytic solutions are frequently used in case studies in atomic and molecular physics, quantum optics, plasma physics, or even in the field of quantum information and computation. Fast and reliable access to functions and properties of the hydrogenic systems are frequently required, in both the non-relativistic and relativistic frameworks. Despite all the knowledge about one-electron ions, providing such access is not a simple task, owing to the rather complicated mathematical structure of the Schrödinger and especially Dirac equations. Moreover, for analyzing experimental results as well as for performing advanced theoretical studies one often needs (apart from the detailed information on atomic wave- and Green's functions) to be able to calculate a number of integrals involving these functions. Although for many types of transition operators these integrals can be evaluated analytically in terms of special mathematical functions, such an evaluation is usually rather involved and prone to mistakes.

Solution method:
A set of Mathematica procedures is developed which provides both the non-relativistic and relativistic solutions of the "Hydrogen atom model". It facilitates, moreover, the symbolic evaluation of integrals involved in the calculations of cross sections and transition amplitudes. These procedures are based on a large number of relations among special mathematical functions, information about their integral representations, recurrence formulæ and series expansions. Based on this knowledge, the DIRAC tools provide a fast and reliable algebraic (and if necessary, numeric) manipulation of functions and properties of one-electron systems, thus helping to obtain further insight into the behaviour of quantum physical systems.

Reasons for new version:
The original version of the DIRAC program was developed as a toolbox of Maple procedures and was submitted to the CPC library in 2004 (cf. Ref [1]). Since then DIRAC has found its niche in advanced theoretical studies carried out in realm of heavy ion physics. With the help of this program detailed analysis has been performed, in particular, for the various excitation and ionization processes occurring in relativistic ion-atom collisions [2], the polarization of the characteristic x-ray radiation following radiative electron capture [3], the correlation properties of the two-photon emission from few-electron heavy ions [4], the spin entanglement phenomena in atomic photoionization [5] and even for exploring the vibrational excitations of the heavy nuclei [6]. Although these studies have conclusively proven the potential of the program, they have also illuminated routes for its further enhancement. Apart from certain source code revisions, demand has grown for a new version of DIRAC compatible with the Mathematica platform. The version presented here includes a wider ranging and more user friendly interactive help system, a number of new procedures and reprogramming for greater computational efficiency.

Summary of revisions:
The most important new capabilities of the DIRAC program since the previous version are:
  1. The utilization of the Mathematica (version 6.0) platform.
  2. The addition of a number of new procedures. Since the complete list of the new (and updated) procedures can be found in the interactive help library of the program, we mention here only the most important ones:
    • DiracGlobal[] - Displays a list of the current global settings which specify the framework, nuclear charge and the units which are to be used by the DIRAC program.
    • DiracRadialOrbitalMomentum[] - Returns a non-relativistic radial orbital in momentum space for both, the bound and free electron states.
    • DiracSlaterRadial[] - Evaluates the radial Slater integral both, with the non-relativistic and relativistic wavefunctions. In the previous version of the program this procedure was restricted to the non-relativistic framework only.
    • DiracGreensIntegralRadial[] - Evaluates the two-dimensional radial integrals with the wave- and Green's functions both in non-relativistic and relativistic frameworks.
    • DiracAngularMatrixElement[] - Calculates the angular matrix elements for various irreducible tensor operators.
  3. The elimination of some redundant procedures. In particular, the previous version supported evaluation of the spherical Bessel functions, Wigner 3j symbols, Clebsch Gordan coefficients and spherical harmonics functions. These tools are now superseded by in-built procedures of Mathematica.
  4. The development of a full featured interactive help system which follows the style of the Mathematica Help Pages.
  5. Extensive revision of the source code in order to correct a number of bugs and inconsistencies that have been identified during use of the previous version of Dirac.
The DIRAC package is distributed as a compressed tar file from which the DIRAC root directory can be (re)-generated. The root directory contains the source code and help libraries, a "Readme" file, Dirac_Installation_Instructions, as well as the notebook DemonstrationNotebook.nb that includes a number of test cases to illustrate the use of the program. These test cases, which concern the theoretical analysis of wavefunctions and the fine-structure of hydrogen-like ions, has already been discussed in detail in Ref. [1] and are provided here in order to underline the continuity between the previous (Maple) and new (Mathematica) versions of the DIRAC program.

Unusual features:
Even though all basic features of the previous Maple version have been retained in as close to the original form as possible, some small syntax changes became necessary in the new version of DIRAC in order to follow Mathematica standards. First of all, these changes concern naming conventions for DIRAC's procedures. As was discussed in Ref. [1], previously rather long names were employed in which each word was separated by an underscore. For example, when running the Maple version of the program one had to call the procedure Dirac_Slater_radial() in order to evaluate the Slater integral. Such a naming convention however, cannot be used in the Mathematica framework where the underscore character is reserved to represent Blank, a built-in symbol. In the new version of DIRAC we therefore follow the Mathematica convention of delimiting each word in a procedure's name by capitalisation. Evaluation of the Slater determinant can be accomplished now simply by entering DiracSlaterRadial[].
Besides procedure names, a new convention is introduced to represent fundamental physical constants. In this version of DIRAC the group of (preset) global variables has changed to resemble their conventional symbols, specifically α, a0, ec, me, c and ħ, being the fine structure constant, Bohr radius, electron charge, electron mass, speed of light and the Planck constant respectively. If the numerical evaluator N is wrapped around any of these constants, their numerical values are returned.

Running time:
Although the program replies promptly upon most requests, the running time also depends on the particular task. For example, computation of (radial) matrix elements involving components of relativistic wavefunctions might require a few seconds of a runtime. A number of test calculations performed regarding this and other tasks clearly indicate that the new version of Dirac requires up to 90 % less evaluation time compared to its predecessor.

[1] A. Surzhykov, P. Koval, S. Fritzsche, Comput. Phys. Commun. 165 (2005) 139.
[2] H. Ogawa et al., Phys. Rev. A 75 (2007) 1.
[3] A. V. Maiorova et al., J. Phys. B: At. Mol. Opt. Phys. 42 (2009) 125003.
[4] L. Borowska, A. Surzhykov, Th. Stöhlker, S. Fritzsche, Phys. Rev. A 74 (2006) 062516.
[5] T. Radtke, S. Fritzsche, A. Surzhykov, Phys. Rev. A 74 (2006) 032709.
[6] A. Pálffy, Z. Harman, A. Surzhykov, U. D. Jentschura, Phys. Rev. A 75 (2007) 012712.