You are on page 1of 12

Computer Physics Communications 51 (1988) 103114 North-Holland, Amsterdam

103

PERTURB: A PROGRAM FOR CALCULATING VIBRATIONAL ENERGIES BY GENERALIZED ALGEBRAIC QUANTIZATION Laurence E. FRIED 1 and Gregory S. EZRA2
Department of Chemistry, Baker Laboratory, Cornell University, Ithaca, NY 14853, USA Received 6 October 1987

We describe PERTURB, a special purpose algebraic manipulation program which calculates vibrational eigenvalues in coupled oscillator systems. PERTURB implements the method of generalized algebraic quantization (AQ), in which Van Vieck perturbation theory is formulated in a mock phase space. The phase space formulation enables quantum and classical perturbation theory to be treated on the same footing, and allows the systematic calculation of corrections to classical perturbation results in powers of h. Generalized AQ is a powerful and efficient technique for calculating semiclassical vibrational energy levels. In many cases, including just the ffrst correction to classical perturbation theory yields highly accurate energies.

PROGRAM SUMMARY

Title of program: PERTURB Catalogue number: ABDN Program obtainable from: CPC Program Library, Queens University of Belfast, N. Ireland (see application form in this issue) Computer for which the program is designed and others on which it is operable: PERTURB has been run on an IBM 3090, and IBM 4381 a PRIME 9955, a Gould 9050 and an IBM PC. it should run with little or no modification on other systems Computer: IBM 3090; Installation: Cornell National Supercomputer Facility Programming language used: C High speed storage required: 350 Kb of program storage, data storage varies with problem

No. of bits in a word: parameter in program. Set to 8 initially Number of lines in combined program and test deck: 17298 Separate documentation available: PERTURB users guide Keywords: molecular vibrations, generalized algebraic quantization, semiclassical quantization, perturbation theory Nature of physical problem PERTURB calculates energy eigenvalues for a set of coupled harmonic oscillators. Method of solution
. . 0

Generalized algebraic h. allowing expansion in quantization, a perturbative technique Restriction on the complexity of the problem There is no pre-set limit on the size of the problem, although the computer time required increases rapidly with the number of degrees of freedom.

Mathematical Sciences Institute Fellow. Alfred P. Sloan Fellow.

OO1O-4655/88/$03.50 Elsevier Science Publishers B.V. (North-Holland Physics Publishing Division)

104

L.E. Fried, G.S. Ezra

Program for calculating vibrational energies

LONG WRITE-UP 1. Introduction Many semiclassical methods have been developed in recent years for calculating molecular vibrational and rotationvibration energy levels (for reviews, see refs [15]).The present paper is concerned with perturbative methods [628],and the extension of semiclassical perturbative quantization to arbitrary order in h [29]. In the semiclassical perturbative approach, a series of canonical transformations is used to find good action variables, to the desired order in perturbation. EBK quantization [1,3032] then carried out by is assigning quantizing values to the good action variables [7]. More elaborate procedures are necessary for resonant [11,13,1719,25]or nearly resonant [16,25,29] systems, as discussed below. The perturbative approach has several appealing features. The results obtained are global; the energy of any state may be found by substituting the appropriate quantum numbers into the simplified Hamiltonian. Vibrational eigenvalues obtained by this technique are accurate, even for excited states of realistic molecular potentials [25,29]. Moreover, the method has been found to give good results in the classically chaotic regime [11,25,28,29]. This is at first sight surprising, because EBK quantization is not expected to work in the chaotic regime, where good action variables and associated invariant tori no longer exist [7]. The success of the EBK quantization prescriptions in the chaotic regime has been rationalized in terms of the existence of vague tori [11,28,34] or, more recently, canton and broken separatrices [35]. Although the perturbative semiclassical quantization of realistic molecular systems is quite promising, several practical difficulties arise in its implementation. The main problem is the appearance of resonances [7]. A resonance occurs when there is a commensurability between the fundamental frequencies of the system [7]. Low order resonances may lead to classical trajectories being greatly distorted from those of the zeroth order (uncoupled) system, even for small values of the perturbation parameter. Resonances are also responsible for the ultimate divergence of classical perturbation theory (the famous small denominator problem [7]). Several approaches can be taken to avoid problems associated with resonances. If the zeroth order system is close to resonance, but not exactly resonant, the perturbation expansion will consist of finite, but divergent, terms. Resummation [3638] is then a possibility [16,39]. From the viewpoint of complex analysis, the Taylor series in perturbation parameter generated by classical perturbation theory has a radius of convergence given by the distance to the singularity (pole, branch point) in the complex plane nearest to the origin. Information about the singularity structure, if available, can be incorporated into an approximant that returns the original Taylor series when expanded about the origin. Pad approximation [40] is a well-known example; the Pad approximant replaces the Taylor series in perturbation parameter with a rational function, allowing poles in the complex plane to be reproduced. If the divergence of the Taylor series is due to simple poles, Pad approximants can be expected to accurately resum the original perturbation expansion [41]. A convergent resummation scheme may not, however, be possible in the chaotic regime, since the good action variables sought via the perturbation expansion do not exist globally [7]. Very little is known about the analytic structure in the cornplex plane of perturbation theory applied to multidimensional systems. Algebraic quantization (AQ) is an alternative to resummation [1719,25].AQ avoids the small denominator problem by allowing a more general form of the simplified Hamiltonian: terms depending on up to N 1 [42] linearly independent integer combinations of angles can be included. The angle-dependent transformed Hamiltoman is then converted to a quantum operator. In general, cross terms between coordinates and momenta occur, so that a quantization rule [4347]is required to resolve the proper ordering of noncommuting terms. For most quantization rules, the resulting Hamiltonian operator is block diagonal, with finite blocks. A small matrix diagonalization

