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] acwr_v1_0.gz(5 Kbytes)
Manuscript Title: Recursive evaluation of 3j- and 6j- coefficients.
Authors: K. Schulten, R.G. Gordon
Program title: M2-RECURSION OF 3J-COEFFICIENTS
Catalogue identifier: ACWR_v1_0
Distribution format: gz
Journal reference: Comput. Phys. Commun. 11(1976)269
Programming language: Fortran.
Computer: UNIVAC 1108.
Operating system: EXEC 8.
RAM: 9K words
Word size: 36
Keywords: General purpose, Molecular, Rotation group, Recoupling coefficient, 3-j, Clebsch-gordan, Wigner, Angular momentum, Recursion.
Classification: 4.1.

Nature of problem:
Subroutine REC3JM generates 3j-coefficients from the exact solution of a recursion equation. The algorithm is more efficient and accurate than those based on explicit expressions, particularly in the commonly arising case in which a complete set of 3j-coefficients is needed. The algorithm is numerically stable for large quantum numbers which occur in problems of molecular dynamics.

Solution method:
To guarantee numerical stability the recursion equation which relates 3j coefficients g(m2) with contiguous m2 values m2-1, m2, m2+1 is solved in the direction of increasing g(m2) from both ends of the allowed m2 domain, m2min and m2max. The linear recursion equation reduces to two terms at m2min and m2max and thus can be started at both ends with arbitrary initial values g(m2min) and g(m2max), respectively. At an intermediate m2 forward and backward recursion are matched which leaves all g(m2) off by a constant factor. This factor is determined from the unitrary property of 3j coefficients and Wigner's phase convention.

Unusual features:
Large quantum number 3 j coefficients g(m2) may vary over many orders of magnitude over their m2 domain. The program prevents underflow and overflow for which purpose the smallest and largest number representable on the computer, TINY and HUGE, respectively, have to be defined. In the recursion process the relative magnitude of contiguous 3j coefficients g(m2) are being evaluated exactly, however. The program sets later on all 3j coefficients which are smaller than TINY to zero.

Running time:
0.3 ms per 3j coefficient for m2max-m2min > 20, somewhat longer for smaller m2 domains.