FermiHubbardModel#

class FermiHubbardModel(lattice, onsite_interaction)[source]#

Bases: LatticeModel

The Fermi-Hubbard model.

This class implements the following Hamiltonian:

\[H = \sum_{i, j}\sum_{\sigma = \uparrow, \downarrow} t_{i, j} c_{i, \sigma}^\dagger c_{j, \sigma} + U \sum_{i} n_{i, \uparrow} n_{i, \downarrow},\]

where \(c_{i, \sigma}^\dagger\) and \(c_{i, \sigma}\) are creation and annihilation operators of a fermion at the site \(i\) with spin \(\sigma\). The operator \(n_{i, \sigma}\) is the number operator, which is defined by \(n_{i, \sigma} = c_{i, \sigma}^\dagger c_{i, \sigma}\). The matrix \(t_{i, j}\) is a Hermitian matrix called the interaction matrix. The parameter \(U\) represents the strength of the on-site interaction.

This model is instantiated using a Lattice. For example, using a LineLattice:

line_lattice = LineLattice(num_nodes=10, boundary_condition=BoundaryCondition.OPEN)

fermi_hubbard_model = FermiHubbardModel(
    line_lattice.uniform_parameters(
        uniform_interaction=-1.0,
        uniform_onsite_potential=0.0,
    ),
    onsite_interaction=5.0,
)
Parameters:
  • lattice (Lattice) – Lattice on which the model is defined.

  • onsite_interaction (complex) – The strength of the on-site interaction.

Attributes

lattice#

Return the input lattice.

Note, that this returns the internal lattice object without copying it. Thus, changing the returned lattice object, will affect the internal lattice stored in this Hamiltonian.

register_length#

Methods

hopping_matrix()[source]#

Return the hopping matrix.

Return type:

ndarray

interaction_matrix()#

Return the interaction matrix

Returns:

The interaction matrix.

Return type:

ndarray

interpret(result)#

Interprets an EigenstateResult in this hamiltonians context.

Parameters:

result (qiskit_nature.second_q.problems.EigenstateResult) – the result to add meaning to.

second_q_op()[source]#

Return the Hamiltonian of the Fermi-Hubbard model in terms of FermionicOp.

Returns:

The Hamiltonian of the Fermi-Hubbard model.

Return type:

FermionicOp