  A procedure for calculation of rotation-vibration states of medium sized
molecules is presented. It combines the advantages of variational calculations
and perturbation theory. The vibrational problem is solved by diagonalizing a
Hamiltonian matrix, which is partitioned into two sub-blocks. The first,
smaller sub-block includes matrix elements with the largest contribution to the
energy levels targeted in the calculations. The second, larger sub-block
comprises those basis states which have little effect on these energy levels.
Numerical perturbation theory, implemented as a Jacobi rotation, is used to
compute the contributions from the matrix elements of the second sub-block.
Only the first sub-block needs to be stored in memory and diagonalized.
Calculations of the vibrational-rotational energy levels also employ a
partitioning of the Hamiltonian matrix into sub-blocks, each of which
corresponds either to a single vibrational state or a set of resonating
vibrational states, with all associated rotational levels. Physically, this
partitioning is efficient when the Coriolis coupling between different
vibrational states is small. Numerical perturbation theory is used to include
the cross-contributions from different vibrational states. Separate individual
sub-blocks are then diagonalized, replacing the diagonalization of a large
Hamiltonian matrix with a number of small matrix diagonalizations. Numerical
examples show that the proposed hybrid variational-perturbation method greatly
speeds up the variational procedure without significant loss of precision for
both vibrational-rotational energy levels and transition intensities. The
hybrid scheme can be used for accurate nuclear motion calculations on molecules
with up to 15 atoms on currently available computers.