LE. Fried G.S. Ezra

/ Program for calculating vibrational energies

105

then yields energy cigenvalues. The AQ scheme has several advantages. It extends the applicability of perturbative semiclassical quantization to systems with up to N-i linearly independent near resonances. Moreover, it is a uniform technique [48]; it reproduces inherently quantum splittings quite accurately. Evidently, diagonalization of a small matrix is sufficient to reproduce such level splittings. The operator corresponding to the transformed Hamiltonian in the AQ approach clearly depends in general upon the particular choice of quantization rule, leading to noticeable disagreement between results obtained with different rules. We have shown how to incorporate corrections to arbitrary order in h into AQ [29], using a phase space formulation of quantum perturbation theory [46,47,49]. For polynomial Hamiltonians, the series of corrections in /1 truncates, and results entirely equivalent to quantum Van Vleck perturbation theory [50] are obtained. It is thereby possible to explore the relation between quantum and classical perturbation theory in a systematic fashion. The relative computational requirements of classical versus quantum perturbation theory can also be assessed. A brief review of algabraic quantization and the generalization to arbitrary order in h is given in section 2. A general discussion of the structure of PERTURB, a program for implementing generalized AQ for polynomial Hamiltonians of arbitrary dimensionality, is then given in section 3. Conclusions are presented in section 4. We note there that a detailed discussion of generalized AQ and extensive results are given in ref. [29]. The program described in the present paper is an extended version of the C program discussed in ref [Si]. The latter program only implemented classical perturbation theory, whereas the current version of PERTURB is capable of calculating h dependent corrections to the classical normal form. For polynomial Hamiltomans, the series of corrections terminates, and results identical to quantum Van Vleck perturbation theory can be obtained.

2. Algebraic quantization and the calculation of vibrational energy levels

In this section we briefly review AQ and its generalization to arbitrary order in h. Ordinary AQ uses a series of canonical transformations to make the original Hamiltonian as nearly integrable as possible. PERTURB carries out these transformations using the Lie transform algorithm of Dragt and Finn [52,53], described below. Resonant and nearly resonant angle-dependent terms are included in the transformed Hamiltonian. The new Hamiltonian is converted to a quantum operator, and a small matrix diagonalization is carried out to compute energy eigenvalues. The scheme just described closely parallels conventional quantum mechanical Van Vleck perturbation theory [50]. This close relationship motivates the introduction of generalized AQ, which is a formulation of quantum mechanical Van Vleck perturbation theory in a mock phase space [46,47]. The advantage of a phase space formalism is that quantum and classical theories can be treated on the same footing. A mock phase space is induced by an invertible quantization rule [47]. The inverse quantization rule maps a quantum operator onto a unique /i dependent function on the mock phase space. For example, a quantum mechanical commutator is mapped onto an operator on the mock phase space. If the Weyl quantization rule is used, this operator is called a Moyal bracket [33]. To lowest order in h, the Moyal bracket is the Poisson bracket. Thus, classical mechanics emerges naturally in the mock phase space formalism. Generalized AQ uses Moyal brackets, rather than the Poisson brackets used in ordinary AQ, to carry out coordinate transformations. The resulting theory is fully quanta!, and all transformations are unitary. By truncating the Moyal bracket at a given order in /1, we arrive at approximations to fully quantum perturbation theory.

106

L.E. Frie4 G.S. Ezra

Programfor calculating vibrational energies

2.1. Algebraic quantizarion In AQ, a classical Hamiltonian is subjected to a sequence of canonical transformations before it is quantized. There are many ways to generate the transformations. We discuss briefly the method of Lie transforms [5458]as used in the algorithm of Dragt and Finn [52,53]. This technique is more efficient than traditional techniques based on mixed-coordinate generating functions [6,7], and is the algorithm used in PERTURB. Lie transforms express a canonical transformation entirely in terms of Lie operators. A Lie operator, L1, is defined by Lf_ (1 }, (1)

sion. The transformed Hamiltonian resulting from the elimination of all angle-dependent terms except those which are exactly resonant is called the BirkhoffGustavson normal form [59,60]. The presence of angle-dependent terms or divergent corrections prevents perturbative EBK quantization from being applied straightforwardly to resonant or nearly resonant systems. In AQ, angle-dependent terms corresponding to exact and near resonances are left in the final Hamiltonian. If more than one linearly independent resonant term is included in the final Hamiltoman, the the classical problem is in general nonintegrable [7]. As long as the number of resonant terms included Q is less than the number of degrees of freedom N, the problem can be treated by AQ. AQ exploits the existence of N Q ignorable angle vanables in the transformed Hamiltoman. Each ignorable coordinate imphes the existence of a classical invanant which is a linear function of action. A quantization rule (such as the Weyl rule) is then used to associate a quantum operator KQ with the transformed classical Hamiltoman K. Under mild assumptions about the quantization rule, it can be shown that KQ also has N Q invanants which are linear functions of number operators ~[25]. The existence of these quantum invariants implies that the operator KQ is block diagonal [25]. The blocks are often small
. . . . . . .

where ( , } denotes the Poisson bracket. Let K be the Hamiltoman expressed in the transformed coordinate system. Then K = exp( Lf) H, (2)

where H is the Hamiltonian in the original coordinate system, and f is called a Lie generating function. Dragt and Finn use a sequence of such transformations to simplify the original Hamiltothan: K (z) H(i(z)) = exp( ~kj~) exp( e~

exp(eF )H(z)

(3)

where Fk is the Lie operator L1. The sequence of transformations is chosen to make K as close to integrable as possible. If an integer linear combination of zeroth order frequencies m a vanishes identically, the original Hamiltonian is resonant. The transformations (3) cannot convert a resonant Hamiltonian into a function of good actions only. For nonresonant systems, all the angle dependence of the transformed Hamiltoman K can by definition be eliminated to a given finite order without encountering divergence. Energy levels can be found by substituting quantizing values of the good actions into K. For nearly resonant systems, the angle dependence of H can be formally eliminated, but at the cost of introducing rapidly divergent corrections into the perturbation expan-

and can easily be diagonalized to yield approximate quantum eigenvalues of the original system. The scheme outlined above has been applied to a variety of resonant, nearly resonant and nonresonant systems [25]. The 1: 1 HnonHeiles system has been quantized and quite good agreement with variational quantum results obtained; purely quanta! splittings were reproduced well [25]. Systems with more than two degrees of freedom have also been studied. For instance, the family of 3, 4 and 5 degree of freedom systems first studied by Skodje, Borondo and Reinhardt [61] has been quantized. Eigenvalues produced by AQ were found to be in good agreement with quantum variational calculations and/or other semiclassical methods. As mentioned above, the Haniiltonian operator to be diagonalized in AQ depends on the quantization rule used. This dependence on quantization

L.E. Frie4 G.S. Ezra

/ Programfor calculating

vibrational energies

107

rule is important if highly accurate vibrational eigenvalues are required [25,27]. For all of the systems mentioned above, it is found that an approximation to the Weyl rule, first proposed by Robnik [18], gives more accurate results than those obtained with the exact Weyl rule. The reason for this behavior is not understood, although it may be significant that Robniks rule reduces to EBK quantization for diagonal Harniltonians. Robniks rule breaks point group symmetries, however. A hybrid of Robniks rule and the Weyl rule has therefore been devised, which respects point group symmetries while giving accuracy comparable to that of Robniks rule. It is apparent that the dependence of the results of AQ on quantization rule is undesirable. The method of generalized AQ enables this dependence to be reduced in a systematic fashion. In generalized AQ, corrections which are of higher order in It can be included in the normal operator.

As higher order corrections in /1 are included, the dependence on quantization rule is decreased. Generalized AQ is discussed in the next subsection. 2.2. Generalized algebraic quantization The method of generalized AQ allows results from AQ to be successively improved until convergence to quantum mechanical Van Vleck perturbation theory is achieved. A smooth transition can then be made between the semiclassical and quantum limits. The incorporation of certain quantum effects (those analytic in It arising from near-identity transformations) is useful in solving vibrational problems to high accuracy [29]. It is essential to note, however, that the entire problem is not subject to an expansion in It. Nonanalytic behavior in It can be introduced by the small matrix diagonalization, so that generalized AQ

Van Vieck

Generalized AQ

AQ

Quantum Operator

Symbol

Classical Function

Input Hamiltonian 4

Inverse Rule

~] Hamiltonian
Symbol

Classical Limit

Classical ~ Hamiltonian

Quint. Rule

Commutator

Phase Space Commutator

Poisson Bracket

Normal Operator

~
____________

Normal Symbol

Approximate

Normal Form

Small Matrix Diagonalizalion

Diagonal Hamilton ian Fig. 1. Relation between Van Vieck perturbation theory, its mock phase space version and AQ.

108

L.E. Fried, G.S. Ezra

/ Program for calculating

vibrational energies

avoids the convergence problems usually associated with expansion in It. Generalized AQ was formulated by analogy with quantum Van Vleck perturbation theory. The relation between Van Vleck perturbation theory, its mock phase space version and AQ is summarized in fig. 1. Van Vieck perturbation theory is conventionally formulated in terms of quantum operators (left column of fig. 1). In the Van Vieck approach, an initial Hamiltonian is simplified by a sequence of unitary transformations. Each of these transformations can be expressed in terms of the commutator with a particular generating operator. This can be seen by a rearrangement of the familiar form of Van Vieck perturbation theory; the relation between the new Hamiltoman K and the old Hamiltonian H is usually expressed as: K=
. . .

A mock phase space version of Van Vieck perturbation theory is illustrated, in the center column of fig. 1. In the phase space approach, the initial Hamiltonian operator is transcribed into a function of 2N variables, called a symbol [62]. The rule for transcription is invertible, so that every quantum operator is associated with a unique symbol. While the use of quantization rules in transcribing functions of p and q into operators is quite familiar, the inverse operation described here may be less well known. As an explicit example, the Weyl quantization rule applied to a monomial in p and q gives:
~fl(mn)

w(pmqn) =

~
10

2 (7) the

1 kI exp(~ckJ~)xp(~e fk-I e

The inverse relation can also be derived Weyl symbol W~ a polynomial is of


W(pm~) min(m.n)

x x

. . .

exp(~Efi)Hexp(-~-efi)
exp(~~e~1fk_l)exp(-~-~fk)...,

(ih)1 2l! (n

n!m!
pm

~=o (4) which can be rearranged with the relation exp(

l)!(m

1)! (8)

f) ii~exp( f) = exp( [f, ] ) H,


. . .

(5)

to give
j~

exp(~[J~

i)

exp(-~[J,

])n.

(6)

This sequence of transformations is the quantum analogue of DragtFinn perturbation theory, since (1/i h)[ , ] corresponds to the Poisson bracket. The sequence of transformations is chosen to render the final Hamiltoman as close to diagonal as possible. We term the resulting simplified Hamiltoman a normal operator. If generalized Fermi resonances are encountered, the normal operator will not be diagonal. Nonetheless, if sufficiently few resonances are found, the normal operator will have a block diagonal matrix. Therefore, only small matrix diagonaiizations are necessary to produce a diagonal Hamiltonian.

Thus, there exists a one-to-one mapping from symbol to quantum operator. This also serves to illustrate that finding a symbol is not the same as taking the classical limit, since the latter procedure would map many operators onto the same classical function. The mapping between symbols and operators can be used to produce an alternative formulation of quantum mechanics, based entirely on symbols. To do this, the equivalent of operator multiplication must be found in the mock phase space. This multiplication is sometimes referred to as a twisted multiplication [62,63]. In the case of the Weyl rule, the twisted multiplication (denoted by *) of two symbols A~and B~is:
*

B~ exp I i It =

~Pe

~1

xA~(q~, A)BS(qB, p

PB).

(9)

A~ B~,when converted to an operator, is the * same as the operator AB, so that twisted multipli-

L.E. Frie4 G.S. Ezra

/ Program for calculating

vibrational energies

109

cation is entirely equivalent to operator multiplication. In a similar manner, the commutator maps into a Moyal bracket, given by A B A B B *A
~

1.

IS =

S *

In Van Vleck perturbation theory formulated in a mock phase space, the Hamiltonian symbol is simplified by a sequence of transformations generated by phase space commutators, replacing the Van Vleck generating operators with generating symbols. By this sequence of transformations, a simplified Hamiltonian symbol is arrived at, which we term a normal symbol. A Hamiltonian symbol H5 will correspond to a diagonal operator H if and only if J-I~is a function of the products a7a, only, where a and a * are the classical analogues of creationamuhilation operators. We seek a sequence of unitary transformations which renders the Hamiltonian as nearly diagonal as possible. This is expressed in mock phase space as 11 K5 = exp~~~~Ek(fk, }s)
. . .

perturbation theory presented here is entirely equivalent to the usual Hilbert space version. The phase space version, however, lends itself to expansion in It. In generalized AQ, the expression for the Moyal bracket is truncated at a given order in It. As noted above, the full problem is not expanded in It. Thus, the small matrix diagonalization can introduce nonanalytic behavior in It, thereby allowing important effects such as tunneling to be described. To lowest order in It, generalized AQ is the same as ordinary AQ. This point is illustrated in the rightmost column of fig. 1. AQ uses a sequence of canonical transformations to simplify a classical Hamiltoman. The limit as It 0 of the Hamiltoman symbol is just the classical Hamiltothan, so that the starting point of AQ is arrived at by taking the classical limit of fully quantum phase space perturbation theory. It is not always necessary to take this limit; if no momentumcoordinate cross terms are present in the quantum Hamiltonian, the initial Hamiltoman symbol will be the same as the classical Hamiltonian. The classical limit of the phase space commutator is the Poisson bracket. Unitary transformalions of the quantum theory therefore map into canonical transformations. The simplified classical Hamiltonian is termed a normal form [59]. It can be viewed as an approximation to the normal symbol. Hence, a quantization rule can be used to derive an approximate normal operator corresponding to the normal form. Several multimode systems have been treated with generalized AQ [29]. We have found a substantial increase in the accuracy of low-lying eigenvalues when the first correction in It is included. The most striking example is a 3 mode t error in the 03. Ordinary AQ shows model for rotationless ground state energy of 0,a 10 cm when the Weyl quantization rule is used. Including just the first correction in It, however, reduces this error to 0.02 cm [29,641.Evidently,
. . .

1 xexp(-_E~(fk_i~ iIt

.}~)
H~. (11)

exp( -4- ~
\iIt

}
S1

The procedure for choosing the generating function fk is similar to that of the classical theory. On the k th iteration, we choose fk to make the transformed Hamiltonian a function of a.a7. Resonances between the zeroth order frequencies lead to complications, just as they do classically, Explicit formulas can be derived by expanding all quantities in powers of e. Let H be the Hamiltoman symbol after k transformations. Expanding H kin powers of e yields rrk_V j I ~
ii

,~E

r1,.

t,1B)

Inserting this into eq. (11) gives


int(j/k) /

~-

}sHk_I
Jlk

