DRC3JM(3)

SYNOPSIS
SUBROUTINE DRC3JM (L1, L2, L3, M1, M2MIN, M2MAX, THRCOF, NDIM, + IER)

NAME
drc3jm - Evaluate the 3j symbol g(M2) = (L1 L2 L3 ) (M1 M2 -M1-M2) for all allowed values of M2, the other parameters being held fixed.

LIBRARY
SLATEC

CATEGORY
C19

TYPE
DOUBLE PRECISION (RC3JM-S, DRC3JM-D)

KEYWORDS
3J COEFFICIENTS, 3J SYMBOLS, CLEBSCH-GORDAN COEFFICIENTS, RACAH COEFFICIENTS, VECTOR ADDITION COEFFICIENTS, WIGNER COEFFICIENTS

AUTHOR
Gordon, R. G., Harvard University Schulten, K., Max Planck Institute

DESCRIPTION
*Usage: DOUBLE PRECISION L1, L2, L3, M1, M2MIN, M2MAX, THRCOF(NDIM) INTEGER NDIM, IER CALL DRC3JM (L1, L2, L3, M1, M2MIN, M2MAX, THRCOF, NDIM, IER) *Arguments: L1 :IN Parameter in 3j symbol. L2 :IN Parameter in 3j symbol. L3 :IN Parameter in 3j symbol. M1 :IN Parameter in 3j symbol. M2MIN :OUT Smallest allowable M2 in 3j symbol. M2MAX :OUT Largest allowable M2 in 3j symbol. THRCOF :OUT Set of 3j coefficients generated by evaluating the 3j symbol for all allowed values of M2. THRCOF(I) will contain g(M2MIN+I-1), I=1,2,...,M2MAX-M2MIN+1. NDIM :IN Declared length of THRCOF in calling program. IER :OUT Error flag. IER=0 No errors. IER=1 Either L1.LT.ABS(M1) or L1+ABS(M1) non-integer. IER=2 ABS(L1-L2).LE.L3.LE.L1+L2 not satisfied. IER=3 L1+L2+L3 not an integer. IER=4 M2MAX-M2MIN not an integer. IER=5 M2MAX less than M2MIN. IER=6 NDIM less than M2MAX-M2MIN+1. *Description: Although conventionally the parameters of the vector addition coefficients satisfy certain restrictions, such as being integers or integers plus 1/2, the restrictions imposed on input to this subroutine are somewhat weaker. See, for example, Section 27.9 of Abramowitz and Stegun or Appendix C of Volume II of A. Messiah. The restrictions imposed by this subroutine are 1. L1.GE.ABS(M1) and L1+ABS(M1) must be an integer; 2. ABS(L1-L2).LE.L3.LE.L1+L2; 3. L1+L2+L3 must be an integer; 4. M2MAX-M2MIN must be an integer, where M2MAX=MIN(L2,L3-M1) and M2MIN=MAX(-L2,-L3-M1). If the conventional restrictions are satisfied, then these restrictions are met. The user should be cautious in using input parameters that do not satisfy the conventional restrictions. For example, the the subroutine produces values of g(M2) = (0.75 1.50 1.75 ) (0.25 M2 -0.25-M2) for M2=-1.5,-0.5,0.5,1.5 but none of the symmetry properties of the 3j symbol, set forth on page 1056 of Messiah, is satisfied. The subroutine generates g(M2MIN), g(M2MIN+1), ..., g(M2MAX) where M2MIN and M2MAX are defined above. The sequence g(M2) is generated by a three-term recurrence algorithm with scaling to control overflow. Both backward and forward recurrence are used to maintain numerical stability. The two recurrence sequences are matched at an interior point and are normalized from the unitary property of 3j coefficients and Wigner's phase convention. The algorithm is suited to applications in which large quantum numbers arise, such as in molecular dynamics.

REFERENCES
1. Abramowitz, M., and Stegun, I. A., Eds., Handbook of Mathematical Functions with Formulas, Graphs and Mathematical Tables, NBS Applied Mathematics Series 55, June 1964 and subsequent printings. 2. Messiah, Albert., Quantum Mechanics, Volume II, North-Holland Publishing Company, 1963. 3. Schulten, Klaus and Gordon, Roy G., Exact recursive evaluation of 3j and 6j coefficients for quantum- mechanical coupling of angular momenta, J Math Phys, v 16, no. 10, October 1975, pp. 1961-1970. 4. Schulten, Klaus and Gordon, Roy G., Semiclassical approximations to 3j and 6j coefficients for quantum-mechanical coupling of angular momenta, J Math Phys, v 16, no. 10, October 1975, pp. 1971-1988. 5. Schulten, Klaus and Gordon, Roy G., Recursive evaluation of 3j and 6j coefficients, Computer Phys Comm, v 11, 1976, pp. 269-278.

ROUTINES CALLED
D1MACH, XERMSG

REVISION HISTORY (YYMMDD)
750101 DATE WRITTEN
880515 SLATEC prologue added by G. C. Nielson, NBS; parameters HUGE and TINY revised to depend on D1MACH.
891229 Prologue description rewritten; other prologue sections revised; MMATCH (location of match point for recurrences) removed from argument list; argument IER changed to serve only as an error flag (previously, in cases without error, it returned the number of scalings); number of error codes increased to provide more precise error information; program comments revised; SLATEC error handler calls introduced to enable printing of error messages to meet SLATEC standards. These changes were done by D. W. Lozier, M. A. McClain and J. M. Smith of the National Institute of Standards and Technology, formerly NBS.
910415 Mixed type expressions eliminated; variable C1 initialized; description of THRCOF expanded. These changes were done by D. W. Lozier.