contact

Module: luescher_nd.hamiltonians.contact

Implementation of contact Hamiltonians

class MomentumContactHamiltonian(n1d, epsilon=1.0, mass=4.758, ndim=3, nstep=3, filter_out=None, filter_cutoff=None, _op=None, contact_strength=-1.0)[source]

Contact interaction Hamiltonian in momentum space

apply(vec)[source]

Applies hamiltonian to vector

apply_mat(mat)[source]

Applies hamiltonian to matrix

set_contact_strength(contact_strength)[source]

Sets the value of the contact strength

get_full_hamiltonian(kinetic_hamiltonian, contact_strength, ndim_max=3, lattice_spacing=1.0)[source]

Copies kinetic Hamiltonian and adds contact strength from the (0, 0) component.

Computes \(H = H_0 + V\), where \(V = c * \delta(r)\) and nr is the relative distance in the two particle system.

Note that the discrete delta function becomes

$$ \frac{\delta_{n_r, 0}}{a_L^{n_d}} $$

This is implemented in this routine.

Parameters
  • kinetic_hamiltonian (csr_matrix) – The kinetic two-body lattice Hamiltonian.

  • contact_strength (float) – The strength of the contact interaction in respective units. This depends on the dimension of the problem, e.g., [fm]**(-1 - ndim).

Return type

csr_matrix