Skip to content

docs: refine the READMEs and docs front page - #95

Merged
Sophia Wen (hfwen0502) merged 11 commits into
mainfrom
readme-refine
Nov 10, 2026
Merged

Sophia Wen (hfwen0502) merged 11 commits into
mainfrom
readme-refine

Conversation

@hfwen0502

Copy link
Copy Markdown
Member

A pass over every README, from the top level down, and the docs front page, so that each reads as how to use the package rather than as a record of upstream's internals.

Why use the bindings. The README gains a short section on what the bindings give over upstream's C++ apps: one install for every feature, the backend and the unrestricted and complex builds chosen per call rather than at compile time, Python objects in and out, and an error naming the right device when one does not support a feature. The docs front page gains the same, with the README's feature list and its feature-by-backend table, and the sbd API page's intro now covers CAOP and device=.

Commands use the hardware. Examples launch on several ranks, or one rank per GPU, wherever the step parallelizes: TPB on a rank grid or across GPUs, CAOP on GPUs, GDB sharded. Commands stay single-process only where the step is serial.

Trimmed. Long explanations of upstream internals are cut to what a user acts on, and repeated warnings appear once. The GDB README's command blocks list one example per feature and point to the section that explains each option.

The analysis README is organized by use case: checking a molecular state, checking a CAOP state, and estimating the exact energy from a series with extrapolate.py, which it previously mentioned only in passing. It opens with which upstream evaluator each kind of state uses, gdb-stat-evaluator or caop-stat-evaluator. The TPB-versus-GDB growth comparison is dropped: it compared solvers rather than showing the analysis.

Also:

  • Why the SQD loop is TPB only, citing Support general non-Cartesian product subspaces qiskit-sqd#389.
  • How a UHF FCIDUMP selects the unrestricted build, that UHF runs on gpu too, and that the variance analysis takes restricted and UHF FCIDUMPs alike.
  • The examples are tested against the pinned upstream commit only; with another, the functionality may be broken.
  • The workflow page no longer says PT2 recovers most of the missing energy over a too-small CAOP basis; it recovers only part.
  • The GDB README's --initial_det example runs as written.
  • SBD_BUILD_UHF is removed from INSTALL.md, the release notes and setup.py, the one change outside the docs: a three-line warning for a variable no release had, so the next release neither introduces nor removes it.

Checked:

  • The commands added or changed run on an 8× H100 server, apart from two long heat-bath runs stopped before they finished.
  • The variance analysis runs on saved UHF and CAOP states.
  • Every relative link and section anchor resolves.
  • The docs build with -W.

🤖 Generated with Claude Code

Sophia Wen (hfwen0502) and others added 11 commits November 10, 2026 10:39
…al_det, workflow links

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…#389

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ings pick for you

Every README from the top level down. Commands now run on several ranks or one
rank per GPU wherever the step parallelizes; single-process ones are left where
the step is serial. Long explanations of upstream internals are cut to what a
user acts on, and repeated warnings appear once.

The top-level README says the bindings choose the code path themselves -- the
UHF build from the FCIDUMP, the CPU evaluator after an offload solve -- and that
a feature a device does not support raises an error naming the device to use.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…HF from INSTALL

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
It was added in #91 and removed in #93, both after 1.7.2, so the next release
should neither introduce it nor say it is gone. setup.py no longer warns about
it, and the two unreleased notes no longer mention it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The docs front page gains "What it does" and the reason for the bindings, the
README's feature-by-backend table in place of the device-only one, why the SQD
loop is TPB only (Qiskit/qiskit-sqd#389), and the pinned-upstream caveat for the
examples. Its separate TPB-or-GDB section folds into "What it does". The sbd API
page's intro now names CAOP and says what device= does and that an unsupported
device raises an error naming the ones that do.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…extrapolate.py

It opened with the TPB/GDB evaluator only and reached CAOP and extrapolate.py late
or in passing. It now starts with the two tools and a table of which upstream
evaluator each kind of state uses and with which methods, then one section per
task: check a molecular state, check a CAOP state, estimate the exact energy from
a series, compare two ways of growing a subspace, and run it in the same job. How
the estimate works and its settings follow. The other READMEs' links follow the
renamed sections.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…st of the way

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
It compared two solvers' expansion schemes rather than showing the analysis, and
its own notes said none of its states had converged. Its one lesson for the
analysis, comparing subspaces at matched dimension by variance and E + PT2, is
now a sentence under the series section.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@hfwen0502
Sophia Wen (hfwen0502) merged commit 78da2c7 into main Nov 10, 2026
15 checks passed
@hfwen0502
Sophia Wen (hfwen0502) deleted the readme-refine branch November 10, 2026 22:34
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.

1 participant