Skip to content

Add the ability to checkpoint configuration recovery - #348

Open
mcbennet wants to merge 6 commits into
Qiskit:mainfrom
mcbennet:checkpoint_carryover_configurations
Open

Add the ability to checkpoint configuration recovery#348
mcbennet wants to merge 6 commits into
Qiskit:mainfrom
mcbennet:checkpoint_carryover_configurations

Conversation

@mcbennet

@mcbennet mcbennet commented Aug 21, 2026

Copy link
Copy Markdown

Description

These changes introduce the ability to checkpoint configuration recovery and should close #233.

Key Changes:

  • Added an initial_state argument to diagonalize_fermionic_hamiltonian to accept a previously saved SCIState.

  • Abstracted _extract_carryover_strings to extract high-weight alpha and beta bitstrings from initial_state to seed the next iteration. Important note, I refactored the carryover extraction to use np.nonzero instead of np.argsort and np.searchsorted. This reduces the thresholding step from O(NlogN) to O(N).

  • Included a quick fix to docs/guides/integrate_fulqrum.ipynb. The CI was failing because a recent update to fulqrum removed the verbose=False argument from to_csr_linearoperator_fast() (see qiskit-community/fulqrum@60bc326).

Testing

  • Testing environment:

    • Python version: 3.13.13
    • Operating system: Fedora Linux
  • Added a test that verifies interrupting then resuming via initial_state produces the same mathematical progression as a continuous run.

  • Added test for new _extract_carryover_strings helper

  • All test/ unittests pass

  • Ruff formatting and linting pass

@garrison garrison added the enhancement New feature or request label Aug 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add checkpointing for resuming from a partially completed run

2 participants