Features, methods and dependencies
This document provides an overview of QDK/Chemistry’s features, supported methods, and software dependencies.
Supported Methods
Classical Quantum Chemistry Methods
Self-Consistent Field (SCF)
QDK/Chemistry provides access to a variety of robust, high-performance implementations mean-field electronic structure methods that produce optimized molecular orbitals and reference energies. In particular, the following SCF types are supported:
- Hartree-Fock (HF)
Restricted (RHF), Unrestricted (UHF), Restricted Open-Shell (ROHF)
- Density Functional Theory (DFT)
See Self-consistent field (SCF) solver for further details about available SCF methods and implementations.
Implementation Highlights
- Geometric Direct Minimization (GDM)
The QDK SCF Solver implements the GDM algorithm [VanVoorhisHG02] for robust and efficient convergence of challenging SCF systems. This method is particularly helpful for open-shell and small gap systems, which are of high interest in quantum computing applications, yet challenging for many SCF solvers. See the SCF Convergence Algorithms section for further details.
- Stability Analysis and Reoptimization
Challenging SCF problems often converge to local minima that do not represent the true mean-field ground state, which in turn can lead to incorrect and unintuitive results in post-SCF calculations. QDK/Chemistry includes automated Stability analysis [SM91] tools to identify, perturb and reoptimize unstable solutions, helping users obtain physically meaningful reference states for subsequent calculations.
Orbital Localization
The canonical orbitals produced by SCF calculations are typically delocalized over the entire molecule, which can complicate chemical interpretation and slow the convergence of post-SCF correlation methods. QDK/Chemistry provides several classes of orbital transformation techniques to yield specialized representations which accelerate the convergence of correlation methods and enhance chemical insight:
- Optimization-Based Methods
The vast majority of orbital localization methods fall into this category, where a cost function is iteratively minimized to yield localized orbitals [LJ13]. QDK/Chemistry supports, either through our native implementations or via integration with external libraries, several popular choices of cost functions, including: Pipek-Mezey [PM89], Foster-Boys [FB60], and Edmiston-Ruedenberg [ER63].
- Analytical Methods
These methods transform orbitals in a single step through analytical techniques rather than iterative optimization. Prominent examples include natural orbitals [LowdinS56], which diagonalize the one-particle reduced density matrix, and Cholesky localization [ABPSdMK06], which uses Cholesky decomposition of the one particle density matrix for efficient approximate localization. The localization of the “hard-virtual” orbitals in the VVHV localization also falls into this category.
See Orbital localization for further details about available orbital localization methods and implementations.
Implementation Highlights
- Valence Virtual–Hard Virtual (VVHV) Orbital Localization
Localization of molecular orbitals expressed in a near-complete BasisSet is numerically ill-posed and challenging for most iterative methods. QDK/Chemistry includes an implementation of the VVHV separation [SDHG05], which partitions the virtual orbital space into valence-virtual and hard-virtual subspaces for more numerically stable treatments. This produces orbitals that vary smoothly with molecular geometry, which is particularly useful for selecting consistent active spaces along reaction pathways. See the VVHV Algorithm section for further details.
Active Space Selection
Accurate treatment of strongly correlated systems requires identifying which molecular orbitals exhibit significant entanglement character. QDK/Chemistry provides a range of automated and manual approaches to select chemically relevant orbitals for multi-configurational calculations.
The challenge lies in balancing accuracy and computational cost: an ideal active space should include all orbitals with significant entanglement character while remaining as compact as possible. QDK/Chemistry supports several strategies for making this selection:
Automated Approaches
- Entropy-Based Methods
Using concepts from quantum information theory, these methods identify strongly correlated orbitals based on their entanglement with the rest of the system. QDK/Chemistry includes a native implementation of the AutoCAS algorithm [SR19], which leverages single-orbital entropies computed from reduced density matrices to systematically select active spaces (see below for details).
- Occupation-based Methods
Automatic selection based on natural orbital occupation numbers obtained from correlated many-body methods. Orbitals with fractional occupations indicate entanglement and are included in the active space.
- AVAS (Automated Valence Active Space) [SSCK17]
Projects molecular orbitals onto a target atomic orbital basis (e.g., metal 3d orbitals) to systematically identify valence active spaces. This functionality is available through the PySCF Plugin.
Manual Approaches
- Valence selection
User-specified active electrons and orbitals, centered around the HOMO-LUMO gap (Fermi level).
See Active space selection for further details about available methods and implementations.
Implementation Highlights
- AutoCAS
QDK/Chemistry includes a native implementation of the AutoCAS algorithm [SR19], which leverages quantum information concepts to identify strongly correlated orbitals. The method computes single-orbital entropies—measures of how entangled each orbital is with the rest of the system—from the one- and two-electron reduced density matrices of a multi-configurational wavefunction. Orbitals with high entropy are strongly entangled and should be treated explicitly within the active space. QDK/Chemistry’s implementation includes both standard AutoCAS and an enhanced variant (AutoCAS-EOS) for improved robustness. See the AutoCAS Algorithm documentation for further details.
Multi-Configuration Methods
Multi-configuration (MC) methods represent the electronic wavefunction as a linear combination of many Slater determinants, enabling accurate description of static correlation effects. QDK/Chemistry provides access to a hierarchy of MC methods:
Configuration Interaction
- Complete Active Space CI (CASCI)
Exact solution within a defined active space, with core orbitals frozen and virtual orbitals excluded.
- Selected CI (SCI)
Iteratively identifies and includes only the most important configurations, enabling treatment of larger active spaces at the cost of approximation.
Orbital-Optimized Methods
- Multi-Configuration SCF (MCSCF)
Simultaneously optimizes configuration coefficients and orbital shapes for improved accuracy.
See Multi-configuration calculations and Multi-configuration SCF for further details.
Implementation Highlights
- Adaptive Sampling Configuration Interaction (ASCI)
QDK/Chemistry integrates MACIS (Many-body Adaptive Configuration Interaction Solver) [WYTMZdJ23], a high-performance, parallel implementation of the Adaptive Sampling Configuration Interaction (ASCI) algorithm [TFL+20, TLT+16]. ASCI iteratively grows the determinant space by identifying configurations with the largest contributions to the wavefunction, achieving near-CASCI accuracy at a fraction of the cost. This enables treatment of active spaces that would be intractable for conventional CASCI. See the ASCI Algorithm section for details.
Quantum Algorithms
State Preparation
Core to quantum algorithms for chemistry is the ability to efficiently prepare quantum states that approximate the ground or excited states of molecular systems. In QDK/Chemistry, this process is generally viewed as a mapping between a classical representation of the molecular wavefunction (e.g., a Slater determinant or a linear combination thereof, represented by the Wavefunction class) and a circuit that prepares the corresponding quantum state on a quantum computer given a particular qubit encoding (e.g. binary, gray code, etc). QDK/Chemistry provides several state preparation techniques to facilitate this mapping, including:
- Dense Isometry State Preparation
Implementations of general-purpose state preparation algorithms that can prepare arbitrary quantum states, represented in the occupation number formalism, given their amplitudes.
- Sparse Isometry State Preparation
Optimized algorithms for preparing quantum states with a small number of non-zero amplitudes, such as those arising from selected CI methods.
See State preparation for further details about available state preparation methods and implementations.
Implementation Highlights
- GF2+X Sparse Isometry State Preparation
QDK/Chemistry implements an optimized state preparation algorithm for wavefunctions with sparse amplitude structure. The GF2+X method, a modification of the original sparse isometry work in [MIC21], applies GF(2) Gaussian elimination to the binary matrix representation of the quantum state to determine a reduced space representation of the sparse state. This reduced state is then densely encoded via regular isometry [ICK+16] on a smaller number of qubits, and finally scattered to the full qubit space using X and CNOT gates. By focusing only on non-zero amplitudes, this approach substantially reduces circuit depth and gate count compared to dense isometry methods, making it especially suitable for selected CI and other sparse wavefunctions.
Hamiltonian Encoding
Classical quantum chemistry methods are generally expressed in the language of second quantization, using fermionic creation and annihilation operators to describe interactions between electron configurations. However, quantum computers operate on qubits, necessitating a transformation from fermionic operators to qubit operators. QDK/Chemistry implements several standard mapping techniques to achieve this:
- Jordan-Wigner Transformation [JW28]
A straightforward mapping that encodes fermionic operators directly onto qubits, preserving the algebraic structure of the operators.
- Bravyi-Kitaev Transformation [BK02]
A more efficient mapping that reduces the number of qubits required for certain operations by balancing locality and parity information.
- Parity Transformation [SRL12]
An alternative mapping that encodes fermionic operators based on the parity of occupation numbers, offering advantages in specific contexts.
Fermion-to-qubit mapping is currently supported through QDK/Chemistry’s Qiskit plugin; see the Qubit mapping for further details. QDK/Chemistry also provides Pauli operator arithmetic for building and manipulating qubit Hamiltonians using natural mathematical notation.
Observable Sampling
After preparing a quantum state representing the molecular system, a common next step is to compute physical observables, such as the ground state energy. One canonical choice for this task is to estimate the expectation value through statistical sampling of measurements performed on the quantum state relative to the operator of interest. This generally involves the following steps:
Operator Decomposition: The target operator (e.g., the electronic Hamiltonian) is decomposed into a sum of measurable components, often expressed in terms of Pauli operators. This decomposition facilitates efficient measurement on quantum hardware. Starting from a qubit-mapped Hamiltonian, this task generally involves grouping Pauli terms into sets of mutually commuting operators that can be measured simultaneously. QDK/Chemistry provides utilities to perform, for example, Pauli grouping by qubit-wise commutativity through its Qiskit plugin.
Circuit Execution and Measurement: Given the state preparation circuit and the decomposed operator, quantum circuits are executed on quantum hardware or simulators to obtain measurement outcomes.
Classical Post-Processing: The measurement results are processed classically to estimate the expectation value of the operator.
See Energy estimation for further details about available observable sampling methods and implementations.
Community Open Source Software Dependencies
QDK/Chemistry builds upon a foundation of well-established open source libraries developed by the quantum chemistry community. For a complete list of software dependencies, see the Installation Guide.
Note
If you use QDK/Chemistry in published work, please cite the underlying libraries as described below to acknowledge the community’s contributions.
Basis Sets and Effective Core Potentials
- Basis Set Exchange (BSE) [Fel96, PAD+19, SDE+07]
A comprehensive repository of standardized basis sets for quantum chemistry calculations. All of the basis sets and effective core potentials distributed with QDK/Chemistry are sourced from the BSE. If you publish results obtained with default basis sets provided with QDK/Chemistry, in addition to the reference for the basis set itself, please cite the BSE. For guidance on citing specific basis sets and effective core potentials, see the Basis Set Exchange Website.
- Libecpint [SH17, SH21]
Provides efficient evaluation of effective core potential (ECP) integrals over Gaussian-type orbitals. QDK/Chemistry’s native SCF solver relies on Libecpint for ECP integral computation. If you publish results obtained with any of the native quantum chemistry modules within QDK/Chemistry that utilize ECPs, please cite Libecpint. The Libecpint repository includes additional guidance on citing Libecpint.
Integral Evaluation
- Libint [Val24]
Provides efficient evaluation of molecular integrals over Gaussian-type orbitals, including one- and two-electron repulsion integrals essential for all electronic structure methods. QDK/Chemistry’s native SCF solver, orbital localization, and post-SCF modules rely on Libint for integral computation. If you publish results obtained with any of the native quantum chemistry modules within QDK/Chemistry, please cite Libint. The Libint repository includes additional guidance on citing Libint.
- GauXC [KLL+24, PWYS+18, WYAP+23, WYBdeJong+21, WYdeJongvanDamY20]
Handles numerical integration on atom-centered grids, which is required for evaluating exchange-correlation contributions in density functional theory. GauXC supports both CPU and GPU acceleration, enabling scalable DFT calculations on modern hardware. If you publish DFT results obtained with QDK/Chemistry, please cite GauXC. See the GauXC repository for guidance on citing GauXC.
Exchange-Correlation Functionals
- Libxc [LJ13]
A comprehensive library providing implementations of over 600 exchange-correlation functionals spanning LDA, GGA, meta-GGA, and hybrid rungs of Jacob’s ladder. GauXC depends on Libxc for functional evaluation. If you publish DFT results obtained with QDK/Chemistry, in addition to the reference for the functional used, please cite Libxc. For guidance on citing specific functionals, see the Libxc Website.
Multi-Configuration Solvers
Plugins
QDK/Chemistry is distributed with the following officially supported plugins that extend its capabilities by integrating with external quantum chemistry and quantum algorithms frameworks. If implementations of QDK/Chemistry interfaces using these plugins are used in your published work, please cite both QDK/Chemistry and the underlying package as described in the respective plugin documentation.
- PySCF Plugin
Integrates QDK/Chemistry with the PySCF quantum chemistry package, providing access to its extensive suite of electronic structure methods and tools. See the PySCF documentation for guidance on citing PySCF.
- Qiskit Plugin
Enables interoperability between QDK/Chemistry and the Qiskit quantum computing framework See the Qiskit documentation for guidance on citing Qiskit.
See Also
Quickstart - Get started with QDK/Chemistry
In-depth user guide - Comprehensive documentation