16
computers Cbem. Vol. 13, No. 3, pp. 25M70, 1989 0097~&W/89 $3.00 + 0.00 Printed in Great Britain. All rights reserved Copyright Q 1989 Pergamon Press plc MOLECULAR SYMMETRY EIGENFUNCTIONS FOR MANY-ELECTRON CALCULATIONS GERARDO CISNEROS’, Rocro J~JREGU?, CARLQS F. BIJNGE~* and ANNIK VMER BUNGEE ‘Denartamento de Aulicacibn de Microcomuutadoras. Instituto de Cienciaa. Universidad Aut6noma de Puebla, Apartado P&al 461, 72000 Puebla, %stituio de Fisica, Universi&d National Autinoma de MCico, Apartado Postal 20-364, 01000 Mexico D.F. and jDepartamento de Quimica, Universidad Autbnoma Metropolitana, Apartado Postal 55-534, Iztapalapa, 09340 Mkxico D.F., Mbxico (Receiued 25 June 1988) Abstract-We discuss a modular FORTRAN program which operating on an ordered Slater determinant generates an eigenfnuction spanning an irreducible representation of a given molecular symmetry goup. The program is supported by a database of point group representation matrices. In combination with other modules described in two previous and two further papers it may be used to acquire a working knowledge about molecular symmetry eigenfunctions and to generate lists of many-electron symmetry- adapted configurations suitable for electronic structure calculations beyond Hartree-Fock. I. INTRODUCTION In this paper, the last in the series describing modules for computing symmetry eigenfunctions for many- electron calculations, we turn our attention to the application of the projection operator associated with an irreducible representation of a molecular symmetry group to a single Slater determinant. Givlen an ordered Slater determinant P, made up of symmetry-adapted one-particle functions, module PGROUP generates its symmetry-projection 0,: (1) (2) where 0(&m) is a symmetric, hermitian and idem- potent projection operator which selects the m th row of the ith irreducible &degenerate representation of a point group (Wigner, 1959; Cornwell, 1984): (h) O(i, m) = (I,/h) c I-h(R)R (3) R where the sum is over the h elements R of a given group* The effect of the operator R over a one-particle function tiuII,is given by: The expansion coefficients d(i, g) of equation (1) will be assumed to be real; this restriction can easily be dropped but at the expense of lengthier programs. Module PGROUP is discussed in Section 2. One-electron molecular symmetry eigenfunctions are well treated in textbooks (Cotton, 1971). How- *To whom all correspondence should be. addressed. ever, many-electron molecular symmetry eigenfunc- tions are beyond practical paper-and-pencil calcu- lations. Even the simple two-electron eigenfunctions of groups such as 0, present a formidable challenge. Since module PGROUP has been integrated in program WONPSE (Bunge et al., 1989a), it can be used in student training for symmetry-related prob- lems of molecular electronic structure. Also, general lists of symmetry eigenfunctions can be generated for configuration interaction calculations. A complete listing of module PGROUP is given in the Appendix and its usage is described in Section 3. In Section 4 the present work is compared with previous ones, in Section 5 we offer the first illustra- tion of interacting spaces for symmetry eigenfunc- tions of a molecular point group, and conclusions are given in Section 6. 2. PROGRAM DEscRtPTlON Subroutine PGROUP is the controlling subroutine of our molecular symmetry projection module and it carries out the following tasks: (I) It defines variable NPOSH = NALFA + NBETA where NALFA and NBETA are the number of alpha and beta spinorbitals, respectively. (2) It validates some program parameters against input data from the calling program. (3) If a new group, or a new irreducible represent- ation i, or a new row m are requested, it calls subroutine GPINIT to retrieve the order of the group, NR, the projection operator coefficients POC (R)= TA(R) of equation (3) and the general transformation matrices rk,(R) of equation (4). (4) It stores in the first NPOSH elements of array MX the orbital degeneracies of the spinorbitals of the input Slater determinant SD. 255

Molecular symmetry eigenfunctions for many-electron calculations

Embed Size (px)

Citation preview

Page 1: Molecular symmetry eigenfunctions for many-electron calculations

computers Cbem. Vol. 13, No. 3, pp. 25M70, 1989 0097~&W/89 $3.00 + 0.00 Printed in Great Britain. All rights reserved Copyright Q 1989 Pergamon Press plc

MOLECULAR SYMMETRY EIGENFUNCTIONS FOR MANY-ELECTRON CALCULATIONS

GERARDO CISNEROS’, Rocro J~JREGU?, CARLQS F. BIJNGE~* and ANNIK VMER BUNGEE

‘Denartamento de Aulicacibn de Microcomuutadoras. Instituto de Cienciaa. Universidad Aut6noma de Puebla, Apartado P&al 461, 72000 Puebla, %stituio de Fisica, Universi&d National Autinoma de MCico, Apartado Postal 20-364, 01000 Mexico D.F. and jDepartamento de Quimica, Universidad

Autbnoma Metropolitana, Apartado Postal 55-534, Iztapalapa, 09340 Mkxico D.F., Mbxico

(Receiued 25 June 1988)

Abstract-We discuss a modular FORTRAN program which operating on an ordered Slater determinant generates an eigenfnuction spanning an irreducible representation of a given molecular symmetry goup. The program is supported by a database of point group representation matrices. In combination with other modules described in two previous and two further papers it may be used to acquire a working knowledge about molecular symmetry eigenfunctions and to generate lists of many-electron symmetry- adapted configurations suitable for electronic structure calculations beyond Hartree-Fock.

I. INTRODUCTION

In this paper, the last in the series describing modules for computing symmetry eigenfunctions for many- electron calculations, we turn our attention to the application of the projection operator associated with an irreducible representation of a molecular symmetry group to a single Slater determinant.

Givlen an ordered Slater determinant P, made up of symmetry-adapted one-particle functions, module PGROUP generates its symmetry-projection 0,:

(1)

(2)

where 0(&m) is a symmetric, hermitian and idem- potent projection operator which selects the m th row of the ith irreducible &degenerate representation of a point group (Wigner, 1959; Cornwell, 1984):

(h) O(i, m) = (I,/h) c I-h(R)R (3)

R

where the sum is over the h elements R of a given group*

The effect of the operator R over a one-particle function tiuII, is given by:

The expansion coefficients d(i, g) of equation (1) will be assumed to be real; this restriction can easily be dropped but at the expense of lengthier programs. Module PGROUP is discussed in Section 2.

One-electron molecular symmetry eigenfunctions are well treated in textbooks (Cotton, 1971). How-

*To whom all correspondence should be. addressed.

ever, many-electron molecular symmetry eigenfunc- tions are beyond practical paper-and-pencil calcu- lations. Even the simple two-electron eigenfunctions of groups such as 0, present a formidable challenge.

Since module PGROUP has been integrated in program WONPSE (Bunge et al., 1989a), it can be used in student training for symmetry-related prob- lems of molecular electronic structure. Also, general lists of symmetry eigenfunctions can be generated for configuration interaction calculations. A complete listing of module PGROUP is given in the Appendix and its usage is described in Section 3.

In Section 4 the present work is compared with previous ones, in Section 5 we offer the first illustra- tion of interacting spaces for symmetry eigenfunc- tions of a molecular point group, and conclusions are given in Section 6.

2. PROGRAM DEscRtPTlON

Subroutine PGROUP is the controlling subroutine of our molecular symmetry projection module and it carries out the following tasks:

(I) It defines variable NPOSH = NALFA + NBETA where NALFA and NBETA are the number of alpha and beta spinorbitals, respectively.

(2) It validates some program parameters against input data from the calling program.

(3) If a new group, or a new irreducible represent- ation i, or a new row m are requested, it calls subroutine GPINIT to retrieve the order of the group, NR, the projection operator coefficients POC (R)= TA(R) of equation (3) and the general transformation matrices rk,(R) of equation (4).

(4) It stores in the first NPOSH elements of array MX the orbital degeneracies of the spinorbitals of the input Slater determinant SD.

255

Page 2: Molecular symmetry eigenfunctions for many-electron calculations

256 GWARDO clsNmm et al,

(5) It sets to zero the variable NSD denoting the number of Slater determinants in the final deter- minantal expansion of the symmetry eigenfunction.

Next, two lists distinguished by suflixes 1 and 2 will be considered. A group element R will be applied on the input spinorbital product in the following way: (i) using equation (4) upon the first spinorbital a linear combination of spinorbital products LSOPA2,LSOPBZ and corresponding coefficients COE2 are obtained; suffixes A and B in LSOP are used to distinguish alpha and beta spin, respectively, (ii) then equation (4) is applied on the second spin- orbital using LSOPA2,LSOPB2 as the new input list, and the results are stored in LSOPAl ,LSOPBl, and (iii) the process is repeated to completion, Entries (6)-(15) take care of the above: looping over the group elements R of equation (3),

