MPPT v0.3.2#

Prepare and export references consistently from YAML or Python, select an exact MO range, and use the bundled CIPSIXX 0.2.0 selector.

At a glance#

  • Shared reference preparation: ExportConfig exposes occupied/virtual projection, independent reference bases and export settings through the same validated controls as YAML. CASSCF examples use the completed reference directly.

  • Exact MO selection: N_start specifies the first selected MO and N_select the consecutive count; invalid ranges fail before integral work.

  • Correlated densities and resume: orbital preparation preserves the full one-particle density, and resumed exports reuse the prepared checkpoint.

  • CIPSIXX 0.2.0: exact bounded native selection, unchanged-model reuse and chunked atomic HDF5 export; the managed workflow retains hash storage by default.

Action required#

Set the selected range#

Set the first MO explicitly when it differs from the default 1:

mppt:
  N_start: 1
  N_select: 25

This selects MO 1–25. With N_start: 4, the same count selects MO 4–28. Python uses ExportConfig(n_start=1, n_select=25) with the same meaning. N_select: 0 requests the full-ERI route.

Check Python export defaults#

ExportConfig.integral_mode defaults to None: export inherits exact or DF integrals from the selected reference. An explicit mode must match that reference; use an exact source/provider when exact integrals are required.

write_property_integrals defaults to True, matching YAML. Set it to False for an export that intentionally omits property tensors. Replacing an existing Python-exported file still requires overwrite=True.

Occupied/virtual generation can now be configured directly in ExportConfig. The CASSCF examples show both an unchanged reference and explicit projection boundaries. Existing YAML aliases remain accepted.

Rebuild the bundled selector#

Update the source submodule before rebuilding an existing Git checkout:

git submodule update --init --recursive
cmake --build build --parallel 1
cmake --install build
cipsixx_select --version
# cipsixx_select 0.2.0

For a new environment, follow the installation guide. Bounded storage is enabled through native --candidate-storage bounded; the managed YAML workflow keeps hash as its default. Resource controls and limits are in the selection guide, under Native bounded storage.

Component versions#

Component

Version

MPPT bundle, DIAGPT and HEFFSO

v0.3.2

pyscf2mppt

0.6.2

Caspy

0.5.0

libgrpppy

0.1.2

CIPSIXX

0.2.0

The bundled selector is pinned to immutable tag v0.2.0, commit 2c91153fb61f3c0a14e577ff5da634fdc33d7df7.

Validation evidence#

Integrated source validation passed 819 frontend tests (four skipped), 61 Caspy tests and 84 CTest entries. Release-policy and homepage contracts passed 153 tests.

Focused exact/DF export tests verify literal selected-MO identities and one-electron integrals against an independent PySCF projection. Configuration tests cover the default start and invalid values. Range-error tests verify that an existing destination remains intact, including after MO trimming.

Shared-preparation tests cover YAML/Python equivalence, correlated-density conservation, detached source arrays, charged CASSCF provider identity and checkpoint resume without repeating orbital generation. Both complete CASSCF examples passed, including property tensors and compact selected-route output.

Upstream CIPSIXX 0.2.0 acceptance passed 100 native CTest entries, 56 focused ASan/UBSan controls and 24 no-OpenMP selector controls. These cover signed accumulation, eligible-root filtering, bounded storage, replay/cache identity, closure and interrupted HDF5 publication.

Known limitations#

Selection is one contiguous range in the prepared orbital ordering and must include a downstream occupied orbital. delete_from determines the retained MO space before selection is validated.

Bounded candidate storage is a native CLI opt-in, currently limited to 192 selected spatial orbitals. Its payload budgets exclude resident integrals, dense CI, final models and runtime overhead. The new resource controls are not exposed as managed YAML fields in this dependency update.

Export does not recanonicalize generated orbitals; retained source orbital energies are metadata. Native atomic selector output needs space for a second HDF5 file and exclusive ownership of its destination.