Sampling excited states

Sampling excited states

As well as sampling the ground state, NECI can be used to estimate excited-state properties using an orthogonalisation procedure. Specifically, by performing FCIQMC simulations simultaneously, the lowest energy states can be sampled.

To do this, one must use the mneci compilation. Using dneci is not sufficient.

To specify how many states are to be sampled, one should use the system-replicas option in the System block of the input file.

Then, the orthogonalise-replicas option should be included in the Calc section of the input file. This will tell NECI to orthogonalise the FCIQMC wave functions against each other. States representing high-energy wave functions will be orthogonalised against those representing low-energy wave functions. This prevents higher-energy states being projected to the ground state, and instead allows excited states to be converged upon.

Also, one must tell NECI how to initialise each FCIQMC wave function. It is a bad idea to start from single determinants, as many of these will be poor estimates to the desired excited states, and so convergence will be slow. Instead, one should start from trial estimates to the desired excited states. These trial states are generated by calculating the lowest-energy states within a subspace. Thus, one must simply tell NECI what subspace to use. The options available are the same as for semi-stochastic and trial spaces (see above).

For example, if one wants to initialise from the lowest-energy CISD states, one should use the doubles-init option in the Calc block. If one wants to start from the lowest-energy states in a CAS space, you should put cas-init 10 10 in the Calc block.

Also, single-determinant energy estimators can be give poor results for excited states. Instead, trial wave function-based estimators should be used. This should be done exactly as for the ground state – see above for more details on this. For example, to use CISD wave functions in the trial energy estimators, include both the trial-wavefunction and doubles-trial options in the Calc block of the input file.

For some example excited-state calculations with NECI, see the test_suite/mneci/excited_state directory and the tests therein.