(6) It initializes arrays LSOPAl,LSOPBl holding a list 1 of spinorbital products. The first spinorbital product is the input array SD.

(7) It initializes to one the first element of array COE 1 holding the corresponding expansion coefficients, and it sets to one the variable NSOP denoting the temporary number of spinorbital products in the list that is currently being generated.

Looping over the NPOSH spinorbitals each denoted by variable IP,

(8) Denoting by NSOPR the number of spinorbital products in the new input list, it sets NSOPR -NSOP, where NSOP is the number of spinorbital products in the last list. It then sets to zero variable NSOP.

(9) It retrieves the irreducible representation i = SYMM(SD(IP)) and the corresponding row M’ = SYMMSB(SD(IP)).

(10) It computes an auxiliary variable TBASE = SD(IP)-m’.

Looping over index m of equation (4), (11) It defines GGAMMA = C,,,,,,,.(R) of equation

(4). If GGAMMA = 0 control is passed to the end of the loop.

(12) It defines a new spinorbital NWSO = IBASE + m using variable IBASE of (10).

Looping over the spinorbital products dis- tinguished by index ISOPR,

(13) It increases NSOP by one and checks that its value does not exceed the maximum allowed number of spinorbital products.

If the input lit has the suffix 1, (14) It evaluates the coefficient COE2(NSOP) as

the product of GGAMMA times COEl(ISOPR). (15) It calls subroutine GSOP to generate the

new spinorbital product which is stored in LSOPA2( 1 ,NSOP),LSOPB2( 1 ,NSOP).

If the input list has the suffix 2, the suffixes in (14) and (15) are interchanged. The loops over the rows m and the spinorbitals IP terminate here. The result of applying A on the input spinorbital product is given as a linear combination of (unordered) spin- orbital products. stored in arrays LSOPA2,

LSOPB2,COE2 or LSOPAl,LSOPBl,COEl de- pending on the parity of NPOSH. This result is now accumulated into a final determinantal expansion stored in arrays FLSDA,FLSDB,FCOE as follows: looping over each of the NSOP spinorbital products distinguished by index ISOP,

(16) It transforms the corresponding spinorbital product into an ordered Slater determinant by means of subroutine PAULI. Signs SIGNA and SIGNB denote the number of permutations necessary to carry out this transformation for the alpha and beta spin parts of the determinant. Null determinants are bypassed by sending control to the end of the loop.

(17) It defines a coefficient COE as the product of COEz(ISOP) (or COEl(ISOP)) times the projection operator coefficient POC(R) obtained in (3).

(18) It changes the sign of COE if SIGNA + SIGNB is odd.

(19) It accumulates the determinant and its corre- sponding coefficient into the final determinantal expansion by means of subroutine ACCUD (Bunge et al., 1989a).

The application of equation (3) concludes at this point.

(20) Finally, small coefficients in FCOE are zeroed in subroutine CONFE. If all co&cients become zero the current determinant yields a null projection and the value of argument IER is set to 33 to allow the calling program (Bunge et al., 1989a) to take appro- priate action (i.e., to try another determinant in interactive modes, or to stop in batch mode).

Group information is set up by subroutine GPI- NIT, which is also included in the Appendix. Each of the 48 groups considered is handled in statements numbered 10-480, in the order specified in comment cards placed just above statement 10.

Specific group data are held in a separate file, called GROUPDATA.FOR, containing one subroutine per group and some auxiliary subroutines. In the Appen- dix we list the group information subroutines corn?- sponding to groups C, , C,, D, , T, and 0. Subroutine TDO, which generates all relevant data for groups Td and 0, illustrates the relative simplicity of them when expressed in terms of general purpose subroutines defining various transformation matrices.

3. USAGE

The user interface consists of calls to two sub- routines, GFINIT and PGROUP. The calls to GPI- NIT outside module PGROUP are made to validate the group and irreducible representation names, in subroutine RSYMME which is called by program WONPSE (Bunge ef al., 1989a).

The calling sequence of subroutine PGROUP in- volves 18 arguments whose meanings are explained in the heading of the program listing given in the Appendix. The program will stop if validation of the dimensions of the local arrays fails or if the number of spinorbital products, NSOP, exceeds its maximum

Page 3: Molecular symmetry eigenfunctions for many-electron calculations

Molecular symmetry eigenfimctions

Table I, Symmetry cigcnfunctions for configurations e*, r: and r: of r,. Notation for determinants given by equation (5)

251

(21 521) + (22 622)

(21 522) - (22 521). (21 22) and (521 522)

(21 521) - (22 522)

(21 522) + (22 621)

(41 541) + (42 542) + (43 543)

(41 541) + (42 542) - 2(43 543)

(41 541) - (42 542)

(41 542) - (42 641), (41 42) and (641 642)

(42 643) - (43 542), (42 43) and (642 643)

(41 543) - (43 541), (4143) and (641 643)

(42 643) - (43 542)

(41 643) - (43 541)

(41 542) - (42 541)

(71 671) + (72 672) + (73 673)

2(71 571) - (72 572) - (73 673)

(72 572) - (73 573)

(72 573) - (73 672), (72 73) and (572 673)

(71 573) - (73 6X), (71 73)&d (571 573)

(71 572) - (72 571), (71 72) and (571 572)

(71 573) - (73 571)

(‘71 572) - (72 571)

(72 573) - (73 572)

allowed number, NSDX, presently set equal to 1000. In those cases an explanatory diagnostic is given. If a null projection is obtained a warning is printed and the program returns variable IER w&h value 33 to allow the calling program to choose a proper action.

Additional optional output may occur in sub- routines PACK,UNPACK and ACCUD (Bunge et al., 1989a). Trouble in subroutine PACK occurs in the unlikely case in which the internal code for one-particle functions exceeds NOPFIX,NOPFIX = 2(NBITW-1), where NBITW is the number of bits per word which is set equal to 32 (notice that in FORTRAN, NBITW is never less than 24 even on some micros with 8- and 16-bit architectures). Sub- routine UNPACK will fail if the number of packed one-particle functions in a given Slater determinant exceeds NOPFIX, which is still more unlikely. In subroutine ACCUD execution is terminated if the number of determinants for a given subclass exceeds CUNSDX, the maximum number of Slater deter- minants allowed for the current subclass, CUNSDX = MIN(NSDX,NCOEDX/NG), where NSDX is the maximum number of Slater deter- minants allowed under any circumstances (present value is 1000) and NCOEX is the size of an array holding the expansion coeflicients of NG con- figuration state functions expressed as NSD-term determinantal expansions. In all these instances the program stops and an explanatory message is issued.

Module PGROUP can also be used as part of program WONPSE (Bunge et ol., 1989a), in which case users need only worry about the specific problem they want to solve. Let us describe the results of using

c.*.c. I,,_

program WONPSE to study some two-electron eigenfunctions which will be needed in the next section.

In Table 1 we display the Slater determinant expansions of all symmetry eigenfunctions which can be obtained from the two-electron configurations e*, t: and ri of point group Td. The determinants (ub) are written as ordered strings of two numbers a and b denoting spinorbitals expressed in numerical notation N[T,mI:

N[Tsh] = m + dirr(i)(n - 1)

+ offopf(i) + (1 - s)250 (5)

where s equals 1 or - 1 (alpha or beta spin), n is an ordering label (here equal to 1) and m is the row number. dir@) is a vector denoting the degeneracy of the irreducible representation i; offopf(i) is an offset equal to 0, 10, 20, 40 and 70 for i values of l-5 associated with irreps A,, AZ, E, T, and T,, respectively.

We see that determinants (21 521) and (22 522) span the ‘A, and ‘E(l) spaces of e’, whereas deter- minants (21 522) and (22 521) expand the ‘A2 and ‘E(2) eigenfunctions with MS = 0. Thus, ‘A, and ‘E(l) eigenfunctions can be obtained by projecting either of (21 521) or (22 522). However, projection of (21 522) or (22 521) with, say, ‘A, symmetry, gives a null point group projection. Furthermore, projection of the same determinants with ‘A, sym- metry gives a finite point group projection which in turn yields a null spin projection. Since program WONPSE is rather friendly (Bunge et al., 1989b),

Page 4: Molecular symmetry eigenfunctions for many-electron calculations

258 G~rwwo CISNXROS e6 al.

Table 2. The I1 couplings of configuration e’rfri corresponding to ‘4 VmctrY and point group Tti Notation for determinants

given by equation (5)

Cau linpa o/ D rl c t:t; SIaler dsterminmtn

1 ‘Aa 91 ‘T, 2122 72641642 57s

a 3Aa 9, ?a 21 22 41642 672 573

