This release is a pre-release and may not be stable for production use.
AEGISS
Atomic Orbital and Entropy based Guided Inference for Space Selection
AEGISS automates active space selection for multireference quantum chemistry calculations. It combines two complementary screening strategies:
- Entropy screening — ranks orbitals by their single-orbital entanglement entropy obtained from a DMRG wavefunction. Orbitals with high entanglement are strongly correlated and belong in the active space.
- AO projection — projects molecular orbitals onto a user-defined set of atomic orbitals (e.g. the C 2p_z shell of a conjugated system). Orbitals with large projection weights are chemically relevant to the target fragment.
The two criteria can be used independently or combined. In select_aegiss they are
applied sequentially — entropy screening first narrows the candidate set, then AO
projection refines it further — so an orbital must satisfy both criteria to appear
in the final active space. Both functions can also be called individually for custom
workflows.
Installation
AEGISS requires Python ≥ 3.12 and uses uv for dependency management.
git clone https://github.com/Algorithmiq/AEGISS.git
cd AEGISS
uv sync --extra viz # add --all-groups for the test, docs and notebook tools
source .venv/bin/activate
The viz extra is only needed for
MolTagger, the interactive tool for picking atoms and generating
ao_labels.
See docs/installation.md for the environment variables that control threads, memory and scratch space, and for logging setup.
Quick start — benzene π system
from aegiss.active_space.aegiss import select_aegiss
from aegiss.config_dataclasses import DMRGConfig, EntropyConfig, OutputConfig, ProjectionConfig
from aegiss.initial_guess import build_mol, run_scf
mol = build_mol("docs/tutorials/data/benzene.xyz", basis="ccpvdz", symmetry=False)
mf = run_scf(mol, method="RHF")
active_indices = select_aegiss(
mol,
mf,
dmrg_config=DMRGConfig(ncas=30, nelecas=30, max_bond_dim=200, symm_type="SZ"),
entropy_config=EntropyConfig(fraction=0.1, fraction_type="r", ranking="global"),
projection_config=ProjectionConfig(
ao_labels=["C 2pz"], contribution=0.5, contribution_type="a", ranking="global"
),
output_config=OutputConfig(saving_prefix="benzene_aegiss", save_orb=False),
)
select_aegiss runs the full pipeline — DMRG in a CAS(30, 30) window around the Fermi
level → entropy screening → projection onto the carbon 2p_z orbitals — and returns the
0-based indices of the selected orbitals. main.py is the same example as a
runnable script; expect a few minutes of runtime, dominated by the DMRG step.
AEGISS can also start from localized or natural orbitals (see localize in the
localization API). Keep in mind that the DMRG window is
taken by orbital index, which is a Fermi-level window only for canonical orbitals.
Documentation
The documentation sources live in docs/ and are built with MkDocs
(see docs/README.md):
- Methodology — the six steps of the AEGISS workflow.
- Tutorials — Jupyter notebooks covering SCF and localization, DMRG and entropies, AO projection, the full pipeline, and UHF references.
- Orbital index base — printing and passing orbital indices
0- or 1-based (
aegiss config set-base,AEGISS_ORB_BASE). - Unrestricted (UHF) references — spin-summed vs. spin-resolved entropies.
- MolTagger — interactive atom tagging.
- API reference — generated from the docstrings.
Development
just build --all-groups --all-extras # or: uv sync --all-groups --all-extras
uv run prek install
just test -m "not slow"
uv run mkdocs serve # docs preview at http://127.0.0.1:8000
just with no arguments lists every recipe.
Code style is enforced by ruff and ty; both run as git hooks (via prek) and in CI on every pull request. See CONTRIBUTING.md for the full workflow.
Contributing
Contributions are welcome. Please read CONTRIBUTING.md for the development setup, branch and commit conventions, and testing requirements, and note that all contributions require agreement to the Contributor License Agreement. All interactions in this repository are covered by our Code of Conduct.
Bugs and feature requests go through the issue templates. Please do not open public issues for security problems; see SECURITY.md.
Releases
Work lands on main through squash-merged pull requests, each minor release
is stabilised on a release/X.Y branch that only receives backported bug fixes, and a
release bot tags the release candidates and releases, writes CHANGELOG.md
and publishes to PyPI. Only the newest release is supported. The
contributing guide describes the process.
The release automation is shared with the other Algorithmiq repositories through
Algorithmiq/release-tools, whose README
describes the process in full: release.yml, backport.yml and pr-checks.yml are short
stubs calling its reusable workflows, deploy.yml uses its release actions, and the
changelog comes from its cliff.toml, all pinned to the same release-tools tag, which
Dependabot updates.
Citation
If you use AEGISS in your work, please cite the paper:
@misc{tarocco2025aegissatomicorbital,
title={AEGISS -- Atomic orbital and Entropy-based Guided Inference for Space Selection -- A novel semi-automated active space selection workflow for quantum chemistry and quantum computing applications},
author={Fabio Tarocco and Pi A. B. Haase and Fabijan Pavošević and Vijay Krishna and Leonardo Guidoni and Stefan Knecht and Martina Stella},
year={2025},
eprint={2508.10671},
archivePrefix={arXiv},
primaryClass={physics.chem-ph},
url={https://arxiv.org/abs/2508.10671},
}
AEGISS builds on DMRG (White 1992, White 1993, Chan & Head-Gordon 2002), run with block2 (Zhai et al. 2023, Zhai & Chan 2021), and on AVAS (Sayfutyarova et al. 2017). It screens on the single-orbital entropy (Legeza & Sólyom 2003, Rissler et al. 2006, Boguslawski et al. 2012, Boguslawski & Tecmer 2015), is built on PySCF (Sun et al. 2018, Sun et al. 2020), and MolTagger uses ASE (Larsen et al. 2017). Please cite them as well; docs/citing.md has the BibTeX for all of them.
Machine-readable metadata for the software, the paper and these references is in CITATION.cff — GitHub's "Cite this repository" widget reads it directly.
License
AEGISS is released under the Apache License 2.0.
Metadata
Release files for aegiss 0.1.0rc1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| aegiss-0.1.0rc1.tar.gz | 2.2 MB | With provenance | Details for aegiss-0.1.0rc1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| aegiss-0.1.0rc1-py3-none-any.whl | Python 3 | none | any | Details for aegiss-0.1.0rc1-py3-none-any.whl |
Total release size: 2.3 MB
Release files / aegiss-0.1.0rc1.tar.gz
| Download URL | aegiss-0.1.0rc1.tar.gz |
|---|---|
| Size | 2.2 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
efd350c91959c580a08b1523275847a671e004adadbb607cc45d47fbd92b6320
|
|
BLAKE2b-256 checksum How to use checksums |
0b48373bba781b470dd1cdf9e3bdd43581490c305c3da020ed721e3aec5e447e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 28, 2026.
Transparency logRelease files / aegiss-0.1.0rc1-py3-none-any.whl
| Download URL | aegiss-0.1.0rc1-py3-none-any.whl |
|---|---|
| Size | 107.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8cdda1f253b029375a00e597af79ba4378c5a5752b65634a29cfc2015ab97ddd
|
|
BLAKE2b-256 checksum How to use checksums |
33b549dd2fa2a91046c605b06a76258b6b4347c91fc0474d88f165a954016d78
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 28, 2026.
Transparency logSecurity for aegiss 0.1.0rc1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for aegiss-0.1.0rc1.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 28, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.