Full Configuration Interaction Quantum Monte Carlo (simple)

Find the ground state of a system via FCIQMC [Booth09].

simple_fciqmc {
    sys = system,
    sparse = true/false,
    qmc = { ... },
    restart = { ... },
    reference = { ... },
    qmc_state = qmc_state,
}
Returns:
a qmc_state object.

simple_fciqmc performs a full configuration interaction quantum Monte Carlo (FCIQMC) calculation on a system using an explicitly calculated and stored Hamiltonian matrix.

Warning

This is an extremely simple implementation of FCIQMC. In particular it makes no effort to be efficient (in time or memory), is not parallelised, and does not include any advanced features. It is, however, useful for educational purposes and (occasionally) hacking experimental ideas quickly. Do not use for production calculations.

Options

sys

type: system object.

Required.

The system on which to perform the calculation. Must be created via a system function.

sparse

type: boolean.

Optional. Default: true.

Store the Hamiltonian matrix in a sparse matrix format.

qmc

type: lua table.

Required.

Further options that are common to all implemented QMC algorithms. Note that options relating to memory usage, excitation generation and real amplitudes are not implemented for simple_fciqmc. See qmc options.

restart

type: lua table.

Optional.

Further options to control restarting the calculation from a previous calculation. See restart options.

reference

type: lua table.

Optional.

Further options to select the reference state used. See reference options.

qmc_state

type: qmc_state object.

Optional.

Output of a previous calculation to resume.

Warning

The qmc_state object must have been returned by a previous simple FCIQMC calculation. The validity of this is not checked. The system must also be unchanged.

Warning

This destroys the qmc_state object and so it cannot be re-used in subsequent QMC calculations.