3 ‘E 37; %“l 21 41 43 622 571 672

4 ‘Al 91 “r 22 41 42 622 612 673

6 ‘Is er, !rz 21 41 72 522 643 671

6 ‘AI % $2 22 41 72 622 542 673

7 ‘E(2) ‘At ‘E(Z) 21 43 72 622 643 672

8 ‘E(2) ‘E(2) ‘A, 21 41 73 622 641 673

9 ‘E(2) ‘E(1) ‘E(2) 21 42 73 522 542 673

10 ‘A1 ‘E(1) ‘E(1) 21 4s 71621 54s 671

11 lA, ‘A, ‘A, 21 42 72 621 642 672

users may readily obtain these results in a few minutes and within a single session.

4 COMPARISON WITH PREVIOUS WORE

Equations (3) and (4) were established at the beginning of this century, they are well treated in textbooks, and most physicists and chemists have been exposed to them in one way or another. On the other hand, powerful methods recently formulated for molecular point group adaptation @hen et al., 1980; Rettrup et al., 1982; Gao et al., 1987) use a language unknown to most scientists. Our intention here is to show how one can use the present approach to handle a nontrivial example treated also by the more advanced methods and let the reader decide which alternative is the more attractive one.

Let us consider the 11 ‘A, eigenfunctions of the six-electron configuration e*t:t: associated to the point group Td (Rettrup et al., 1982; Gao et al., 1987) and which is isomorphic with configuration e’&:, a four-excited configuration for the ground state of Ni(CO),. Notice that different couplings based on the same partition among electron groups always form an orthogonal set (Bunge & Bunge, 1973).

The 11 couplings are shown in Table 2 together with corresponding determinants to be projected. We shall now explain how we came about choosing these determinants. The leading idea to obtain a linearly independent set (Bunge & Bunge, 1973) is that, upon being projected, determinants contained in a single coupling yield that coupling. Similarly, a determinant contained in two couplings yields the second coupling upon being projected and orthogonalized to the first coupling, and so on. When a sequence of deter- minants yielding successive couplings cannot be found, sets of couplings must be considered. In our example, it is possible to isolate couplings 1, 2, 3, 4, 5, 6, 7-9 and lD-11.

Looking at Table 1, we see that the first two determinants of Table 2 contain (21 22), which can only represent ‘A,, whereas the (541 542) of the first determinant must be associated with ‘T,(l). To com-

plete the first determinant with spinorbitals (72 573) one must either study the four-electron 3A2 symmetry of r:r’,r one may just try. If instead of (72 573) one completes the six-electron determinant with any of the four other sets of spinorbitals for t:, say, (71 573) the user is notified that a null point group projection has been obtained and control is passed to read more input.

From the results of Table 1, it is clear that there will be two disjoint sets of determinants: those span- ning the first six couplings, which turns out to be of dimension 92, and the ones involved in the last five couplings, of dimension 34. Since the pair of spin- orbitals (21 522) is contained only in E(2) of e2, couplings 7-9 are separated from 10-l 1 by projecting inplaccs 7-9 determinants containing (21 522). After orthogonalization to 7-9, the projected deter- minants lD-11 span the last two couplings shown in Table 2.

Comparison of the deterrninantal expansions ob- tained in this work with the more sophisticated expansions of previous authors (Rettrup et al., 1982; Gao et n[., 1987) is not attempted, as it would defeat one of our purposes, namely, simplicity.

5. INTERACTING SPACES

The functions 0, introduced by equation (1) form a set (DB; g = 1, n,} which can be transformed into an orthonormal set { CB; g = 1, n, } as discussed in Bunge (1989):

= 0 i P,b(i,g) (61 i-l

or it may further be subjected to a spin projection (Bunge et al., 1989b) before being orthonormalixed. In open-shell calculations, the set {C,} can be par- titioned into interacting and non-interacting spaces (Bunge, 1970; Bunge 8r Bunge, 1973). A more general partition (McLean & Liu, 1973) can also be used for both open- and closed-shell systems.

Interacting spaces were reviewed in the first paper (Bunge ef al., 1989a). Here we present the first example of interacting spaces applied to point group symmetries.

Let us consider the eight ‘A, states of configuration e*t$: in Td symmetry, which is a doubly-excited configuration of the ground e’t: configuration of CoCl:-. The notation for determinants was given by equation (5). The eight couplings and corresponding determinants that need to be projected are given in Table 3. From a study of the Td eigenfunctions of r: it follows that there will be three disjoint deter- minantal sets of dimensions 6, 40 and 10, associated with couplings 1, 2-6 and 7-8, respectively. The tist-order interacting space consists of two ‘A, eigen- functions spanned in a 1 D-dimensional space of two-

Page 5: Molecular symmetry eigenfunctions for many-electron calculations

Molecular symmetry eigenfunctions 259

Table 3. lnteraeting and non-interacting spaces for the ?A, states of configuration e2rfri in F, symmetry. Notation for determinants given by equation (5). All determinants differ from the reference determinant 21 22 71 72 73 521 522 by more than IWO rpinorbitals, except for determinants 7 and 8 whose projections span the two-diiensional first-order inter-

acting spce

0 Sequence of Deicrminantn cauplingr

1 3E(3A1 E)‘E 21 22 41 71 72 541 67S 2 r’T!z(3As % 1% 21 22 42 43 73 672 673 3 *z?&~I)~z 21 22 42 72 13 643 573 4 % t3A2 %Pl 21 22 4171 7s 643 571 5 ~l(‘E~2ei 21 42 43 71 72 522 671 6 5i(‘Al*2,% 21 42 43 71 72 521 671 7 ‘AI(‘E’E)‘Al 21 42 71 72 73 622 542 3 ‘A,(‘Al ‘Al)‘AAl 22 42 71 72 73 622 642

excited determinants. Large configuration interaction calculations may be greatly simplified by limiting the full configuration space to a first order space, especially when carrying out time-consuming orbital parameter optimizations.

6. CONCLUSIONS

Subroutine PGROUP is the least tested of the present series of modules to evaluate symmetry eigenfunctions for electronic structure calculations. Errors may remain in the file GROUPDATA.FOR. Most of the content3 of GROUPDATA.FOR could be generated by future programs, in which case the possibility of errors will be largely reduced.

To our knowledge, this is the first modular pro- gram to obtain molecular symmetry eigenfunctions, viz. that can be used in a general environment accepting both atomic and molecular data.

Module PGROUP can be modified to obtain spin-free eigenfunctions as follows:

(1) Add a subroutine SNGROU, to be called from subroutine GPINIT, for the purpose of retrieving

characters and transformation matrices for the symmetric group.

(2) In subroutine PGROUP, replace the calls to subroutine PAUL1 by calls to a subroutine which orders products of orbitals that may be repeated.

So far, the main use of module PGROUP is in program WONPSE (Bunge et al., 1989a) to generate symmetry eigenfunctions for atomic and molecular electronic structure calculations including compact representations of interacting spaces. In particular, program WONPSE is a unique tool for students willing to acquire a working knowledge of n-elec- tron symmetry eigenfunctions, a task for which no substitute is presently available.

Acknowledge~tirs-Each of us acknowledges a fellowship from the Sistema National de Investigadores, This work was supported in part by the Secretaria de Educacibn Wblica (PROIDES) and the Proarama de Fortalecimiento de1 Posgrado Nsci&al (CONA&).

REFERENCES

Bunge A. V., Bunge C. F., l~uqui (1989a) Computers Chem. 13, 201.

Bunge A. V., Bunge C. F., Jhuregui

R. & Cisneros G.

R. 8t Cisneros G. (1989b) Computers Chem. 13, 239.

Bunge C. F. (1989) Computers Chem. 13, 271. Bunge C. F. & Buuge A. (1971) J. Compur. Phys. 8,409. Bunge C. F. C Bunge A. (1973) inf. J. Quantum Chem. 7,

927. Chen J. Q., Wang F., Gao M. J. & Yu Z.R. (1980) Sci. Sin.

9, 1116. Comwell J. F. (1984) Group Theory in Physics, Vol. 1.

Academic Press, New York. Cotton F. A. (1971) Chemical Applications of Group Theory.

Wiley-Interscience, New York. Gao M. J., Chem J. Q. & Paldus J. (1987) Inr. J. Quantum

them. 32, 133. McLean A. D. & Liu B. (1973) J. Chem. Phys. 58, 1066. Rettrup S., Sarma C. R. & Dab1 I. P. (1982) Inc. J. Quantum

Chem. 22, 127. W&aer E. P. (1959) Group Theory (English translation).

Academic Press, New York.

APPENDIX

C Module file PGROUP.FOR

C_______________________________________~~~~~~~~~~~~~~~~~~~~~~~~~~ SUBROUTINE PGROUP (IW,THRESH.GROUP,IRREP.ROW.NALFA.NBETA.SD.

* DIRR,SYMM,SYMMSB,DWPSD,CUNSDX, NSD FCOE F'LSDA FLSDB IER)

C____*_________________--___________________:____~_____~_____~____

C Title: module PGROUP to carry out projections of Slater determinants

: into an irrep and row of a given molecular symmetry group; it-reps with complex characters are expressed in terms of real

E transformation matrices at the expense of losing the “row” quantum number.

C Version: l-001

C Environment: Standard Fortran 77.

cc Copyright by Gerard0 Cisneros, Roe10 Jsurcgui, Carlo8 F. Bunge, and

Annik Vivier Bunge. 1968.

Page 6: Molecular symmetry eigenfunctions for many-electron calculations

260 GERAXDO CISNSROS et al.

Reference: G.Cisneros. R.J&uregui, C.F.Bunge and A.V.Bunge, Comput. Chem.13;255 (1989).

User library calls: 1. Subroutines in the same module file:

GSOP,GPINIT,‘J!RCVEC,IRREP1,IRREP2, C1,CSIZ,C3,C4S4,D2CHV,C5,C631H,D3C3V, C7,CBSS,C4H,D4C4VD,DZH,C5H,D5C5V,C5H,C6H, D6C6V,D4H.D4D,D5D,D6D,D5H,D6H,DSH, T,l’H,l’DO,OH,II,IH,CIV,DIH.

2. Subroutines in module file WONPSE.FOR VALI1,PACK,UNPACK,CONFE,ACCUD,PAULI.

Parameters dependent on user allocated central memory size:

NSDX=lOOO is the maxinux number of Slater determinants (or of spinorbital products) allowed for any syxxetry-eigenfunction.

Paraxeter values:

GORDX=BO is the maximum order (number of elenents) of a group. DIRRx=S is the xaxixux dimension of a point-group irreducible

representation. NIRRX=lQ is the maximum number of allowed irreducible

representations for an allowed point group. NPOSWE=lG is the maximum allowed number of particles in open

shells.

Optional output: diagnostics concerning fatal and nonfatal errors.

Argument valuea:

ZRESH

GROUP IRREP

ROW NALFA NBEl.A SD

DIRR

SYWW

SYMSB

IMPSD

CUNSDX

NSD

FCOE

FLSM

FLSDB IER

Completion

IER=O IER-33

STOP

Caveat : The

logical unit assigned to output file (default:IW=C). threshold below which the magnitude8 of all projection coefficients are considered to be Identical to zero. character denomination of the group being considered. character denomination of the Irreducible representation of the syxxetry-eigenfunction to be evaluated. index of the corresponding row. number of particles with alpha spin. nuxber of particles with beta spin. array holding NALFA+NBGTA splnorbltals of the ordered Slater deterninant to be projected. array with elements DIRR(1) holding the degeneracy of the irreducible representation I of the given group. array with elements SYWW(SO) holding the irreducible representation corresponding to spinorbital SO. array with elements SYWMSB(S0) holding the row (of an irreducible representation) corresponding to spinorbital so. is .TRUE. If a packed Slater determinant require9 a double word. is the xaxlmun number of Slater deterainants for the current projection. is the nuxber of Slater determinants involved in current prelection; its output value is usually larger than its input value. is an array holding the final expansion coefficients of the projection being calculated. holds packed representation of the list of corresponding alpha-spin Slater determinants. same as FLSDA for beta spin. is a condition indicator.

statua :

normal successful completion. nonfatal error caused by a null point group projection; an explanatory diagnostic is issued. The program stops when an error condition arises which implies an error in the calling program or a dexand for a change in the value of a parameter of the present program. - The following conditions cause the program to STOP: (1) Parameter NSDX less than argument CUNSDX. (2) Parameter NPOSHX less than argument NPOSH. (3) Value of variable NSOP, denoting the current number

of spinorbltal products, exceeding NSDX.

dimensions of all arrays declared with dummies (*) must

Page 7: Molecular symmetry eigenfunctions for many-electron calculations

Molecular symmetry eigenfumtions

be validated before entering this subroutine.

IMPLICIT INTEGER (A-2) SAVE GAMMPJR,OGROUP,OIRREP,OROW,POC M)UBLE PRECISION CERO,COE,COEl,COE2,FCOE. * GAMMA,GGAMHh,POC.TliRESH,UNO

261

LOGICAL. DWPSD,LISTl,MJLL CHARACTER GROUPk4, IRREPAC, GROUPN(1)*4, IRREPN(1)*6. * OGROUP*4, OIRREP*4 PARAMGTER (NSDX=lOOO, GORDX=60. DIRRX=5, NIRRX=14, NPOSHX=16. * CERO=ODO. UNO=lDO) DIMENSION SD(*),DIRR(*)rSYMW(*),SYWMSB(*l. * GAMMA~DIRRX.DIRRX,NIRRX.GORDX~,POC~GORDX~,HX3X(NPOSHX~. h COE1(NSDX~,LSOPA1(NPOSHX.NSDX),LSOPB1(NPOSHX.NSDX). * COE21NSDX),LSOPA2(NPOSHX,NSDXl,LSOPB2(NPOSHX,NSDX). * PSM~2~,PSDB~2~.FCOE~~~.FLSDAI2,~~.FLSDB~2.~~ DATA OGROUPI' 'I, OIRREiP/' '1, OROW/OI NPOSH = NALFA + NBETA

* CALL VALIl (NSDX.GE.CUNSDX,IW,'NSDX.LT.CUNSDX in yU$;Jg;"I&;

IF (IER.GT. 0) S T 0 P

* CALL VU11 ~NPOSHX.GT.NPOSH,IW,'NPOSHX.LT.NP0SH In iJ;~;J$~"I&{

IF (IER .GT. 0) S T 0 P

IF (GROUP .NE. OGROUP .OR. IRREP .NE. OIRREP A .OR. ROW .NE. OROW ) THEN

OGROUP = GROUP OIRREP = IRREP OROW = ROW CALL GPINIT ('CALCUL',GROUP,IRREP,ROW,DIRRX,NIR~,

* NGRP,GROUPN,NIRR,IRREPN.NIRREPrDIRR. * NR.POC.GAMMA.LER) END IF DO 10 IP = 1,NPOSH

10 WX(IP) = DIRR(SYMMISD(IPI))

SIGNB = 0 NSD = 0 DO 90 R = l,NR

C

20

30

C

Initialize LSOPAl and LSOPBl with input Slater determinant. DO 20 I=l.NALFA

LSOPAliI,l) = SD(I) DO 30 I=l,NBEZ'A

LSOPBl(I,l) = SDCI+NALFA) COEl(1) = UN0 NSOP = 1 LIST1 q .FALSE.

Apply group element R to DO 60 IP = l.NPOSH

input determinant.

LIST1 = .NOT. LIST1 NSOPR = NSOP NSOP = 0

q SYMM (SD(IP) iiP = SYWWSB(SD(IP)

IBASE = SD(IP) - MP DO 50 M = l,MX(IP)

C C

*

*

h

GGAMMA = GAMMA~W.MP,I,R) IF (GGAWMA .EQ. CERO) GO TO 50 NWSO = IBASE + M

;;~a$ new spinorbital products by acting R on spinorbital

DO 40 iSOPR = l,NSOPR NSOP = NSOP + 1 IF (NSOP .GT. NSDX) THEN

WRITE (1W.h) ’ NO. OF SPINORBITAL PRODUCTS'lf ' EXCEEDS NSDX IN SUB. PGROUP.'

S T 0 P END IF IF (LISTl) THEN

COE2(NSOP) = GGAMHA*COEl(ISOPR~ CALL GSOP (IW,IP.LE.NALFA,IP,NWSO,

NALFA.LSOPAl~1.ISOPR~,LSOPA2~1.NSOP) 1 IF INBETA .GT. 01 'MEN

CALL GSOP (IW,IP.Crr.NALFA,IP-WLLFAINWSO. NBF,TA,LSOPB1~1,ISOPR),LSOPB2~1.NSOP~)

END IF ELSE

COEl(NSOP) q GGAMMA~COE2(ISOPR) CALL GSOP lIW,IP.LE.NALFA,IP.NWSO,

NALFA,LSOPA2~1.ISOPR~,LSOPA1~1,NSOP) I

Page 8: Molecular symmetry eigenfunctions for many-electron calculations

262 GFWRD~ Cxsmuos et al.

C

*

40

28

70*

BO*

IF (NBETA .GT. 01 ‘IHEN CALL GSOP (IW,IP.GT.N?tLFA,IP-NALFA,NWSO.

NBETA,LSOPB2(1,ISOPR),LSOPBl~l,NS0P)) END IF

END IF CONTINUE

CONTINUE CONTINUE

Accumulate results for given R in final arrays FCOE, etc. IF (LISTI) THEN

DO 70 ISOP = 1,NSOP CALL PAUL1 (NALFA,LSOPA2(1.ISOP),NULL,SIGNA) IF (NULL) GO TO 70 CALL PACK (IW,NALFA,LSOPA2(1,ISOP),PSDA~ IF (NBETA.GT. 0) THEN

CALL PAULI (NBEl!A.L5OPB2(1,ISOP~,NULL,SIGNB~ IF (NULL) GO TO 70 CALL PACK ~IW,NBETA,L3OPB2~1.ISOPl.PSDB)

END IF COE = COEZ(ISOPl*POC(R) IF (MODtSIGNA+SIGNB,Z) .EQ. 1) COE = -COE CALL ACCUD (CUNSDX,IW,DWPSD,NBETA,COE.PSDA,PSDB.

l,NSD.IDUMMY,FCOE,FLSDA.FLSDBI CONTINUE

ELSE DO 80 ISOP = 1,NSOP

CALL PAUL1 (NALFA,LSOPA1(1,ISOP).5ULL,SIGNA) IF (NULL) GO TO 50 CALL PACK (IW,NALFA,LSOPA1~1,1S0P~,PSDA) IF (NBETA .GT. 0) THEN

CALL PAULI ~NB~A.LSOPB1~1.ISOP~.NULL.SIGNBl IF (NULL) GO TO 5b CALL PACK (IW.NBEl'A,LSOPB1(1,ISOP),PSDBl

END IF COE = COEl(ISOPI*POC(R1 IF (MOD(SIGNA+SIGNB,P) .EQ. 1) COE = -COE CALL ACCUD (CUJISDX,IW.DWPSD,NBETA,COE.PSDA,PSDB,

1.NSD.IDUMMY.FCOE.FLSDA.FLSDB) CONTINUE .

END IF 90 CONTINUE

C Delete determinants with coefficient magnitudea smaller than THRESH. CALL CONFE (IW,THRESH,NBETA,NSD,FCOE,FLSDA,FLSDB) CALL VALIl (NSD.GT.O,IW,'CURRENT DEB'ERHINANT YIELDS '11 * 'NULL POINT GROUP PROJECTION. '// * ‘TRY ANOTHER DEIERMINANT.',IERl IF (IER .GT. 0) IER = 33 END

C____________________------______----_____-----_________ SUBROUTINE GSOP lIW.MODSOP,POSIT.NWSO,N,SOP,NWS0P)

C____--_________________________________~~____~~"~~~~~~~

c Purpose: to generate a new spinorbital product NWSOP according to

: the-following specifications:

a) an N-electron splnarbltal product In array SOP is copied

g into array NWSOP.

b) if HODSOP=.TRUE. a new spinorbital NWSO is assigrisd to the C spinorbital product position POSIT.

IMPLICIT INTEGER (A-51 LOGICAL HODSOP DIHENSION SOP(*),NWSOP(*)

DO 10 IP=l,N 10 NWSOPLIP) = SOP(IP)

IF (MODSOP) NWSOP(POSIT) = NWSO END

C_______________________________________~~~~~~~~~~~~~~~~~~~~ SUBROUTINE GPINIT (OPTION,GROUP,IRREP,ROW,DIRRX,NIRRX, * NGRP.GROUPN,NIRR,IRREPN,NIRREP,DIRR * NR,PC,DD,IER

C___________________________________________________________

C Purpose: to initialize variables holding information about a C given point group.

IWPLICIT DOUBLE PRECISION [A-H-O-Z) SAVE IG PARAHGTER (NGRX=4B) INTWER DIRR,DIRRX,ROW CHARACTER*4 GROUP,IRREP,GROUPS(NGRX),GROUPN(*) CHARACTER*6 IRREPN(*).OPTION

Page 9: Molecular symmetry eigenfunctions for many-electron calculations

Molecular symmetry eigenfimctions

DIHENSION DD~DIRRX.DIRRX.NIRRX.~~.PC~*~.DIRR~~~ DATA GROUPS & /'Cl' ,'CS' ,'CI' ,'CZ' ,'C3' .'C4' .'S4' ,'D2' ,'C2H','C2V', * 'CS' ,'C6' ,'C31','C3H','C3Vf,'D3' ,'C7' .'CS' ,'SS' .'C4H', * 'D4' ,'D2D','C4V','DZH','CSH','D5 ,'C5V','C6H','D6' .'C6V', & 'D3D','D3H','D4H','D4D','D5D','D6D','D5H'.'D6H','DBH','T' , * 'TH' ,'TD' ,'O' ,'OH' ,'I' ,'IH' ,'CIV','DIH'/

i=P: !GRX IF (OPTION .EQ. 'NGROUP') THEN

DO 1 I=l,NGRX IF (GROUPS(I) .EQ. 'W###', THFJd

GROUPN(1) = ' '

263

ELSE GROUPN(1) = GROUPS(I)

END IF 1 CONTINUE

RETURN C A***A*

ELSEIF (OPTION .EQ. 'VGROUP') THEN IFIGROUP .EQ. 'ClH', GROUP = 'CS' IFCGROUP .EQ. '52') GROUP = 'CI' IFIGROUP .EQ. 'V') GROUP = 'DZ' IF(GROtX' .EQ. '56') GROUP = 'C31' IFIGROUP .EQ. 'VD') GROUP = 'DZD' IG = 0 DO 2 I = l,NGRX

2 IF (GROUP .EQ. GROUPS(I)) IO = I 'IF IIG .EO. 0) THEN

FRTf-:A.*) 'Unknown group, try again.'

END IF RNTURN

C ****Ah END IF

: Cl CS CI C2 C3 C4 94 D2 CZH CZV CS C6 C31 C3H C3V D3 C? CB 56 C4H D4 D2D C4V D2H C5H DS CSV C6H

: D6 C6V D3D D3H D4H D4D DSD D6D D5H D6H DSH TTHTD 0 OH I IH CIV DIH

GO TO ( 10, 20, 30. 40, 50, 60. 70, 50. 90,100,110.120,130,140, * 150,160,170.180,190,200,210,220,230,240.250,260,270,2S0, * 290,300,310,320,330,340,350,360,370,380,390,400,410,420, h 430,440,450,460,470,460),1G

10 CALL Cl ~OPTION.IRRNP,ROW.DIRFUC,NIRRX, * IRREPN,NIRRHP,NIRR,DIRR,NR,PC,DD,IER)

2o%zkE 30 CONTINUE 40 CALL CSIZ (OFTION.GROUP,IRREP.ROW,DIRRX.NIR, * IRRNPN,NIRREP',NIRR.DIRR,NR,PC,DD,IHR) RETURN

50 CALL c3 (OPTION.IRRFP.ROW,DIRRX.NIRRX. * IRREPN.NIRREP.NIRR.DLRR.NR.PC.DD.IER) ._..

60 %%iUE 70 CALL c454 (OPTION,IF!REF,ROW,DIRRX,NIRRX, * IRREPN.NIRREP,NIRR.DIRR.NR.PC,DD,IER~ RETURN

80 CONTINUE 90 CONTINUE 100 CALL DZCHV (OPTION,GROUP,IRREP,ROW,DIRRX,NIRRXRX,

* IRREPN,NIRREP,NIRR,DIRR,NR,PC,DD,IER) RETURN

110 CALL c5 (OPTION,IRREP,ROW,DIRRX,NIRRX, * IRREPN.NIRRNP,NIRR.DIRRNR,PC.DD.IER)

130 CONTINUE 140 CALL C63IH (OPTION,GROUP.IRREP,ROW.DIRRX,NIR,

rc IRREPN,NIRRNP,NIRR.DIRR,NR,PC,DD,INR) REU!URN

150 CONTINUE 160 CALL D3C3V (OPTION,GROUP,IRREP,ROW.DIRRX,NIRRXRX.

& IRREPN,NIRREP,NIRR,DIRR,NR,PC,DD,INR) REUURN

170 CALL c7 (OPTION,IRRNP,ROW,DIRRX,NIR, * IRREPN,NIRREP,NIRR,DIRR.NR,PC,DD,IER) RETURN

160 CONTINUE 190 CALL CBS6 ~OPTION,GROUP,IRREP,ROW,DIRRX,NIRRX,

* IRREPN.NIRREP.NIRR,DIRR,NR,PC,DD,IEFi) RETURN

200 CALL C4H (OPTION,IRREP.ROW,DIRRX.NIRRX, * IRREPN,NIRRNP,NIRR,DIRR,NR,PC,DD,INR)

Page 10: Molecular symmetry eigenfunctions for many-electron calculations

244

210 fEE&E 220 CONTINUE 230 CALL D4C4VD ~OPTION.GROUP.IRREP.ROW.DIRRX.NIRRX.

*

240 =2H *

250 z%l *

260 %%fkJE 270 CALL DSCN

* --RETURN

260 CALL C6H *

290 EzEhE 300 CONTINUE 310 CONTINUE 320 CALL D6C6V

*

330 =4H *

(OPTION,GROUP,IRREP,ROW,DIRRX,NIRRX, IRRFPN.NIRREP,NIRR.DIRR,NR,PC,DD.IEiR~

340 CALL D4D (OPTION.GROUP.IRREP.ROW.DIRRX,NIRRXX. * IRREPN.NIRREP,NIRR,DIRR.NR.PC.DD.IERl

350 CALL D5D * RETURN

360 CALL D6D A

370 :&yDS" *

360 =H

400 CALL T

REfPURN 420 CONTINUE 430 CALL TM

k REXURN

440 CALL OH * RETURN

450 CALL II * REPURN

460 CALL IH * RETURN

470 CALL CIV *

480 *=IH rt Em

~OPTION,GROUP,IRFZP,ROW,DIRRX,NIRRX. XRREPN,NIRREP,NIRR,DIRR,NR,PC,DD,IER)

(OPTION,GROUP,IRREP,ROW.DIRRX,NIRRX. IRREPN,NIRREP.NIRR,DIRR.NR.PC,DD.IER)

c c___

Module file GROllPDATA.FOR holding molecular-symmetry

c___

(OPTION.GROUP,IRREP,ROW,DIRRX,NIRRX, IRREiPN,NIPREiP,NIRR,DIRR,NR,PC,DD,IER)

~OPTION,GROUP,IRREP,ROW.DIRRX.NIRRXX. IRREPN,NIRRXP,NIRR,DIRR,NR,PC,DD,IER)

(OPTION,IRREP,ROX,DIRRX,NIRRX, IRREPN,NIRRDP,NIRR,DIRR,NR,PC,DD,IDR)

~OPTION,IRREP,ROW,DIRRX,NIRRX, IRREPN.NIRFtEiP,NIRR,DIRR.NR.PC,DD,IERl

(OPTION,GROUP,IRREP,ROW,DfRRX,NIRRX, IRRDPN,NIRREP,NIRR,DIRR,NR,PC,DD,IER)

(OPTION,GROUP,IRREP,ROW,DIRRX,NIRRX, IRREPN,NIRREP,NIRR,DIRR,NR,PC,DD,IER)

(OPTION,GROUP,IRREP,ROW,DIRRX,NIRRX, LRREPN,NIRRDP.NIRR,DIRR.NR.PC,DD.IER)

tOPTION,GROUP,IRREP,ROW.DIRRX,NIR, IRREPN,NIRREP,NIRR,DIRR,NR,PC,DD,IER)

~OPTION,GROUP.IRREP,ROW.DIRRX,NIRRXRX. IRRXPN,NIRREF,NIRR,DIRR,NR,PC,DD,IER)

~OPTION,GROUP,IRREP,ROW,DIRRX,NIRRX, IRRDPN,NIRREP,NIRR,DIRR,NR,PC,DD,IER)

(OPTION,GROUP,IRREP,ROW,DIRRX,NIRRX, IRREPN,NIRREP.NIRR,DIRR.NR,PC,DD.IER~

(OPTION,GROUP.IRREP,ROW,DIRRX,NIRRXX. IRREPN,NIRREP.NSRR,DIRR,NR,PC,DD,IER)

(OPTION,GROUP.IRREP,ROW,DIRRX,NIRRX. IRREPN,NIRREP,NIRR,DIRRJiR.PC,DD.IER)

(OPTION,GROUP,IRREP,ROW.DIRRX,NIRRX. IRREPN,NIRREP.NIRR.DIRR.NR.PC.DD.IER1

(OPTION,GROUP.IRREP,ROW.DIRRX,NIRRX, IRREPN,NIRREP.NIRR,DIRR,NR,PC,DD,IER~

SUBROUTINE Cl (OPTION,IRREP,ROW,DIRRX,NIRRX, * IRREPN.NIRREP.NIRR.DIRR.NR.PC.DD.IER~

inf ormat ion.

IMPLICIT DOUBLE PRECISION (A-H,O-2) SAVE NSAVE PARAMTER (UNO=lDO) INTEGER DIRR,DIRRX,ROW CHARACTER IRRXP*4, IRRTtll*Q. IRREPN(k)AG, OPTION*6 DIMENSION DD(DIRRX.DIRRX,NIRRX,*),PC(~),DIRR(*~ DIMENSION D(l),LDIRR(l)

Page 11: Molecular symmetry eigenfunctions for many-electron calculations

Molecular symmetry eigcnfunctions 265

DATA D/lDO/, LDIRRIlf, IRRTi'A'l

NIRR = 1

IF (OPTION .EQ. 'NIRREP') THEN CALL TRCVEC (NIRR.IRRT,IRREPN)

ELSEIF (OPTION .EQ. 'VIRREP') THEN CALL IRREPl (NIRR,IRREP,IRRT,LDIRR,DIRR.NIRREP,IER) NSAVE = NIRREP

ELSEIF lDPTION .EQ. 'CALCUL') THEN CALL IRREP2 ~DIRRX,NIRRX.LDIRRX.NIRR.LDIRR.M.NSAVE.ROW.D. .

k

END IF

c_____END____________________________________________________ SUBROUTINE D3C3V (OPTION.GROUP,IRREP,ROW,DIRRX,NIRRX,

C____*________________________~______~____~____~__~__~__~____ IRREPN NIRREP NIRR DIRR NR PC DD IER)

IHPLICIT DOUBLE PRECISION (A-H,O-2) SAVE D,NSAVE Pm lP5=.5DO, P5N=-PS, 53302 =.866025403784439DO, k SR302N=-SR302) INTQZER DIRR.DIRRX.ROW CHARACTEX GROUP*4, IRREP*Q, IRRT(3)*4, IRREPN(*1*6, OPT DIMENSION DD(DIRRX,DIRRX.NIRRX,~~,PC(~),DIRR(~~ DIMENSION D(6,2,2,3),LDIRR(3) DATA (D(I,l,l,l~,f=1,6)/1DO,lDO,lDO, lD0, lD0, lDO/ DATA fD~I,1,1.2~,I=1,6)/1DO,lDO,lDO,-lDO,-lDO,-lDO/ DATA ~D(I,1,1,3~,I=1,6)/1DO,P5N,P5N,-lDO, P5 DATA (D~I,1,2.3),I=1,6)/0DO.ODO.ODO,ODO, ODO, ODO: :?O: DATA (D(I,2,1.3~,I=1,6)/0DO,ODO,ODO, ODO, ODO, ODO/ DATA (D(1,2,2,3).1=1,6)/1D0,P5N,P5N, lD0, P5N. P5Nf DATA IRRT/'Al','A2'.'E'/,LDIRR/1,1,2/

NIRR = 3 NR =6 LDIRRX = 2 IF (OPTION .EQ. 'NIRREP') THEN

CALL TRCVEC (NIRR.IRRT.IRREPN) ELSEIF (OPTION .EQ. 'tiIRRE+') THEN

CALL IRREPl ~NIRR.IRREP,IRRT.LDIRR,DIRR,NIRREP,IER~ NSAVF. = NIRREP

ELSEIF (OPTION .EQ. 'CALCUL') THEN IF (GROUP .EQ. 'D3') THEN

D(2,1,2,3) = SR302 D[2.2.1.3) = SR302N D(3;1;2;3) = SR302N D(3,2,1,3) = 58302 D(5.1.2,3) = SR302N D(5,2,1,3) = SR302N D(6,1,2,3) = SR302 D(6.2,1,3) = 38302

ELSED;; ;G;Oy .EQ. 'C3V'

D(2:2:1:3) q 583021 = 58302

D(3,1,2,3) = SR302 D(3,2,1,3) = SR302N D(5,1,2,3) = SR302 D(5,2.1,31 = SR302 D(6,1,2,3) = SR302N D(6,2,1,31 = SR302N

END IF CALL IRREPZ (DIRRX.NIRRX,

)THEN

PC.ilDj

,ROW.D, * END IF

PC.DD)

END C_______________________--______________~~~~~~~~~~~~~~~~~~~~~~_~_

SUBROUTINE TDO lOPTION,GROUP,IRREP,ROW,DIRRX.NIRRXRX. * IRREPN,NIRREP.NIRR,DIRR,NR,POC,G,IER)

C_______________________________________~~~~~~~~~~~~~~_________

: Purpose:

E

E Class 1:

2:

cc 3:

E 4: 5:

to generate all relevant data for groups Td and 0 (data from J.F.Cornwell, Group Theory in Physics, Vol.1, Academic, 1984). The 24 s~~~&;yooperations are:

E, c3AL, C3BE, CJGA, C3DE. c2x . C2Y . c2z .

C3AL1, C3BE1, CSGAI, C3DE1,

ICSX , I& , IC4Z , IC4X1, IC4YI , IC4Zf , IC2A , ICZB , IC2C , IC2D , IC2E , IC2F .

Page 12: Molecular symmetry eigenfunctions for many-electron calculations

266 GERARDO CISNWOS et al.

C

4: c4x , :4Y , C4Z , CQXI, C4YI , CQZI , 5: C2A, CZB, CZC, CZD, C2E , CZF.

IMPLICIT INTEGER (A-2) SAVE NSAVE PARAMEmR (LNIRR=S, LNR=24) DOUBLE PRECISION DPVAL.GAWlA,GP.GPP.POC.ROT LOGICAL FTIME CHARACTER GROUP*4, IRRF,P*4. IiRT(LNfRRl*4. IRREPN(*)*G. OPTION*6 DImSION ~(DIRRX,DIRRX,NIRRX,*),POC(*),DIRR(*).LDI~(LNI~). Ir GPP(96),ROT(288).GP(2161, * CHVAL(LNIRR.LNTRR),NELPCL(LNIRR) DATA (IRRT(I~,I~l,LNIRR~I'Al','A2','E','T2','Tl'I DATA (~CHVAL(I,J),I=l,LNIRR).J=l.LNIRR) * / 1, 1, 1, 1, 1, k 1, 1, 1,-1,-l, * 2,-l, 2. 0, 0, * 3. 0.-1.-l. 1. * 3; o;-1; 1;-1; DATA (NELPCL(I),I=l,LNIRR)/l,S,3,6,6/

NIRR = LNIRR NR =LNR IF (OPTION .EQ. 'NIRREP' .OR. OPTION .EQ. 'VIRREP') THEN

fP (OPTION .EQ. 'NIRREP') THEN CALL TRCVEC (NIRR.IRRT,IRREPN)

ELSE DO 10 I=l,NIRR

10 LDIRR(I) = CHVAL(1.1) CALL IRREPl (NIRR.IRREP,fRRT,LDIRR,DIRR,NIRREP,IER) NSAVE = NIRREP

END IF ELSEIF (OPTION .EQ. 'CALCUL') THEN

CALL TABDQ (GPP) CALL TABDl (ROT) CALL TABD3 (GP) FTIME = .TRuE. DO 40 IRR=l,NIRR

IF (DIRR(IRR) .EQ. 1) THEN One-dimensional matrices. R=O DO 20 CL=l,LNIRR

DPVAL = DBLE(CHVAL(CL,IRR)) DO 20 I=l,NELPCL(CL)

20

C

A

*

*

*

*

*

*

*

A

*

*

A

30

40

R=R+l GAMMA(1,l.IRR.R) = DPVAL

ELSE IF (.NOT. FTIME~GO TO 40 Matrices for h-reps of dimension greater than one. LIN = LNRl2 DO 30 R=l,LIM

IF (GROUP .EQ. 'TD') THEN CALL INSMAT (.FALSE.,DIRR(IRR ),GPP(4kR-31,

DIRRX,GAMMA~1,1,IRR ,R)) CALL INSMAT (.TRUE. ,DIRR(IRR l,GPP(4*(R+LIM)-3).

DIRRX,GAMMA(1,1,IRR ,R+LIM)) CALL INSMAT (.FALSE.,DIRR(IRR+l).ROT(9*R-8).

DIRRX,GAMMA~l,l,IRR+l,R~~ CALL INSMAT (.TRUE. ,DIRR(IRR+11,ROT(S~(R+LIM~-8),

DIRRX.GAMWi~l,1,IRR+1,R+LIM)) CALL INSMAT (.FALSE.,DIRR(IRR+2),GP(9AR-8),

DIRRX,GAMMA~1,1,IRR+2,R)) CALL INSMAT (.TRUE. ,DIRR(IRR+2),GP(9*Ul+LIM)-81,

DIRRX.GAMMA~1.1,IRR+2,R+LIN)) ELSE CALL INSMAT (.FALSE.,DIRR(IRR ),GPP(4*R-3).

DIRRX.GAMMA~1,1,IRR ,R)) CALL INSMAT (.FALSE.,DIRR(IRR l.GPP(Q*(R+LIH~-3).

DIRRX.GAMMA~1,1,IRR ,R+LIM)) CALL INSMAT (.FALSE.,DIRR(IRR+l),GP(9*1-8).

DIRRX,GAMM?i(1,1,IRR+1,R)) CALL INSMAT (.FALSE.,DIRR(IRR+l),GP(9*[R+LIM)-B),

DIRRX.GAMMA~1,1,IRR+1,R+LIM)) CALL INSMAT (.FALSE.,DIRR(IRR+Z),ROT(9~R-8),

DIRRX.GAMMA~1,1,IRR+2,R)) CALL INSMAT (.FALSE.,DIRR(IRR+2~,ROT(9*~R+LIM)-8).

DIRRX,GAMMA~l,l,IRR+2,R+LIN)) END IF

FTIME = .FALSE. CONTINUE

END IF CONTINUE DO 50 R=l.LNR

Page 13: Molecular symmetry eigenfunctions for many-electron calculations

Molecular symmetry eigenfunctions 267

50 POC(R) = GAWWA(ROW,ROW,NSAVE,RI END IF

C_____END________________________________

SUBROUTINE INSMAT (CHSIGN.M.A,NX.B) C____________________~-_~~~_--~--~--~~--~

IMPLICIT DOUBLE PRECISION (A,B) LOGICAL CHSIGN DIMENSION A(H,N),B(NX,NX)

DO 10 J=l,M DO 10 I=l,M

IF (CHSIGN) THEN B(I,Jl = - A(I,J)

ELSE B(1.J) = A(1.J)

END IF 10 CONTINUE

END C___________________________

SUBROUTINE TABDl (ROT) C_____________-_____________

: Purpose: to tabulate the 32 rotational 3 by 3 matrices in Table D.l of

Cornwell's book.

CALL MAT33 CALL MAT33 CALL MAT33 CALL MAT33 CALL MAT33 CALL MAT33 CALL WAT33 CALL MAT33 CALL HAT33 CALL NAT33 CALL MAT33 CALL MAT33 CALL HAT33 CALL HAT33 CALL MAT33 CALL MAT33 CALL MAT33 CALL MAT33 CALL MAT33 CALL MAT33 CALL MAT33 CALL MAT33 CALL MAT33 CALL MAT33 CALL HAT33 CALL MAT33 CALL HAT33 CALL HAT33 CALL MAT33 CALL MAT33 CALL MAT33 CALL MAT33

lVl,V3,VS,ROT) (V6,Vl,V4,ROT(10)) (VS,V2.V4,ROT(19)) (V6.V2,V3,ROT~28)1 (VS,Vl,V3,ROT(37)) (V3,V6.V2,ROT(46)) [V4,V6,Vl,ROT(55)1 (V4,VS,VZ,ROT(64)) (V3,VS,Vl,ROT(73) 1 lV1,V4,V6,ROT(S2)l (V2,V3.V6,ROT(91)) lV2,V4,V5,ROT(lOO)) (Jl,V6,V3,ROT(109)) (V5,V3,VZ,ROT(llS)) (VQ,Vl,V5,ROT(127)) (Vl.VS.V4,ROT(136)) IV6,V3,Vl,ROTl145)) (VJ,VZ,V5,ROT(154)) (V3.Vl.V6,ROT(163)) (V4.V2,V6,ROT(172)) (V5,V4,Vl,ROT(181)) (V6.V4,VZ,ROT(190)) (V2,VS,V3,ROT(199)) (VZ,V6,V4,ROT(Z08)) (V10,V13,V5,ROT(217)l (VS ,V14,V5,ROT(226)) (V9 ,Vll,VS,ROT(235)) (V7 ,V12,V5,ROT(244)) (VS ,Vll,V6,ROT(253)) (VlO,V12,V6,ROT(262)) (V9 .V14,V6,ROT(271)) (V7 ,V13,V6,ROT(280))

C_______-___---___-________

SUBROUTINE TABD3 (GP) C___--_______-_-__________-

c Purpose: to tabulate the 24 gamma-prime 3 by 3 matrices in Table D.3 of C , Cornwell's book.

CALL MAT33 (Vl,V3,V§.GP) CALL MAT33 (V6,V2,V3,GP(lO)) CALL HAT33 (V6,Vl,V4,GP(19)1

Page 14: Molecular symmetry eigenfunctions for many-electron calculations

268 Gearum Crsmmx et al.

CALL MAT.33 WS,VZ,V4,GP(28)) CALL MAT33 (V5,Vl,V3rGP(37)) CALL MAT33 (V4,VS,VZ,GP(46)) CALL MAT33 (V3,V6,VZ,GP(55)) CALL MAT33 (V4,V6,Vl,GP(64)) CALL MAT33 (V3,V5,Vl,GP(73)) CALL MAT33 IV2,V3.V6,GP(82)) CALL MAT33 (V2,V4,V5,GP(91)) CALL MAT33 (Vl,V4,V6,GP(1001) CALL NAT33 (V6,V4,Vl,GP(109)) CALL MAT33 (V3,VZ,V6,GP(118)) CALL MAT33 (V2,V5,V4,GP(127)) CALL WT33 WS,V4,V2,GP(136)) CALL MAT33 (V4,Vl,VB,GP(145)) CALL MAT33 (V2,V6,83,GP(154)) CALL MAT33 (Vl,V6,VQ,GP(163)1 CALL NAT33 (Vl,V5,V3,GP(172)) CALL MAT33 (V4,V2,V5,GP(181)1 CALL MAT33 lV3,Vl,VS,GP(190)) CALL MAT33 (V6.V3,V2,GP(199)) CALL MAT33 (V5,V3,Vl,GP(208))

END C__--__-_--__--_--__-___-__-

SUBROUTINE TABDI (GPP) C____"______________________

: Purpose: to tabulate the 24 gamma-double-prime 2 by 2 matricea in Table

D.4 of Cornwell's book in the following order:

: 1. E 2. CJAL 3. C3BE 4. C3GA 5. C3DE

6. C3ALI 7. C3BEf 8. C3GAI 9. C3DEI

: 10. c2x 11. C2P 12. c2z 13. c4x 14. C4Y 15. c4z

16. CQXI 17. C4YI 18. CQZI C 19. C2A 20. C2B 21. C2C 22. C2D 23. C2E 24. C2F

IMPLICIT DOUBLE PRECISION (A-2) DIMENSION V1(3).V2(3).V3(3).V4(3).V5(3~,V6~3).V7(3),V8(3).V9(3). * V10(3~,V11(3~,Vl2(3),V13(3~,V14(3~,GPP(~)

CALL BASVEC ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CALL MAT22 (Vl ,V3 ,GPP) CALL MAT22 (V8 .V14,GPP(5)) CALL HAT22 (V8 ;V14;GPP(9)) CALL MAT22 (V8 ,V14,GPP(13)) CALL MAT22 (V8 ,V14,GPP(17)) CALL MAT22 lVlO,V13,GPP(Zl)) CALL MAT22 (VlO.V13,GPP(25)) CALL MiT22 CVlO;Vi3;Gi'P(iS)) CALL MAT22 (VlO,V13,GPP(33)) CALL MAT22 (Vl ,V3 rGPP(37)) CALL MAT22 (Vl ,V3 ,GPP(Ql)) CALL MAT22 (Vl ,V3 .GPP(45)) CALL MAT22 (V9 ,V14,GPP(49)1 CALL MAT22 (V7 .V13,GPP(53)) CALL MAT22 (V2 ,V3 ,GPP(57)) CALL MAT22 (V9 ,V14,GPP(61)) CALL MAT22 (V7 ,V13,GPPPP(65)) CALL MAT22 (V2 .V3 .GPP(69)) CALL MAT22 (Vi ;Vi ,GPP(73)) CALL MAT22 (V2 ,V3 ,GPP177)) CALL MAT22 (V7 ,V13,GPP(81)) CALL MAT22 (V7 ,V13,GPP(85)) CALL MAT22 (V9 .V14,GPP(S9)) CALL MAT22 (V9 ;V14;GPP(93)1

: Purpose: to define basic vectors in order to build up transformation

matrices.

IMPLICIT DOUBLE PRECISION (C,D,P.S,V) PARAMETER (CERO=O.DO, P5=.5DO, PSN=-P5,

A SR302=0.866025403784439DO, SR302N=-9R302) DIMFNSION IV1(3),IV2~3~,IV3(31,IV4(3),IV5(3l,IV6~3). * W7~3~,M18~3~,M19~31,W10~3~, * DV11(3),DV12(3),DV13I31,DV14(3), * Vl(*),V2[h),V3(~).V4(~~,V5(h),v7(h),V8(~),V9(~), * V1O~*~.V11~*~.V12~*~.Vl3~~~.Vl4~~~ DATA IVl/l.O.O/,~IV~/-l;O,O/, iV3/0,1;0/;1V4/0,-l,O/, * IV5/0,0,1/, IV6/0,0,-1/

Page 15: Molecular symmetry eigenfunctions for many-electron calculations

Molecular symmetry eigenfbmtions 269

DATA DV7 lP5 ,SR302 ,CERO/, DVB /PSN,SR302 .CERO/, * DV9 /PS ,SR302N,CEiRO/, DV1OIP5N,SR302N,CEROf. A DVll/SR302 ,P5 ,CEROir DVlZ/SR302N,P5 rCEROlr * DVl3/SR302 ,PSN.CEROI. DV14/SR302N,PSN,CERO/

DO 10 I-1.3 VltI, i DBLEfIVl(I)) V2(1) = DBLE(IVZ(I)) VJ(I) = DBLE(IV3(1)) V4(1) = DBLE(IV4(1)) VS(I) = DBLE(IVS(Il) V6(1) = DBLE(IVB(I)) V7(I) = DV'III) VB(I) = DVB(I) V9(1) = DV9(1) VlO(I) = DVlO(I) Vll(I) = Wll(I) V12(1) = DVlZ(I) Vl3(1) = DV13(1) VlC(I) = DVlQ(I)

10 CONTINUE Em

C_________________________________

SUBROUTINE WAT22 (Vl.VZ.WAT) C____---__----____-_______________

IMPLICIT DOUBLE PRECISION (HIV) DIWERSION Vl~*).VZt*),WAT(2.2)

DO 10 1=1,2 WAT(I,l) = Vl(Ib

10 WAT(I.21 = VZII) ERD

C_______“““___““____“““___-----___””””_

SUBROUTIRE WAT33 (Vl,VZ,V3,MAT) C__--_____---___--_____--_____-_____-

IWPLICIT DOUBLE PRECISION (M,V) DIWENSION Vl(*),V2(*),V3(A),WATAT(3,3)

DO 10 I-1,3 WATtI.1) = Vi(I) WAT(I.2) = V2(1)

10 WATtI, - V3(1)

C_____ENo_______________________________ SUBROUTINE TRCVEC ~N.INPUl'.OUTPUT)

C_______________________________________

Purpose: to transfer the first N words of character array INPUT into array OUTPUT.

CHARACTER INpUT(*)*4, OUTPUT(*)*6

DO 10 I=l,N 10 OUTPUT(I) = INPUT(I)

END C___________________________________________________________

SUBROUTINE IRREPl ~N,IRREP,IRRT,LDIRR,DIRR,NIRREF',IER) C__________________________________--_________________________

C

10

Purpose: to validate IRREp, and to extract DIRR and NIRREP.

INTEGER DIRR(*),LDIRR(*) CHARACTER IRREp*4, IRRT(*)*4

ID? = 0 NIRREP = 0 DO 10 I-l.N

DIRR(I) = LDIRR(I) IF (IRREP .EQ. IRRT(I)) NIRREP = I

IF (NIRREP .EQ. 0) THEN WRITE (*,*I 'Unknown irrep name, try again.' IER = 2

END IF END

~__“““““_“““__“““___-----___“““___----____”””__“““___““____”________

SUBROUTINE IRREF'Z (DIRRX,NIRRX.LDIRRX,NIRR,DIRR,NR,NIRREP,ROW,D, rt PC.DDl

C________________________________________________"____________________

C purpose: to extract PC and DD.

Page 16: Molecular symmetry eigenfunctions for many-electron calculations

270 GERARDO Cm-mos er al.

IMPLICIT DOUBLE PRECISION (A-H,O-2) INTEGER Dl3R,DIRRX,R.RR,ROW DIMF.NSION DIRR~*l,D~~,LDIRRX,LDIRRX.*~, rt E'C~~),DD~DIRRX,DIRRX,NIR,*)

RR=0 DO 20 R = 1,NR

PCR = D(R,ROW,ROW,NIRREP) RR = RR + 1 PC(RR)= PCR DO 10 IRR = 1,NIRR DO 10 J = l.DIRR(IFU?) DO 10 I = l,DIRR(IRR)

DD(I.J.IRR,RR) = D(R.I.J,IRR) :8 CONTINUE

NR = RR END