113\
1

i~o

(iIt)ll

Once the normal symbol is found by eq. (13), it is mapped into a normal operator by the quantization rule. The phase space version of Van Vieck

higher order terms in It are needed to obtain high accuracy, especially for small quantum numbers. Furthermore, for many systems, the first correction is the most important. In the following section, we will discuss how generalized AQ is implemented in the program PERTURB.

110

L.E. Frie4 G.S. Ezra

/ Programfor calculating vibrational energies by complex exponentials of angle variables. Thus, every term is of the form (a
+ ib)joao
. . .

3. PERTURB PERTURB is a special purpose program written in C for carrying out generalized AQ. PERTURB is compatible with any C compiler supporting the proposed ANSI standard. Alternatively, the Kernighan and Ritchie standard [65] may be used, with the extensions of structure assignment and structure-valued functions. UNIX C is an example of a non-ANSI C compiler under which PERTURB will run. The current version of the program finds vibrational eigenvalues, normal symbols and generating symbols. Future versions will also find wavefunctions and properties such as dipole matrix elements. The program is modular, with a language-like syntax being employed in the symbolic manipulator. The program has many options. Users can choose representations of an expression (see below) which save memory at the expense of CPU time, or use a representation which allows maximum speed. The initial Hamiltoman is entered either as a polynomial in p and or directly in terms of zeroth order action-angle variables. The Hamiltonian is then subjected to a sequence of canonical/unitary transformations. After the transformations have been carried out, a normal symbol is written to file. If desired, PERTURB will then calculate eigenvalues by constructing blocks, converting the normal symbol to an operator, and diagonalizing the operator within the blocks, The program consists of a special purpose algebraic manipulator and accompanying numerical routines for block diagonalization. In this section we discuss the design of the program, and the algorithms used in carrying out calculations. More detailed information, such as input files and sample output, is available in a users guide accompanying the program [66]. 3.1. The algebraic manipulator The core of PERTURB is an algebraic mampulator. Although PERTURB can accept polynomials in Cartesian variables as input, it converts them into an internal form which is convenient for classical perturbation theory. This form consists of half-integer powers of action variables multiplied

j~N

