Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
120 commits
Select commit Hold shift + click to select a range
be571fe
initialize branch
KAtalar Oct 12, 2023
8ab4040
Excited state gradients - initial implementation
KAtalar Oct 16, 2023
396e993
NAC implementation - in testing
KAtalar Oct 17, 2023
50f7f8b
Speed of gradient computation for multiple states and NACs
KAtalar Oct 20, 2023
9e8bf91
Added comparison and benchmarking between old and new implementation
KAtalar Oct 23, 2023
444fb21
Clean up of the gradient scripts
KAtalar Oct 26, 2023
51ecc5e
Dipole moments and oscillator strengths from continuation
KAtalar Oct 26, 2023
f0bed97
Testing continuation NACs against CASSCF NACs
KAtalar Oct 31, 2023
80ed2d4
Orbital contribution to NACs and examples
KAtalar Nov 4, 2023
277c329
Bugfix in tRDM construction - no explicit conjugation
KAtalar Nov 24, 2023
639c3a7
Orbital contribution to nonadibatic coupling vectors
KAtalar Nov 24, 2023
d3d5e2c
Fixing the phase of continuation for the gradients
KAtalar Nov 24, 2023
f86bc71
Updating gauge fixing
KAtalar Nov 24, 2023
0de6036
Clean up of NACs
KAtalar Nov 24, 2023
6871307
Initial python driver for Newton-X interface
KAtalar Nov 24, 2023
8b3d8a1
FCI NAC implementation in SAO basis for benchmarking
KAtalar Nov 27, 2023
c9d1489
Adjust phase in NX Python interface
KAtalar Nov 27, 2023
0af3fbf
Bug fix in NX interface
KAtalar Nov 27, 2023
a850e45
DMRG excited states
Feb 19, 2024
200ddb2
Updated excited states DMRG convergence
Feb 19, 2024
ea1e3d2
Updated MD convergence utils to new pyscf MD conventions
Feb 19, 2024
016ac48
Symmetry adapted FCI continuation
Feb 19, 2024
91cc1b5
Addition of safe_eigh diagonalization
Feb 19, 2024
af49a3d
Utilities to run and converge NewtonX trajectories with continuation
Feb 19, 2024
579d8ed
Additional features for the NX interface
Feb 19, 2024
4b12adf
Return continuation coefficients
Feb 19, 2024
ee2e92b
Predefined path for the model files
Feb 19, 2024
2f9c781
Adding .gitignore
KAtalar Mar 19, 2024
f60dec1
Adding .gitignore
KAtalar Mar 19, 2024
64fb7a1
Cleanup
KAtalar Mar 19, 2024
7378c47
Cleanup
KAtalar Mar 19, 2024
1003fc9
Updating build instructions
KAtalar Mar 20, 2024
e8d6b27
Multistate CAS
KAtalar Apr 5, 2024
a8e618d
On-the-fly construction of the subspace Hamiltonian
KAtalar Apr 10, 2024
b90dec7
OTF Hamiltonian w/out intermediate RDMs
KAtalar Apr 15, 2024
779b539
Addition of states without tRDM generation in CAS solver
KAtalar Apr 16, 2024
7cbce6c
HF solver for continuation
KAtalar May 1, 2024
0979a7e
Initiating the low rank implementation of 2-tRDM
KAtalar May 2, 2024
d67da2f
Working low rank eigenvector continuation for ground states
KAtalar May 7, 2024
6b2f244
Treatment of orthogonal states in the cumulant expansion
KAtalar May 8, 2024
1bd7bf0
Low rank decomposition based on subspace Hamiltonian error
KAtalar May 10, 2024
fa9179d
Addition of DF basis choice and overlap weighed Hamiltonian truncatio…
KAtalar May 20, 2024
7a9de18
Initial low rank implementation for CAS solvers
KAtalar May 20, 2024
8b46cf8
Example script for low rank continuation
KAtalar May 20, 2024
d9cee64
Precomputation for OTF Hamiltonian
KAtalar Sep 10, 2024
0cd4972
Updating low rank example
KAtalar Sep 10, 2024
9c1584a
Fixing inconsistencies with main branch
KAtalar Sep 10, 2024
baa94ef
Memory efficient computation of forces and NACs
KAtalar Sep 18, 2024
1b094c7
Bugfix for using safe_eigh with compressed tRDMs
KAtalar Sep 18, 2024
7516d2b
More efficient implementation of FCI NACs
KAtalar Sep 30, 2024
fb9d908
Memory improvements for two-el gradients
KAtalar Nov 26, 2024
80b0461
Clean up
KAtalar Nov 26, 2024
fc8e8c3
Small improvements to forces
KAtalar Nov 26, 2024
50a58a8
Joint low-rank decomposition of 2tRDM into both Coulomb and exchange …
KAtalar Jun 9, 2025
0964bcd
Vectorize the subspace Hamiltonian construction from JK builds
KAtalar Jun 9, 2025
de5653d
Efficiency improvements for low-rank inference (grouping JK builds an…
KAtalar Jun 10, 2025
895bf14
Initializing low-rank RDM implementation for CAS solvers
KAtalar Jun 24, 2025
50234a7
Initializing low-rank RDM implementation for CAS solvers - continued
KAtalar Jun 24, 2025
facdbe1
SVD for low-rank decomposition of non-Hermitian tRDMs in Coulomb grou…
KAtalar Jul 2, 2025
820c8ef
Mixed joint ED/Coulomb SVD approach based on higher rank reduction
KAtalar Jul 9, 2025
4b49dae
Coulomb SVD decomposition for FCI continuation
KAtalar Jul 9, 2025
6fa778a
Vectorizing low-rank SVD representation of 2-tRDMs for inference
KAtalar Jul 10, 2025
fdd4999
Initial low-rank gradient implementation for joint ED
KAtalar Jul 15, 2025
674c6d8
Gradients including low-rank SVD of 2tRDM
KAtalar Jul 15, 2025
992acf7
Efficiency improvements to low-rank gradients
KAtalar Jul 16, 2025
de05326
Adding logging utilities
KAtalar Jul 16, 2025
3e4fdee
Minor efficiency improvements + setting up auxbasis response for a fu…
KAtalar Jul 21, 2025
5465a8a
Minor bugfix
KAtalar Jul 21, 2025
c56f7db
Iterative diagonalization for low-rank decompositions
KAtalar Jul 23, 2025
1e30b20
Option to add preconverged CAS solutions into the continuation_object
KAtalar Jul 23, 2025
89bd576
Updated iterative diagonalization - revert back to full diagonalizati…
KAtalar Jul 29, 2025
1ad1825
Option to turn off DF for low-rank inference
KAtalar Jul 29, 2025
8e3b9f7
Option to turn off DF for low-rank inference
KAtalar Jul 29, 2025
464bd2a
Merge branch 'namd' of github.com:BoothGroup/evcont into namd
KAtalar Jul 29, 2025
716cadc
Input file and low-rank inference implementations in NX-interface
KAtalar Jul 30, 2025
e13b54d
Initial implementation for diagonal corrections to low-rank inference
KAtalar Aug 1, 2025
d2aed58
Updated inference for diagonal corrections - vectorization + J-only
KAtalar Aug 27, 2025
9ad1dd5
Diagonal correction inference - SAO basis implementation + corrected …
KAtalar Sep 3, 2025
b6ced71
Diagonal correction (exchange) inference - corrected AO implementation
KAtalar Sep 9, 2025
3744498
Low-rank truncation based on subspace Hamiltonian error - integration…
KAtalar Sep 9, 2025
51f18d9
Updated mixed joint ED/coulomb SVD with Hamiltonian error truncation
KAtalar Sep 9, 2025
972228e
Merge branch 'namd' of github.com:BoothGroup/evcont into namd
KAtalar Sep 16, 2025
6025c06
Parallelization of the Fock builds (experimental)
KAtalar Sep 26, 2025
bd83d49
NX interface - SA-CASSCF implementation
KAtalar Sep 29, 2025
425175e
Unpacking of vectorized low-rank vectors for appending new states
KAtalar Oct 8, 2025
92d5a9f
CAS Continuation - restructuring to avoid saving pyscf objects
KAtalar Oct 14, 2025
391d762
Uncontracted CAS continuation
KAtalar Oct 21, 2025
100d71e
Save and load pre-trained CAS Continuation objects
KAtalar Oct 21, 2025
c84f8d2
Quantel support and updated save/load for CAS Continuation
KAtalar Nov 17, 2025
3f2b0ef
Bugfix in the degeneracy threshold of AO->SAO transformation gradient
KAtalar Nov 17, 2025
924c3ef
Lowrank capability for NAMD active learning
KAtalar Nov 17, 2025
1f7148c
Save and read in Quantel solutions in CAS object
KAtalar Nov 19, 2025
5bb06db
Normalized hamiltonian distance and updated casscf solution selection…
KAtalar Nov 19, 2025
87972ea
Updated CAS object save/load functions
KAtalar Nov 21, 2025
9ac00ed
Active leaerning scheduler: Added functionality to append training st…
KAtalar Nov 21, 2025
d1842df
Minor bugfix in active learning module
KAtalar Nov 21, 2025
230fe1c
Active learning: Offloading hamiltonian distance computation to a HPC…
KAtalar Nov 24, 2025
955baa5
CASCI: Updated pruning and improvement with the new lowrank object st…
KAtalar Dec 31, 2025
2b65e59
NAMD: Efficiency updates to active learning scheduler
KAtalar Dec 31, 2025
a0d460c
Experimentation with Fock build parallelization
KAtalar Dec 31, 2025
cecc6e3
Extended density-fitted integrals with different orbital representations
KAtalar Apr 27, 2026
9f817bf
Cleanup of transition dipole moment calculation
KAtalar Apr 27, 2026
e1c5b7c
Updated low-rank decomposition based on hamiltonian error, faster & i…
KAtalar Apr 27, 2026
921ea46
Updated NX driver and NAMD utils with low-rank representation
KAtalar Apr 27, 2026
4d3ef8d
Example scripts for lowrank and NACs
KAtalar Apr 27, 2026
39528ec
Clean up of FCI and CAS solvers
KAtalar Apr 28, 2026
2e367f1
Amplitude relaxation in the low-rank compression
KAtalar May 1, 2026
85d62c3
More low-rank examples
KAtalar May 1, 2026
e1cf4fb
Bugfix
KAtalar May 1, 2026
d61e20c
Clean up of low-rank scripts
KAtalar May 1, 2026
fa6dc3d
Remove incomplete HF continuation class
KAtalar May 14, 2026
409834d
Minor bugfix in hermitizing 2RDMs in low-rank compression
KAtalar May 15, 2026
5fc8389
Updated low-rank examples
KAtalar May 15, 2026
5468769
Merge remote-tracking branch 'origin/main' into namd
KAtalar May 15, 2026
601c675
Examples for different solvers
KAtalar May 15, 2026
e0e8bc4
Update README.md file
KAtalar May 15, 2026
85f5010
Update README.md
KAtalar May 15, 2026
3534578
Cleanup following code review
KAtalar May 15, 2026
716996a
Restore Hermitian guard in compressed tRDM subspace build
Copilot May 15, 2026
57e35d1
Cleanup + minor fixes in NX driver & examples
KAtalar May 15, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 57 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# Byte-compiled / optimized / DLL files
__pycache__/
evcont/__pycache__/
*.py[cod]

# Run examples
*.png
*.npy
*.out
*.sh

# C extensions
*.so

# Distribution / packaging
bin/
build/
develop-eggs/
dist/
eggs/
lib/
lib64/
parts/
sdist/
var/
*.egg-info/
.installed.cfg
*.egg

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
.tox/
.coverage
.cache
nosetests.xml
coverage.xml

# Translations
*.mo

# Mr Developer
.mr.developer.cfg
.project
.pydevproject

# Rope
.ropeproject

# Django stuff:
*.log
*.pot

# Sphinx documentation
docs/_build/
36 changes: 28 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
# EVCont
This package bundles different scripts and tools for the application of the eigenvector continuation from few variational *ab initio* states, as presented in: Rath, Y., & Booth, G. H. (2025). Interpolating numerically exact many-body wave functions for accelerated molecular dynamics. *Nature Communications*, 16(1), 2005. [1]

This package bundles different scripts and tools for the application of the eigenvector continuation from few variational *ab initio* states, as presented in:
Rath, Y., & Booth, G. H. (2025) [1]
& Atalar, K., Rath, Y., Crespo-Otero, R. & Booth, G. H. (2024) [2]

The codebase also includes low-rank compression protocols for two-body reduced density matrices and functionality to infer from compressed states, as described in:
Atalar, K., Burton, H. G. A., Grüneis, A. & Booth, G. H. (2026) [3]

## Installation
The project comes with a pyproject.toml.
Expand All @@ -18,14 +21,27 @@ Additional optional dependencies are not installed automatically and need to be
Optional dependencies include:
- [block2](https://github.com/block-hczhai/block2-preview): required for the continuation from MPS
- [pygnme](https://github.com/BoothGroup/pygnme/blob/master/README.md?plain=1): required for the continuation from CAS states
- [dscribe](https://github.com/SINGROUP/dscribe): Required for GAP predictions
- [quantel](https://github.com/hgaburton/quantel): for alternative state-specific CASSCF solutions
- [dscribe](https://github.com/SINGROUP/dscribe): Required for GAP predictions - as used in comparison scripts in [scripts](./scripts)

The codebase is interfaced to:
- [Newton-X](https://newtonx.org): for nonadiabatic molecular dynamics simulations

which require separate installations.

The [nx-interface](./nx-interface/) folder contains the driver script used to call this codebase within Newton-X workflows.


## Code

This repository is merely a collection of utility functions and scripts for the eigenvector continuation (in particular, interfacing different codes).
The [evcont](./evcont) folder contains common helper functions and bundles the main utilities (which can be installed).
This repository is a collection of utility functions and scripts for the eigenvector continuation (in particular, interfacing different codes).

The [evcont](./evcont) folder contains various classes for training with different wavefunction solvers, common helper functions and bundles the main utilities (which can be installed).

The [examples](./examples) folder contains example scripts for demonstrating the general functionality of the codebase.

The [scripts](./scripts) folder contains scripts generate the data from our manuscript [1].
These should also serve as a good first point of entry into the general functionality of the codebase.
They also serve as example workflows for the codebase.

The following scripts are included:
- [scripts/PES_H_chain/H6_PES/H6_continuation.py](./scripts/PES_H_chain/H6_PES/H6_continuation.py): Prediction of the PES for a 6-atom H chain from different training points as depicted in Fig. (1) of [1]
Expand All @@ -37,7 +53,11 @@ The following scripts are included:


## Contact
Questions? Feel free to contact us via [yannic.rath@npl.co.uk](mailto:yannic.rath@npl.co.uk).
Questions? Feel free to contact us via [kemal.atalar@kcl.ac.uk](mailto:kemal.atalar@kcl.ac.uk), [yannic.rath@npl.co.uk](mailto:yannic.rath@npl.co.uk) or [george.booth@kcl.ac.uk](mailto:george.booth@kcl.ac.uk).

## Manuscript
## Manuscripts
[1] Rath, Y., & Booth, G. H. (2025). Interpolating numerically exact many-body wave functions for accelerated molecular dynamics. *Nature Communications*, 16(1), 2005.

[2] Atalar, K., Rath, Y., Crespo-Otero, R. & Booth, G. H. (2024). Fast and accurate nonadiabatic molecular dynamics enabled through variational interpolation of correlated electron wavefunctions. *Faraday Discussions*, 254, 542-569.

[3] Atalar, K., Burton, H. G. A., Grüneis, A. & Booth, G. H. (2026). Low-rank compression of two-electron reduced density matrices. [arXiv:2605.11253](https://arxiv.org/abs/2605.11253)
Loading