ffsim.SingleFactorizedHamiltonian

class ffsim.SingleFactorizedHamiltonian(one_body_tensor, one_body_squares, constant=0.0)[source]

Bases: SupportsLinearOperator

A Hamiltonian in the single-factorized representation.

The single-factorized form of the molecular Hamiltonian is

\[\begin{split}H = \sum_{\substack{pq \\ \sigma}} \kappa_{pq} a^\dagger_{p\sigma} a_{q\sigma} + \frac12 \sum_{t=1}^L \left(\mathcal{M}^{(t)}\right)^2 + \text{constant}'.\end{split}\]

Here each \(\mathcal{M}^{(t)}\) is a one-body operator:

\[\begin{split}\mathcal{M}^{(t)} = \sum_{\substack{pq \\ \sigma}} M^{(t)}_{pq} a^\dagger_{p\sigma} a_{q\sigma}\end{split}\]

where each \(M^{(t)}\) is a Hermitian matrix.

one_body_tensor

The one-body tensor \(\kappa\).

Type:

np.ndarray

one_body_squares

The one-body tensors \(M^{(t)}\) whose squares are summed in the Hamiltonian.

Type:

np.ndarray

constant

The constant.

Type:

float

Methods

expectation_product_state(vec, norb, nelec)

Return expectation value with respect to a product state.

from_molecular_hamiltonian(hamiltonian, *[, ...])

Initialize a SingleFactorizedHamiltonian from a MolecularHamiltonian.

reduced_matrix_product_states(vecs, norb, nelec)

Return reduced matrix within a subspace spanned by some product states.

Attributes

constant

norb

The number of spatial orbitals.

one_body_tensor

one_body_squares