qdk_chemistry.data.qubit_hamiltonian module
QDK/Chemistry Qubit Hamiltonian module.
This module provides the QubitHamiltonian dataclass for electronic structure problems. It bridges fermionic Hamiltonians and quantum circuit construction or measurement workflows.
- qdk_chemistry.data.qubit_hamiltonian.filter_and_group_pauli_ops_from_wavefunction(hamiltonian, wavefunction, abelian_grouping=True, trimming=True, trimming_tolerance=1e-8)[source]
Filter and group the Pauli operators respect to a given quantum state.
This function evaluates each Pauli term in the Hamiltonian with respect to the provided wavefunction:
Terms with zero expectation value are discarded.
- Terms with expectation ±1 are treated as classical and their contribution is
added to the energy at the end.
- Remaining terms with fractional expectation values are retained and grouped by
shared expectation value to reduce measurement redundancy (e.g., due to symmetry).
The rest of Hamiltonian is grouped into qubit wise commuting terms.
- Parameters:
hamiltonian (QubitHamiltonian) – QubitHamiltonian to be filtered and grouped.
wavefunction (Wavefunction) – Wavefunction used to compute expectation values.
abelian_grouping (bool) – Whether to group into qubit-wise commuting subsets.
trimming (bool) – If True, discard or reduce terms with ±1 or 0 expectation value.
trimming_tolerance (float) – Numerical tolerance for determining zero or ±1 expectation (Default: 1e-8).
- Returns:
- A tuple of
(list[QubitHamiltonian], list[float]) A list of grouped QubitHamiltonian.
A list of classical coefficients for terms that were reduced to classical contributions.
- A tuple of
- Return type: