Hartree–Fock Theory
Perhaps the most important quantity in quantum chemistry simulation is the ground state, which is the minimum energy eigenvector of the Hamiltonian matrix. This is because for most molecules at room temperature quantities such as reaction rates are dominated by free energy differences between quantum states that describe the beginning and end of a step in a reaction pathway and at room temperature such intermediate state are usually ground states. While the ground state is typically too hard to learn (even with a quantum computer) because it is a distribution over an exponentially large number of configurations. Quantities such as ground state energy can be learned. For example, if $\ket{\psi}$ is any pure quantum state then
$$ E = \bra{ \psi } \hat{H} \ket{\psi} $$
gives the mean energy that the system has in that state. The ground state then is the state that gives the smallest such value. As a result, choosing a state that is as close as possible to the true ground state is vitally important for estimating the energy either directly (as is done in variational eigensolvers) or through phase estimation.
Hartree–Fock theory gives a simple way to construct the initial state for quantum systems. It yields a single Slater-determinant approximation to the ground state of a quantum system. To that end, it finds a rotation within Fock-space that minimizes the ground state energy. In particular, for a system of $N$ electrons the method performs the rotation
$$ \prod_{j=0}^{N-1} a^\dagger_j \ket{0} \mapsto \prod_{j=0}^{N-1} e^{u} a^\dagger_j e^{-u} \ket{0}\defeq\prod_{j=0}^{N-1} \widetilde{a}^\dagger_j \ket{0}, $$
with an anti-Hermitian (for example, $u= -u^\dagger$) matrix $u = \sum_{pq} u_{pq} a^\dagger_p a_q$. It should be noted that the matrix $u$ represents the orbital rotations and $\widetilde{a}^\dagger_j$ and $\widetilde{a}_j$ represent creation and annihilation operators for electrons occupying Hartree–Fock molecular spin-orbitals.
The matrix $u$ is then optimized to minimize the expected energy $\bra{0} \prod_{j=0}^{N-1} \widetilde{a}_j H \prod_{k=0}^{N-1} \widetilde{a}^\dagger_k\ket{0}$.
While such optimization problems may be generically hard, in practice the Hartree–Fock algorithm tends to rapidly converge to a near-optimal solution to the optimization problem, especially for closed-shell molecules in the equilibrium geometries. We may specify these states as an instance of the FermionWavefunction object. For instance, the state $a^\dagger_{1}a^\dagger_{2}a^\dagger_{6}\ket{0}$ is instantiated in the chemistry library as follows.
// The code snippets in this section require the following namespaces.
// Make sure to include these at the top of your file or namespace.
using Microsoft.Quantum.Chemistry;
using Microsoft.Quantum.Chemistry.OrbitalIntegrals;
using Microsoft.Quantum.Chemistry.Fermion;
// Create a list of integer indices of the creation operators
var indices = new[] { 1, 2, 6 };
// Convert the list of indices to a `FermionWavefunction` object.
// In this case, the indices are integers, so we use the `int`
// type specialization.
var wavefunction = new FermionWavefunction<int>(indices);
It is also possible to index wave functions with SpinOrbital indices, and then convert these indices to integers as follows.
// Create a list of spin orbital indices of the creation operators
var indices = new[] { (0, Spin.d), (1,Spin.u), (3, Spin.u) };
// Convert the list of indices to a `FermionWavefunction` object.
var wavefunctionSpinOrbital = new FermionWavefunction<SpinOrbital>(indices.ToSpinOrbitals());
// Convert a wavefunction indexed by spin orbitals to
// one indexed by integers
var wavefunctionInt = wavefunctionSpinOrbital.ToIndexing(IndexConvention.UpDown);
The most striking feature about Hartree–Fock theory is that it yields a quantum state that has no entanglement between the electrons. This means that it often provides a suitable qualitative description of properties of molecular systems.
The Hartree-Fock state may also be reconstructed from a FermionHamiltonian as follows.
// We initialize a fermion Hamiltonian.
var fermionHamiltonian = new FermionHamiltonian();
// Create a Hartree-Fock state from the Hamiltonian
// with, say, `4` occupied spin orbitals.
var wavefunction = fermionHamiltonian.CreateHartreeFockState(nElectrons: 4);
However, obtaining accurate results, especially for strongly correlated systems, necessitate quantum states that go beyond Hartree–Fock theory.
Povratne informacije
Pošalјite i prikažite povratne informacije za