exp(i(90n0 +

(14) The symbols used in generalized AQ can also be expressed in this form. Terms of the above form can be quickly transcribed into the classical analogues of creationannihilation variables, by the prescription a, =
(~~~/2

exp( i9,).

(is)

PERTURB represents a term by a structure, called struct store. Structures group data into a single object. Struct store contains the coefficient (a + ib) as a complex data type, the integer vector 2a, and the integer vector n. The use of structures is an important advantage in programming in C. Once a set of functions that handle the structures has been constructed, the structure can be regarded as a user-defined data type in its own right. The details of manipulating the components of the structure can then be forgotten. This philosophy of programming is essential to the design of PERTURB. PERTURB handles expressions that are sums of terms. An expression could therefore be represented by an array of terms. In C, it is possible to allocate this array dynamically, so that no memory is wasted. Dynamic memory allocation is a substantial advantage of C over Fortran. It is convenient, however, to give an expression additional characteristics. For instance, PERTURB can treat expressions as being of either temporary or permanent interest. Temporary expressions are automatically deallocated (the memory associated with them is freed for other use) as soon as they are used in an expression-producing function. Permanent expressions, however, are not automatically deallocated. The use of temporary expressions allows PERTURB functions to be conveniently chained, as will be discussed below. Thus, the structure representing an expression, called struct express in PERTURB, contains a pointer to an array of terms (a pointer is a variable that contains another variables machine ad-

LE. Frie4 G.S. Ezra

/ Programfor calculating vibrational energies

111

dress), the number of terms in the expression, and its storage classification. As a convenience, the final representation of an expression is a pointer to struct express. This allows a PERTURB function to modify the contents of the structure associated with an expression. This pointer is said to have type EXPR in PERTURB. Functions in PERTURB do basic operations such as addition, multiplication and differentialion. In addition, there are special purpose routines for computing the Poisson bracket and the Moyal bracket. These functions have a modular, Ianguage-like design. PERTURB manipulation functions take arguments of type EXPR, and return values of type EXPR. This allows functions to be conveniently chained. The following code fragment adds two EXPRs c and d, multiplies them by a, and puts the result in c: c = mult(add(c, d), a). The storage classification of the return value of a function is always temporary. Therefore, the intermediate result add(c, d) is automatically deallocated by multO. The PERTURB manipulator is very efficient, We have obtained part of this efficiency by using a sophisticated sorting algorithm. As each successive term in an expression is calculated, it is placed in a binary tree structure. A binary tree consists of a root, where a term is stored, and two offspring binary trees, The offspring trees may be empty. Before a term is placed into a tree, an array of sorting keys is calculated. Then, when the term is inserted into the tree, the sorting keys are compared to the keys of the root. If the first nonmatching key of the term is greater than that of the root, the term is inserted into the right offspring. Otherwise, it is inserted into the left offspring. This process of comparison continues, until a term is either placed into an empty node, or matched with an existent term (in which case the coefficients are added). Primitive insertion into a binary tree can be very efficient, as long as the terms arrive in a random order. If the terms arrive in order, however, the depth of the tree grows linearly with the number of terms inserted, rather than logarithmically. This results in extremely slow sorting. PERTURB avoids this situation by using a nonrecursive implementation of the AVL algorithm for tree

balancing [67]. The AVL algorithm requires that the depths of the offspring nodes differ by at most one. If this is not the case after an insertion has been made, the nodes of the tree are rearranged by balancing functions. There are several ways to customize PERTURB to fit the requirements of a particular problem. One of the most important parameters is RFLAG. When RFLAG is TRUE, PERTURB assumes that all expressions are real. This allows a term to represent both itself and its complex conjugate, so that the size of every expression is reduced by approximately a factor of two. In addition, the size of a term can be modified to make more effective use of memory. This is an important consideration when doing high order perturbation theory. A term is declared to be big enough to handle problem with dimensionality MAXNDOF. Therefore, memory use can be optimized by making the maximum number of degrees of freedom, MAXNDOF, equal to the dimensionality of the problem at hand. There are other ways to optimize the use of memory. One is to change the parameter FIELDTYPE. The small integers representing the powers and exponents of a term can be stored in either a short integer (2 bytes), or character (1 byte) by making FIELDTYPE equal to either SHORTFIELD or CHARFIELD. CHARFIELD saves on memory, but at a small cost in efficiency on most systems. The coefficients in a term can also be optimized for memory use, If RFLAG is TRUE, setting COEFFTtPE to NEWCOEFF will give a more cornpact, but somewhat slower, form for the coefficients. PERTURB also allows the user to choose the way in which resonances are handled, In solving for the normal form/symbol, PERTURB must decide whether a given term is resonant or not. There are two ways of doing this, called the absolute criterion and the convergence criterion, respectively. Under the absolute criterion, a term is considered resonant if the absolute value of the denominator is ~ is less than a given amount, where is is the angle vector appearing in the term, and w is a vector containing the zeroth order frequencies. This criterion is simple, but it does not take into account the size of the term,

112

L.E. Frie4 G.S. Ezra

Program for calculating vibrational energies

Under the convergence criterion, on the nth transformation, a term is considered resonant if

i
(n

found in the normal form into a matrix. The coefficients of the invariants are then given by the null vectors of this matrix. Once the invariants have been found, they are simplified (i.e., reduced to a form with integer coefficients) by a trial and error algorithm, which works well in systems with a few degrees of freedom. If the system has more than 5 degrees of freedom, however, the time required to simplify the invariants is prohibitive. PERTURB allows the user to specify whether the invariants and frequency vectors should be simplified or not. To calculate eigenvalues, the user specifies an energy range of interest, and PERTURB then finds all states with zeroth order energies in this range. The invariants associated with each state are evaluated, and the list of states is sorted according to the invariants, so that states in the same block are adjacent to one another in the list of states. The list of states is then passed to a diagonalization routine, which evaluates the Hamiltonian matrix for each block of states. The matrix elements can be either evaluated straightforwardly, or resummed by the epsilon algorithm [40]. The user indicates which quantization rule should be used in evaluating the matrix. There are three choices: the Weyl quantization rule [43], Robniks approximation to the Weyl rule [18] and the symmetry-preserving semiclassical (SPSC) quantization rule [29]. As noted in the previous section, Robniks approximation to the Weyl rule given more accurate results than the Weyl rule itself for many systems [29], while breaking point group symmetries. The SPSC rule is a hybrid of Robniks rule and the Weyl rule [25], which gives results of accuracy comparable to Robniks rule while respecting point group symmetries. If semiclassical quantization of an angle-independent normal form is desired, Robniks quantization rule should be chosen. In the current version of PERTURB, if the perturbative transformations have been carried out to higher order in It, the Weyl quantization rule must be used. A mock phase space implementation of other quantization rules will be added in the future. Once the matrix associated with a block has been evaluated, PERTURB diagonalizes it by the

I(I>
II

-~,

(16)

This criterion attempts to force the calculation to converge geometrically with a rate 1/y. A very small value of ~ will produce a rapidly convergent perturbation expansion. It is also likely, however, that for small values of y so many linearly independent resonant terms will arise that the final Hamiltonian will have no invariants at all. On the other hand, if y is chosen to be too large, the perturbation expansion will converge too slowly to yield useful information on excited states. (Of course, if y is chosen to be too large, the perturbation expansion could diverge.) As a general rule, we find that y should be roughly the size of the perturbation parameter (assuming dimensionless coordinates and a zeroth order Hamiltonian of order unity). This represents the convergence rate one would naively expect if small denominator problems were not present. We find that the convergence criterion usually leads to better results than the absolute criterion [29]. The user can limit the number of resonant terms included in the normal form, Normally, up to N 1 linearly independent resonant terms are eliminated. This is the maximum number consistent with a block diagonal Hamiltonian. 3.2. The block diagonalization routines In addition to the algebraic manipulator, PERTURB contains routines which find linear invariants and diagonalize the Hamiltonian within the blocks formed by the invariants. The block diagonalization can be used either with or without an accompanying perturbative calculation. Thus, pre-existing normal forms can be diagonalized with PERTURB. The block diagonalizer can also be used to do an ordinary diagonalization of an arbitrary polynomial Hamiltonian. When first passed a normal form, the block diagonalizer determines the linear functions of action, if any, which commute with it. This is done by placing all linearly independent angle vectors

LE. Frie4 G.S. Ezra

/ Programfor calculating

vibrational energies

113

method of Jacobi rotations. The diagonalization routine is a transcription into C of an algorithm in ref. [68]. The method is simple and numerically very stable, but about a factor of 3 slower than the best general purpose diagonalization routines. This is not however crucial if the matrix size is small, as is the case with Hamiltonians having a block diagonal form.

partial support of the Alfred P. Sloan Foundation. L.E.f. acknowledges support of the US Army Research Office, through the Mathematical Sciences Institute of Cornell University. References
[1] IC. Percival, Adv. Chem. Phys. 36 (1977) 1. [2] M.V. Berry, in: Chaotic Behavior of Deterministic Systems, eds. I.G. Gerard and R.H.G. Helleman (North-Holland, New York, 1983). [3] N.C. Handy, in: Semiclassical Methods in Molecular Scattering and Spectroscopy, ed. M.S. Child (Reidel, Dordrecht, 1980). [4] [5] [6] W.P. Reinhardt, Adv. Chem. Phys. (in press). G.S. Ezra, C.C. Martens and L.E. Fried, J. Phys. Chem. 91(1987) 3721, and references therein. M. Born, Mechanics of the Atom (Ungar, New York, 1960). [7] A.J. Lichtenberg and M.A. Lieberman, Regular and Stochastic Motion (Springer-Verlag, New York, 1983). [8] 5. Chapman, B.C. Garrett and W.H. Miller, J. Chem. Phys. 64 (1976) 502. [9] R.T. Swimm and J.B. Delos, J. Chem. Phys. 71 (1979)

4. Conclusion PERTURB is a versatile package for calculating vibrational eigenvalues. Multidimensional systems can be treated by classical perturbation theory, algebraic quantization and generalized algebraic quantization. By writing the program in C, we have been able to implement a combination of efficient memory use and sophisticated sorting algorithms that would be difficult to achieve in Fortran, The program has been applied successfully to a variety of systems [25,29]. Work is currently underway to investigate the application of PERTURB to larger and more anharmonic systems. The incorporation of Morse oscillators as zeroth-order modes and the inclusion of rotational degrees of freedom are projects for the future. The computation of wavefunctions is currently possible. Despite the emphasis given here to the calculation of accurate energy eigenvalues for multidimensional systems, our motivation for developing efficient perturbative methods transcends the purely computational. Generalized AQ offers a formalism within which both classical and quantum perturbation theory can be studied on the same footing. The close relationship between the theories is thereby illuminated, and It dependent effects can be studied in a controlled fashion.

1706. [10] G.C. Schatz and T. Mulloney, J. Phys. Chem. 83 (1979) 989. [11] C. Jaff and W.P. Reinhardt, J. Phys. Chem. 77 (1982) 5191. [12] R. Ramaswamy, P. Siders and R.A. Marcus, J. Chem. Phys. 73 (1980) 5400. [13] T. Uzer, D.W. Noid and R.A. Marcus, J. Chem. Phys. 79 (1983) 4412. [14] E.L. Sibert III, iT. Hynes and W.P. Reinhardt, J. Chem. Phys.Sibert III, J. Chem. Phys. 83 (1985) 5092. E.L. 77 (1982) 3595. [15] E.L. Sibert, Preprint. [16] D. Farrelly and T. Uzer, J. Chem. Phys. 85 (1986) 308. [17] J.A. Sanders, J. Chem. Phys. 74 (1981) 5733. [18] M. Robnik, J. Phys. A 17 (1984) 109. [19] T. Uzer and R.A. Marcus, J. Chem. Phys. 81(1984) 5013. [20] S. Saini, Chem. Phys. Lett. 125 (1986) 194. [21] M.K. Au, J. Math. Phys. 26 (1985) 10. [22] B. Eckhardt, J. Phys. A 19 (1986) 2961. [23] M. Robnik, J. Phys. A 19 (1986) L841. [241 EL. Sibert, Chem. Phys. Lett. 128 (1986) 404. [25] L.E. Fried and G.S. Ezra, J. Chem. Phys. 86 (1987) 6270. [26] S.E. Koonin and R.D. Williams, Nuci. Phys. A 391 (1982) 71. [27] W.R. Wood and M.K. Au, J. Phys. A 20 (1987) 351. [28] RB. Shirts and W.P. Reinhardt, J. Chem. Phys. 77 (1982) 5204. [29] A. Einstein, Ver. Deut. Phys. Ges. 19 92 (1988) 3144. [30] L.E. Fried and G.S. Ezra, J. Phys. Chem. (1917) 82; An English translation by C. Jaff is available as JILA Report no. 116, Univ. Colorado, Boulder.

Acknowledgements

This work was supported by NSF Grant CHE8410685. The program described here was developed in part on the Cornell National Supercomputer Facility, which is supported in part by the NSF and IBM Corporation. G.S.E. acknowledges

114 [31] [32] [33] [34] [35] [36] [37] [38] [39] [40]

LE. Frie4 G.S. Ezra

/ Program for calculating

vibrational energies

M.L. Brillouin, J. Phys. 7 (1926) 353. J.B. Keller, Ann. Phys. 4 (1958) 180. J.E. Moyal, Proc. Camb. Phil. Soc. 45 (1949) 99. W.P. Reinhardt, J. Phys. Chem. 86 (1982) 2158. M.J. Davis, J. Phys. Chem. 92 (1988) 3124. C.M. Bender, Intern. J. Quantum Chem. 21(1982) 93. T.T. Wu, Intern. J. Quantum Chem. 21(1982)105. B. Simon, Intern. J. Quantum Chem. 21 (1982) 3. T. Banks and C.M. Bender, J. Math. Phys. 13 (1972) 1320. G.A. Baker Jr., Essentials of Pad Approximants (Academic Press, New York, 1975). [41] Pad approxiniants can also mimic branch cuts with a line of poles. [42] N is the number of degrees of freedom. [43] H. Weyl, The Theory of Groups and Quantum Mechanics (Dover, New York, 1950). [44] S.R. de Groot and L.G. Suttorp, Foundations of Electrodynamics (North-Holland, Amsterdam, 1972). [45] R. Abraham and J.E. Marsden, Foundations of Mochanics (Benjamin/Cummings, Reading, 1978). [46] N.L. Balazs and B.K. Jennings, Phys. Rep. 104 (1984) 347. [471M. Hillery, R.F. OConnell, MO. Scully and E.P. Wigner, Phys. Rep. 106 (1984) 121. [48] C.C. Martens and G.S. Ezra, in: Tunneling, eds. J. Jortner and B. Pullman (Reidel, New York, 1986). [49] S.S. Mizrahi, Physica A 127 (1984) 241. [50] D. Papou~ek and M.R. Aliev, Molecular VibrationalRotational Spectra (Elsevier/North-Holland, New York, 1982).

[51] L.E. Fried and G.S. Ezra, J. Comput. Chem. 8 (1987) 397. [52] A.J. Dragt and J.M. Finn, J. Math. Phys. 17 (1976) 2215. [53] AJ. Dragt and J.M. Finn, J. Math. Phys. 20 (1979) 2649. [54] J.R. Cary, Phys. Rep. 79 (1981) 129. [55] G. Hori, Publ. Astron. Soc. Japan 18 (1966) 287. [56] A. Deprit, Celest. Mech. 1(1969)12. [57] J. Henrard, Celest. Mech. 3 (1970) 107. [58] R.A. Howland Jr., Celest. Mech. 15 (1977) 327. [59] G.D. Birkhoff, Dynamical Systems, vol. 9A (M.S. Colloqium Publications, New York, 1927). [60] F.G. Gustavson, Astron. J. 71 (1966) 670. [61] R.T. Skodje, F. Borondo and W.P. Reinhardt, J. Chem. Phys. 82 (1985) 4611. [62] A. Voros, Ann. Inst. Henri PoincarC 24 (1976) 3. [63] A. Voros, Ann. Inst. Henri Poincar 26 (1977) 343. [64] The first order term in the expansion of the Moyal bracket corresponds to the classical commutator; in order to obtain corrections to classical perturbation theory, it is necessary to include the third order term in It (the second order term is zero). This third order term is the first correction referred to here. [65] R.W. Kernighan and D.M. Ritchie, The C Programming Language (Prentice-Hall, Englewood Cliffs, 1978). [66] The PERTURB Users Guide is in preparation. [67] R.L. Kruse, Data Structures and Program Design (Prentice-Hall, Englewood Cliffs, 1984). [681 W.H. Press, B.P. Flannery, S.A. Teukolsky and W.T. Vetterling, Numerical Recipes (Cambridge Univ. Press, London, 1986).

You might also like