C #TBMOS3 V1A 15-FEB-72. C LAST UPDATE: C FUNCTION TBMOS3(N1,L1,N2,L2,NR,LR,NC,LC,LAM) C C *PURPOSE. C TO CALCULATE THE MOSHINSKY TRANSFORMATION BRACKET BETWEEN C OSCILLATOR STATES IN LAB CO-ORDINATES AND RELATIV-COM C CO-ORDINATES. THIS IS THE 3-DIMENSIONAL TRANSFORMATION BRACKET. C C *PARAMETERS: C C N1 - INTEGER RADIAL QUANTUM NR FOR PARTICLE 1. C L1 - INTEGER ANGULAR MOMENTUM QU-NR. FOR PARTICLE 1. C N2 - INTEGER RADIAL QU-NR FOR PARTICLE 2. C L2 - INTEGER ANGULAR MOMENTUM QU-NR FOR PARTICLE 2. C NR - INTEGER RADIAL QU-NR FOR RELATIVE STATE. C LR - INTEGER ANGULAR MOMENTUM QU-NR FOR RELATIVE STATE. C NC - INTEGER RADIAL QU-NR FOR CENTRE-OF-MASS STATE. C LC - INTEGER ANGULAR MOMENTUM QU-NR FOR CENTRE-OF-MASS STATE. C LAM - INTEGER ANGULAR MOMENTUM QUANTUM NUMBER BEING THE TOTAL C ORBITAL ANGULAR MOMENTUM . C C NOTE!! BY CONVENTION ALL ANGULAR MOMENTUM QUANTUM NUMBERS ARE C INTEGERS WITH TWICE THE CORRESPONDING PHYSICAL VALUE. THUS C L1, L2, LR, LC, LAM HAVE TWICE PHYSICAL VALUES. N1, N2, NR, NC C HOWEVER HAVE THE STRAIGHT PHYSICAL VALUES. RADIAL QUANTUM NUMBERS C ARE DEFINED SO THE LOWEST STATE HAS "N"=0. C C IT IS A WELL KNOWN FACT THAT THE VALUE OF THIS TRANSFORMATION C BRACKET IS INDEPENDENT OF THE EXTRA AZIMUTHAL QUANTUM NUMBER C NEEDED TO SPECIFY THE TWO PARTICLE STATES COMPLETELY. C C INPUT PARAMETERS: C N1, L1, N2, L2, NR, LR, NC, LC, LAM C OUTPUT PARAMETERS: C (THE REAL FUNCTION VALUE ONLY) C C *METHOD. C A METHOD DEVISED ORIGINALLY BY D. M. BRINK IS USED AND C THE ALGORITHM IS TAKEN LARGELY FROM AN ALGOL ROUTINE A.P.L.9 C IN THE NIELS BOHR INSTITUTE ALGOL PROCEDURE LIBRARY. ONE OR C TWO SLIGHT CHANGES HAVE BEEN MADE AND THE ROUTINE IS NOW THOUGHT C TO BE SLIGHTLY MORE EFFICIENT. C THE DETAILS OF THE METHOD CAN NOT BE PRESENTED HERE BUT C BRIEFLY ARE AS FOLLOWS. THE 3-DIMENSIONAL STATES ARE SPLIT INTO C PRODUCTS OF 1-DIMENSIONAL OSCILLATOR STATES IN THE Z-AXIS AND C TWO DIMENSIONAL STATES IN THE X AND Y-AXES. THESE 2-DIMEN C STATES ARE EXPRESSED IN TERMS OF STATES IN THE COMPLEX VARIABLES C (X+IY) AND (X-IY). THE TRANSFORMATION INVOLVES COEFFICIENTS C GIVEN BY THE "AQMLP" ROUTINE, AND REDUCES THE PROBLEM TO C FINDING THESE AND 1-DIMENSIONAL TRANSFORMATION BRACKETS BETWEEN C LAB-CO-ORDINATE AND RELATIVE-COM CO-ORDINATES. BOTH THESE C COEFFICIENTS CAN BE EXPRESSED AS SINGLE SUMS OF PRODUCTS C / RATIOS OF FACTORIALS. C IF THE QUANTUM NUMBERS GIVEN ARE NON-PHYSICAL OR CAN C NOT COUPLE AS REQUIRED THE VALUE RETURNED WILL BE ZERO. C C *ACCURACY. C THIS IS NOT FULLY KNOWN BUT IS BELIEVED TO BE LIMITED ONLY C BY THE MACHINE SIGNIFICANCE AT LEAST FOR SMALL QUANTUM NUMBERS. C C *RESTRICTIONS. C C *ERROR CONDITIONS. C C *NON STANDARD ROUTINES CALLED. C LOGTRI - TO TEST LOGICAL TRIANGLE RELATIONS - MRMLIB C AQMLP - TRANSFORMATION COEFFICIENT SEE ABOVE - MRMLIB C TBMOS1 - 1-DIMENSIONAL TRANSFORMATION BRACKET - MRMLIB C CLEBSH - CLEBSCH-GORDAN COEFFICIENT - MRMLIB C PARITY - + OR -1 AS ARGUMENT EVEN OR ODD - MRMLIB C C *TYPICAL TIMES. C C *ORIGIN. C THE ALGOL ROUTINE REFERRED TO ABOVE WAS WRITTEN BY J.H.GUNN C IN 1966. THE FORMULAE DERIVED BY D.M.BRINK A LITTLE EARLIER. C THIS FORTRAN VERSION BY M.R.MANNING. C C *COMMENTS. C SEE T.A.BRODY + M.MOSHINSKY " TABLES OF TRANSFORMATION C BRACKETS" MONOGRAFIAS DEL INSTITUTO DE FISICA, MEXICO 1957. C FOR BACKGROUND ON WHAT THESE THINGS ARE AND DO! C C #END. C LOGICAL LOGTRI INTEGER Q1,Q2,QR,QC TBMOS3=0. Q1=N1+N1+L1/2 Q2=N2+N2+L2/2 QR=NR+NR+LR/2 QC=NC+NC+LC/2 IF(Q1+Q2-QR-QC) 100,10,100 10 IF ( .NOT.LOGTRI(L1,L2,LAM) ) GO TO 100 IF ( .NOT.LOGTRI(LR,LC,LAM) ) GO TO 100 C C BRINK-GUNN FORMULA: REF. A.P.L.9 IN ALGOL PROCEDURE C LIBRARY. THIS VERSION SLIGHTLY IMPROVED. C 12 M2=LAM-L1 C C NOTE ALWAYS CHOOSE C M1=L1; MU=LAM C IN THE BRINK FORMULA C IQ1=N1+N1 IQ2=Q2-M2/2 S1=0. C FOURFOLD SUMMATION FORMULA, SUMS ARE S1,S2,S3,S4 EVALUATED C IN FOLLOWING FOUR LOOPS IM=MAX0(-LR,LAM-LC) JM=MIN0(LR,LAM+LC) DO 60 MR=IM,JM,2 C MR IS AN ANGULAR MOM Q.NO. SO TWICE PHYSICAL VAL. MC=LAM-MR IQR=QR-MR/2 IQC=QC-MC/2 S2=0. IP1=0 C K'S ARE P'S ARE NOT ANGULAR MOM NOS. DO 50 K1=IP1,N1 NC1=IQ1-2*K1 KC1=L1/2+K1 S3=0. IP2=MAX0(-M2,0)/2 JP2=IQ2/2 DO 40 K2=IP2,JP2 NC2=IQ2-2*K2 KC2=M2/2+K2 KTOT=K1+K2 S4=0. IPR=MAX0(-MR,0)/2 JPR=IQR/2 DO 30 KR=IPR,JPR NCR=IQR-2*KR KCR=MR/2+KR C K=KTOT-KR IF(K) 30,24,24 24 KCC=MC/2+K IF(KCC) 30,25,25 25 NCC=IQC-2*K IF(NCC) 30,26,26 26 S4=S4+AQMLP(NR,MR,LR,KR)*AQMLP(NC,MC,LC,K)*TBMOS1(NC1,NC2,NCR,NCC) X *TBMOS1(KC1,KC2,KCR,KCC)*TBMOS1(K1,K2,KR,K) C 30 CONTINUE C 40 S3=S3+AQMLP(N2,M2,L2,K2)*S4 C 50 S2=S2+AQMLP(N1,L1,L1,K1)*S3 C 60 S1=S1+CLEBSH(LR,MR,LC,MC,LAM,LAM)*S2 C C ENDS FOURFOLD SUMMATION. C TBMOS3= PARITY(N1+N2+NR+NC)*S1/CLEBSH(L1,L1,L2,M2,LAM,LAM) 100 RETURN END