Multireference perturbation calculations are performed by the MRCI program as a special case. For RS2 (CASPT2,RASPT2) only matrix elements over a one-electron operator need to be computed, and therefore the computational effort is much smaller than for a corresponding MRCI. For RS3 (CASPT3) the energy expectation value for the first-order wavefunction must be computed and the computational effort is about the same as for one MRCI iteration. The RS2 and RS3 programs use the same configuration spaces as the MRCI, i.e., only the doubly external configurations are internally contracted.

A new version of the program has been implemented in which
also subspaces of the singly external and internal configuration spaces are internally
contracted (see reference given above). This program, which is called using
the keyword `RS2C`, is more efficient than `RS2`, in particular
for large molecules with many closed-shell (inactive) orbitals. It is recommended
to use this program for normal applications of second-order multireference
perturbation theory (CASPT2, RASPT2). Note that it gives slightly different
results than `RS2` due to the different contraction scheme. It should also
be noted that neither `RS2` or `RS2C` are identical with the CASPT2
of Roos et al. [J. Chem. Phys. **96**, 1218 (1992)],
since certain configuration subspaces are left uncontracted.
However, the differences are normally very small.
The last point that should be mentioned is that the calculation of
CASPT2/RASPT2 density matrices (and therefore molecular properties)
is presently possible only with the RS2 command and *not* with RS2C.

The results of multireference perturbation theory may be sensitive to the choice of the zeroth-order
Hamiltonian. This dependence is more pronounced in second-order than in third-order.
Several options are available, which will be described in the following
sections. It may also happen that
in the basis of the
configuration state functions becomes (nearly) singular. This is known as "intruder state problem"
and can cause convergence problems or lead to a blow-up of the wavefunction.
Often, such problems can be eliminated by including more orbitals into the reference
wavefunction, but of course this leads to an increase of the CPU time. The use of
modified Fock operators (see below) or
level shifts, as proposed by Roos and Andersson [Chem. Phys. Lett. **245**, 215 (1995)]
may also be helpful. Presently, only "real" level shifts have been implemented.

With no further input cards, the wavefunction definition (core, closed, and
active orbital spaces, symmetry) corresponds to the one used in the most
recently done SCF or MCSCF calculation. By default, a CASSCF reference space
is generated. Other choices can be made using the `OCC`, `CORE`, `CLOSED`, `WF`, `SELECT`,
`CON`, and `RESTRICT` cards, as described for the `CI` program.
The orbitals are taken from the corresponding SCF or
MCSCF calculation unless an `ORBITAL` directive is given.

For a CASPT2 calculation, the zeroth-order Hamiltonian can be brought to a block-diagonal form
when (pseudo)canonical orbitals are used. This leads to fastest convergence.
It is therefore recommended that in the preceding `MULTI` calculation the orbitals are
saved using the `CANONICAL` directive (note that the default is `NATORB`).

Most options for MRCI calculations (like `STATE`, `REFSTATE` etc.) apply also for RS2(C) and RS3
and are not described here again. Some additional options which specific for CASPT2/3 and are described below.

molpro@molpro.net 2019-03-20