ffsim.MolecularHamiltonian

class ffsim.MolecularHamiltonian(one_body_tensor, two_body_tensor, constant=0.0)[source]

Bases: SupportsApproximateEquality, SupportsDiagonal, SupportsFermionOperator, SupportsLinearOperator

A molecular Hamiltonian.

A Hamiltonian of the form

\[\begin{split}H = \sum_{\substack{pq \\ \sigma}} h_{pq} a^\dagger_{p\sigma} a_{q\sigma} + \frac12 \sum_{\substack{pqrs \\ \sigma \tau}} h_{pqrs} a^\dagger_{p\sigma} a^\dagger_{r\tau} a_{s\tau} a_{q\sigma} + \text{constant}.\end{split}\]

Here \(h_{pq}\) is called the one-body tensor and \(h_{pqrs}\) is called the two-body tensor.

one_body_tensor

The one-body tensor.

Type:

np.ndarray

two_body_tensor

The two-body tensor.

Type:

np.ndarray

constant

The constant.

Type:

float

Methods

from_fermion_operator(op)

Initialize a MolecularHamiltonian from a FermionOperator.

rotated(orbital_rotation)

Return the Hamiltonian in a rotated orbital basis.

Attributes

constant

norb

The number of spatial orbitals.

one_body_tensor_spinless

The one-body tensor in spinless format.

two_body_tensor_spinless

The two-body tensor in spinless format.

one_body_tensor

two_body_tensor