+ Summary
+ The electronic structure problem is one of the main problems in
+ modern theoretical chemistry. While there are many already-established
+ methods both for the problem itself and its applications like
+ semi-classical or quantum dynamics, it remains a computationally
+ demanding task, effectively limiting the size of solved problems.
+ Fortunately, it seems, that offloading some parts of the computation
+ to Quantum Processing Units (QPUs) may offer
+ significant speed-up, often referred to as quantum
+ supremacy or quantum advantage. Together
+ with the potential advantage, this approach simultaneously presents
+ several problems, most notably naturally occurring quantum
+ decoherence, hereafter denoted as quantum noise and
+ lack of large-scale quantum computers, making it necessary to focus on
+ Noisy-Intermediate Scale Quantum computers when developing algorithms
+ aspiring to near-term applications. SA-OO-VQE package aims to answer
+ both these problems with its hybrid quantum-classical conception based
+ on a typical Variational Quantum Eigensolver approach, as only a part
+ of the algorithm utilizes offload to QPUs and the rest is performed on
+ a classical computer, thus partially avoiding both quantum noise and
+ the lack of quantum bits (qubits). The SA-OO-VQE has
+ the ability to treat degenerate (or quasi-degenerate) states on the
+ same footing, thus avoiding known numerical optimization problems
+ arising in state-specific approaches around avoided crossings or
+ conical intersections.
+
+
+ Statement of need
+ Recently, quantum chemistry is one of the main areas-of-interest in
+ Quantum Computing
+ (QC)(Bauer
+ et al., 2020;
+ McArdle
+ et al., 2020;
+ Reiher
+ et al., 2017). That said, in many real-life applications, it is
+ necessary to treat both the ground and excited states accurately and
+ on an equal footing. The problem is magnified when the
+ Born-Oppenheimer approximation breaks down due to a strong coupling
+ among degenerate or quasi-degenerate states, most notably the ground
+ and the first excited state, for which the accurate description
+ requires (computationally demanding) multi-configurational approaches.
+ A good example of such a case is a photoisomerization mechanism of the
+ rhodopsin chromophore, which progresses from the initial
+ photoexcitation of the cis isomer over the relaxation
+ in the first excited state towards a conical intersection, where the
+ population is transferred back to the ground state of the
+ trans isomer. To describe such a process thoroughly,
+ one must compute not only relevant potential energy surfaces
+ (PESs), but also their gradients w.r.t. nuclear
+ displacements, utilized further in molecular dynamics simulations.
+ Finally, a description of the conical intersection can be done by
+ obtaining non-adiabatic couplings (NACs).
+ Formally, the approaches describing PES topology, topography, and
+ non-adiabatic couplings require Hamiltonian diagonalization, which
+ represents the most significant bottleneck. Considering classical
+ methods like State-Averaged Multi-Configurational Self-Consistent
+ Field(Helgaker
+ et al., 2013), only small complete active spaces have to be
+ used for the large computational overhead inherently present. However,
+ such an approximation brings missing dynamical correlation treatment,
+ inducing the need to recover it ex-post, usually via some of the
+ quasi-degenerate perturbation
+ techniques(Granovsky,
+ 2011;
+ Park,
+ 2019). On the other hand, QC brings the possibility of large
+ complete active spaces back, thus retaining a substantial part of the
+ dynamical correlation. Moreover, the dynamical correlation can be also
+ retrieved a posteriori utilizing QPUs only at the expense of more
+ measurements, with no additional demands on hardware
+ infrastructure(Takeshita
+ et al., 2020).
+ State-Averaged Orbital-Optimization Variational Quantum
+ Eigensolver (SA-OO-VQE) method addresses the above-mentioned
+ problems and provides a way to compute both PES gradients and NACs
+ analytically(Omiya
+ et al., 2022;
+ Yalouz
+ et al., 2021,
+ 2022).
+ Authored by Yalouz et al., there is an exemplary
+ implementation focusing on the pedagogical aspect and relying on
+ matrix-vector multiplications rather than actual measurements,
+ avoiding the utilization of real QC infrastructure. Our implementation
+ differs in a way that it aims to be a production-ready solver
+ utilizing both QCs and classical computing infrastructure efficiently,
+ being able to run with different backgrounds, utilizing the Qiskit
+ toolbox interface. The whole code is written in Python3, with YAML
+ scripts enabling its fast installation and usage.
+ The results are illustrated on the molecule of formaldimine, which
+ can be seen in
+ [fig:formaldimine].
+ Their comparison with the ones obtained via
+ Molcas(Li
+ Manni et al., 2023) implementation of Complete Active-Space
+ Self-Consistent
+ Field(Malmqvist
+ & Roos, 1989) are shown in
+ [fig:energies],[fig:grad0]
+ and [fig:nac]. All the
+ computations were computed with 3 active orbitals containing 4
+ electrons and with STO-3G basis set.
+
+ Molecule of formaldimine being described with bending
+ and dihedral angles denoted
+
+ α
+ and
+
+ ϕ,
+ respectively.
+
+
+
+
+ Comparison of potential energy depending on bending
+ angle
+
+ α
+ in formaldimine molecule with dihedral angle
+
+
+ ϕ=90∘.
+
+
+
+
+ Comparison of ground-state gradients with bending angle
+
+
+ α=130∘
+ and dihedral angle
+
+ ϕ=90∘
+ in formaldimine molecule.
+
+
+
+
+ Comparison of total non-adiabatic couplings on bending
+ angle
+
+ α=130∘
+ and dihedral angle
+
+ ϕ=90∘
+ in formaldimine molecule.
+
+
+
+
+
+ Getting Started
+ The package is prepared with a priority of being very simple to use
+ and the concise documentation can be found at
+ sa-oo-vqe-qiskit.rtfd.io.
+ To simplify the installation part, we recommend utilizing the Conda
+ management system2 together with
+ the prepared environment.yml file.
+ At first, users should clone the repository.
+ git clone git@gitlab.com:MartinBeseda/sa-oo-vqe-qiskit.git
+ And install all the dependencies.
+ $ cd sa-oo-vqe-qiskit
+$ conda env create -f environment.yml
+$ conda activate saoovqe-env
+$ python3 -m pip install .
+ These commands run in a terminal that will download and install all
+ the necessary packages. The package availability can be tested
+ afterward simply by importing the package and looking at its
+ version.
+ $ python3
+
+>>> import saoovqe
+>>> saoovqe.__version__
+ Finally, usage examples are located both in the
+ examples folder and in the documentation.
+
+