Skip to content

Concepts and definitions

This project uses short operator labels to represent common second-quantized building blocks.

Operators

Label Meaning Notes
X1 Project onto single excitation on the left Used for amplitude/projection expressions
X2 Project onto double excitation on the left Used for amplitude/projection expressions
T1 Single excitation cluster operator $t_i^a a_a^{\dagger} a_i$
T2 Double excitation cluster operator $t_{ij}^{ab} a_a^{\dagger} a_b^{\dagger} a_j a_i$
D1 Single de-excitation operator $d_i^a a_i^{\dagger} a_a$
D2 Double de-excitation operator $d_{ij}^{ab} a_i^{\dagger} a_j^{\dagger} a_b a_a$
V2 Two-body fluctuation operator $\tfrac{1}{4}\langle pq|rs\rangle a_p^{\dagger} a_q^{\dagger} a_s a_r$
F1 One-body (Fock-like) operator $f_{pq} a_p^{\dagger} a_q$

Terms

A “term” is the internal object representing:

  • A specific contraction pattern (operator string with contracted indices)
  • Its prefactor and sign
  • Summation indices and coefficient structure

Most top-level APIs return lists of terms.

Commutators and products

  • comm(A, B, last) computes a commutator (or nested commutator pieces).
  • prod(A, B, last) computes an operator product.

The last flag is used by some workflows to decide when to apply “fully contracted” filtering.

Next: see api.md for the concrete functions and their signatures.