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] acwq_v1_0.gz(5 Kbytes)
Manuscript Title: Recursive evaluation of 3j- and 6j- coefficients.
Authors: K. Schulten, R.G. Gordon
Program title: J1-RECURSION OF 3J-COEFFICIENTS
Catalogue identifier: ACWQ_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 REC3JJ 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 f(j1) with contiguous j1 values j1-1, j1, j1+1 is solved in the direction of increasing f(j1) from both ends of the allowed j1 domain, j1min and j1max. The linear recursion equation reduces to two terms at j1min and j1max and thus can be started at both ends with arbitrary initial values f(j1min) and f(j1max), respectively. At an intermediate j1 forward and backward recursions are matched which leaves all f(j1) 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 3j coefficients f(j1) may vary over many orders of magnitude over their j1 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 magnitudes of contiguous 3j coefficients f(j1) are being evaluated exactly, however. The program sets later on all 3j coefficients which are smaller than TINY to zero.

Running time:
0.4 ms per 3j coefficient for j1max-j1min > 20, somewhat longer for smaller j1 domains.