Skip to content

EVCont v0.2: Excited states + NAMD + low-rank#5

Open
KAtalar wants to merge 120 commits into
mainfrom
namd
Open

EVCont v0.2: Excited states + NAMD + low-rank#5
KAtalar wants to merge 120 commits into
mainfrom
namd

Conversation

@KAtalar
Copy link
Copy Markdown
Collaborator

@KAtalar KAtalar commented Apr 27, 2026

Major developments for the ab initio eigenvector continuation codebase, mainly around extensions to excited states, nonadiabatic molecular dynamics simulations and low-rank compression of reduced density matrices for memory efficient continuation.

  • Excited states with gradients and nonadiabatic coupling vectors
  • (Transition) dipole moments and oscillator strengths from continuation
  • Newton-X interface for nonadiabatic MD simulations
  • Low-rank compression of 2RDMs
  • Inference of the subspace Hamiltonian and gradients in the low-rank form
  • Updated active learning scheme + HPC support
  • Quantel interface for SS-CASSCF within CAS class

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR ("EVCont v0.2") is a major feature release for the evcont ab-initio eigenvector continuation codebase. It extends the framework from ground-state energies/gradients to excited states (with gradients, NACs, and (transition) dipole moments), adds a Newton-X driver for nonadiabatic molecular dynamics, introduces a low-rank compression scheme for 2RDMs (with associated fast inference of the subspace Hamiltonian and gradients), and adds new solver interfaces (Quantel SS-CASSCF) plus an updated active-learning workflow with HPC support. The code touches the core continuation modules, adds many example/benchmark scripts, and ships a Newton-X interface directory.

Changes:

  • Excited-state machinery: multistate energies, gradients, NACs, and (transition) dipole/oscillator strengths added across evcont/ab_initio_gradients_loewdin.py, evcont/ab_initio_eigenvector_continuation.py, and the FCI/CAS containers.
  • Low-rank 2RDM compression and fast subspace-Hamiltonian/gradient inference (new evcont/low_rank_utils.py, new low-rank paths in solver objects, and benchmarking scripts under scripts/low_rank/ and examples/low_rank/).
  • New Newton-X NAMD driver (nx-interface/), Quantel SS-CASSCF interface, updated active-learning + HPC scripts, and many example/benchmark scripts (NAC, dipole, low-rank).

Reviewed changes

Copilot reviewed 41 out of 44 changed files in this pull request and generated 20 comments.

Show a summary per file
File Description
evcont/ab_initio_eigenvector_continuation.py New multistate / low-rank approximation routines; contains a duplicate approximate_multistate_otf_OAO definition.
evcont/ab_initio_gradients_loewdin.py Adds multistate energy/grad/NAC and low-rank gradient inference paths.
evcont/FCI_EVCont.py, evcont/CASCI_EVCont.py Solver containers extended with nroots, lowrank, vectorized low-rank storage, dipole helpers.
evcont/low_rank_utils.py New module for low-rank decomposition, vectorization, and reconstruction utilities.
evcont/NAMD_utils.py NAMD/active-learning helpers, including HPC submission scripts.
nx-interface/run-evcont-driver.py New Newton-X driver; contains a missing.append('ncas') copy-paste bug for missing nelec.
nx-interface/{geom,grad,grad.all,nad_vectors,oldh,epot} Runtime artifacts that look accidentally committed.
examples/solvers/02-casscf_continuation.py SA-CASSCF example with docstring/banner copied from the CASCI example.
examples/low_rank/02-cas_cont_lowrank.py Uses leaked training mol instead of test_mol for nao**2 print.
examples/low_rank/01,03,04 + examples/excited_states/* + examples/dipole/* New end-to-end usage examples for low-rank, excited-state, and dipole functionality.
scripts/NAC/H4/{run_NAC_molcas.py,compare.py} OpenMOLCAS reference NAC generation + plotting/benchmark script; minor variable shadowing in run_NAC_molcas.py.
scripts/low_rank/hydrogen_chain.py & related Extensive low-rank benchmarking script.
.gitignore Adds broad *.sh/*.npy patterns that may hide intended files.
README.md Updated with v0.2 description, citation, and new usage examples.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread nx-interface/run-evcont-driver.py Outdated
Comment thread evcont/ab_initio_eigenvector_continuation.py Outdated
Comment thread examples/low_rank/02-cas_cont_lowrank.py Outdated
Comment thread nx-interface/geom Outdated
Comment thread examples/solvers/02-casscf_continuation.py
Comment thread evcont/NAMD_utils.py
Comment thread evcont/FCI_EVCont.py
Comment thread evcont/ab_initio_eigenvector_continuation.py Outdated
Comment thread evcont/ab_initio_eigenvector_continuation.py Outdated
Comment thread evcont/_compute_hamdist.py
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@KAtalar KAtalar marked this pull request as ready for review May 15, 2026 15:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants