Last Updated: Sept. 2, 2025
CoQuí, Correlated Quantum ínterface, is a software project designed for ab initio electronic structure beyond density functional theory (DFT). Starting with a single-particle basis set and a mean-field solution, typically DFT or Hartree-Fock, CoQui employs tensor hypercontraction (THC) decomposition to efficiently process two-electron operators. This sophisticated approach enables CoQui to achieve exceptionally low-scaling algorithms in subsequent many-body calculations.
CoQui utilizes distributed linear algebra to enable high-performance ab-initio calculations applicable to:
- Both k-point (periodic) and molecular systems
- Generic single-particle basis sets, such as Kohn-Sham (KS) orbitals, Gaussian-type orbitals, and their mixtures.
Currently, CoQui interfaces with the following backends
(see examples/dft_converter for input preparation):
Below are some key features of CoQui. For more detailed examples,
please visit our examples page.
- THC representation for two-electron Coulomb integrals [ref1, ref2].
- Cholesky decomposition for two-electron Coulomb integrals.
- Hartree-Fock [ref]
- RPA correlation energy [ref]
- GW approximation [ref]
- Second-order exchange (SOX) diagram [ref]
- Self-consistency with quasiparticle approximation
- Self-consistency with full frequency dependence
- Maximally localized Wannier functions via Wannier90 interface
- Constrained RPA to calculate screened interactions [ref]
- Local effective low-energy Hamiltonian for further correlated calculations [ref]
- C++ compiler that supports at least C++20.
- CMake >= 3.2.0.
- MPI Library: openmpi >= 4.
- HDF5 >= 1.8.2 for checkpoint file I/O.
- BLAS Library: OpenBLAS or Intel MKL.
- LAPACK Library: OpenBLAS or Intel MKL.
- SLATE Library for distributed linear algebra.
- Boost >= 1.68.0
- FFTW >= 3.2
CoQui uses CMake to configure the build process. Follow
the instructions below step-by-step, and replace the placeholders in
square brackets ([]) with your local settings.
# Step 1: Clone the git repository of CoQui
git clone https://github.com/AbInitioQHub/coqui.git coqui.src
# Step 2: Create working directory for CMake to build in
mkdir -p coqui.build && cd coqui.build
# Step 3: Configure with CMake
# Replace `[YOUR_INSTALL_PREFIX]` with the directory where you want CoQui installed.
# Replace `[NCORES]` with the number of cores you want to use for the test processes.
# Replace `[SLATE_INSTALL_PATH]` with your SLATE installation path.
# Add `COQUI_PYTHON_SUPPORT=ON
export slate_ROOT=[SLATE_INSTALL_PATH]
cmake \
-DCMAKE_INSTALL_PREFIX=[YOUR_INSTALL_PREFIX] \
-DCTEST_NPROC=[NCORES] \
-DCOQUI_PYTHON_SUPPORT=ON \ # Optional: enable Python bindings
../coqui.src
# Step 4: Build, test and install
# Replace `[NCORES_MAKE] with the number of cores you want to use for the build processes.
# The ctests will be executed in parallel using `[NCORES]` processors.
make -j[NCORES_MAKE] && ctest && make install
# Verify: the 'coqui' executable should be in [YOUR_INSTALL_PREFIX]/bin
ls -l [YOUR_INSTALL_PREFIX]/bin/coqui
# Step 5: Set CoQui environment
# You would need to source this in every new shell, or add
# this line to your ~/.bashrc or ~/.zshrc to make it persistent.
source [YOUR_INSTALL_PREFIX]/share/coqui/coqui_env.sh- Quick start: See the step-by-step notebooks in the coqui tutorial.
- Reference inputs: Browse runnable cases in examples.
If you use CoQui in your research, please consider supporting our developers
by citing the following papers:
[1] C.-N. Yeh, M. Morales, Low-Scaling Algorithm for the Random Phase Approximation Using Tensor Hypercontraction with k-point Sampling, J. Chem. Theory Comput. 19, 18, 6197–6207 (2023).
[2] C.-N. Yeh, M. Morales, Low-Scaling Algorithms for GW and Constrained Random Phase Approximation Using Symmetry-Adapted Interpolative Separable Density Fitting, J. Chem. Theory Comput. 20, 8, 3184–3198 (2024).