Skip to content

prateekvaish/est

est

⚠️: This is research-level code implementing the methods described in "Reducing the Cost of Unitary Coupled Cluster via Active Space Partitioning". It is intended for academic and scientific exploration.

Overview

A Python library for quantum chemistry calculations implementing electronic structure methods, with a focus on Unitary Coupled Cluster (UCC) theory and active space partitioning. This package implements an active space UCC/MP2 approach combining UCC within a chosen active space, while handling external excitations at the MP2 level. Please note: the current implementation is quite slow and intended for prototyping, benchmarking, and method development rather than high-throughput calculations.

Key Features

Active Space UCC/MP2 Framework

  • Interacting Variant (i-UCC/MP2): Couples internal and external amplitudes for higher accuracy in weakly and moderately correlated systems.
  • Composite Variant (c-UCC/MP2): Sums separate internal and external contributions.
  • Orbital Flexibility: Supports calculations using both Canonical Orbitals (COs) and MP2 Frozen Natural Orbitals (FNOs).
  • Note: Benchmarks indicate that COs provide superior stability in the interacting framework by avoiding non-diagonal Fock blocks in the external space.

Core Methods

  • UCCSD(4): Unitary Coupled Cluster Singles and Doubles truncated at the fourth order of MBPT.
  • UCCSD[n]: Unitary Coupled Cluster Singles and Doubles truncated at different BCH commutator orders.
  • CCSD: Standard Coupled Cluster Singles and Doubles implementation.
  • Convergence Acceleration: Includes DIIS (Direct Inversion in Iterative Subspace) to ensure robust iterative solutions.

Installation

git clone https://github.com/prateekvaish/est.git
cd est
pip install -e .

Dependencies

  • Python >= 3.9
  • NumPy
  • PySCF (for integral generation and mean-field references)

Quick Start

Basic Usage

import numpy as np
from pyscf import gto, scf
from est.core.integrals import get_integrals
from est.methods.uccsd4 import UCCSD4

# Set up a molecule
mol = gto.Mole()
mol.atom = 'H 0 0 0; F 0 0 1.1'
mol.basis = 'cc-pvdz'
mol.build()

# Run Hartree-Fock
mf = scf.RHF(mol)
mf.kernel()

# Get integrals
f, g = get_integrals(mf)

# Run UCCSD4 with DIIS convergence acceleration
uccsd = UCCSD4(f, g, mol.nelectron,
               max_iter=100,
               conv_tol=1e-8,
               diis_space=6,
               diis_start_cycle=4)
uccsd.kernel()
uccsd_energy = uccsd.get_energy()

License

This project is licensed under the BSD-3 License - see the LICENSE.md file for details.

Citation

If you use this software in your research, please cite:

@software{est2026,
  title={est for quantum chemistry calculations},
  author={Vaish, Prateek},
  year={2026},
  url={https://github.com/prateekvaish/est.git}
}

Acknowledgments

  • Funding: NSF CTMC CAREER Award 2046744.
  • Infrastructure: Center for Computation and Visualization, Brown University.
  • Built on top of PySCF for molecular calculations
  • Algebraic Derivations: Generated using pdaggerq and Wick&d.

About

No description, website, or topics provided.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages