Skip to content

lode-org/ChemGP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

244 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CI Documentation

Gaussian Process accelerated optimization for computational chemistry. ChemGP provides GP surrogate models for energy surface exploration, reducing expensive oracle (electronic structure) evaluations by 3-22x.

Paper: R. Goswami, "Bayesian Optimization with Gaussian Processes to Accelerate Stationary Point Searches," arXiv:2603.10992, Mar. 2026. doi:10.48550/arXiv.2603.10992

Two kernel types are provided: MolInvDistSE for molecular systems (operates on inverse interatomic distances, providing rotational and translational invariance) and CartesianSE for arbitrary smooth surfaces (operates directly on coordinates).

Methods

  • Minimization: GP-guided local optimization with FPS subset selection, EMD trust regions, and LCB exploration
  • Dimer: GP-accelerated saddle point search with L-BFGS translation
  • NEB: All-image (AIE) and one-image (OIE) evaluation with per-bead FPS and RFF approximation
  • OTGPD: Adaptive threshold GP dimer with HOD training data management

All methods share four mechanisms: FPS subset selection, EMD/Euclidean trust regions, RFF approximation for scalable prediction, and method-adapted LCB exploration. The PredModel enum dispatches between exact GP and RFF uniformly across all optimizers.

Benchmark Results

Surface Method Oracle calls Speedup
Muller-Brown GP minimize 7 4.9x vs direct GD
LEPS GP minimize 9 22x vs direct GD
LEPS GP-Dimer 13 3.5x vs standard
LEPS OTGPD 13 3.5x vs standard
LEPS GP-NEB AIE 62 2x vs standard
LEPS GP-NEB OIE 49 2.6x vs standard

Building

cargo build --release
cargo test -p chemgp-core

Examples

# 2D analytical surface (CartesianSE kernel)
cargo run --release --example mb_minimize

# Collinear H + H2 reaction (MolInvDistSE kernel)
cargo run --release --example leps_minimize
cargo run --release --example leps_dimer
cargo run --release --example leps_neb

Each writes a .jsonl file with per-step convergence data.

Figure Reproduction

All manuscript figures are generated via a Snakemake pipeline in scripts/figures/. See scripts/figures/README.org for the full workflow.

Benchmark Harness

The repository now includes a dedicated benchmark subproject under benchmarks/ for minimization, dimer, and NEB comparisons. The top-level development entrypoints are:

pixi run -e dev bench-smoke
pixi run -e dev bench-minimize
pixi run -e dev bench-dimer
pixi run -e dev bench-neb
pixi run -e dev bench-all

The compact production slice is designed to stay useful within roughly 45 minutes on rg.cosmolab.

A rehydration archive is deposited on Materials Cloud Archive for exact reproduction without recomputation.

Documentation

pixi run -e docs docbld

Or visit chemgp.rgoswami.me.

License

MIT License. See LICENSE for details.

About

Chemically motivated Gaussian Processes

Resources

License

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors