fqe.diagonal_coulomb.DiagonalCoulomb

The diagonal coulomb Hamiltonian is characterized as being a two-body

Inherits From: Hamiltonian

operator with a specific structure such that it is the product of two number operators. It is generally written as

.. math:: \hat{H} = E_0 + \sum_r f_r \hat{n}_r

    + \sum_{rs} v_{rs} \hat{n}_r \hat{n}_s

where n is a number operator. Note that this Hamiltonian is diagonal in the Slater determinant space,

.. math:: \langle I|\hat{H}|J\rangle = pI \delta{IJ}

where p is an appropriate factor.

h2e either (1) a dense rank-2 array that contains the diagonal elements :math:|v_{rs}| above, or (2) a dense rank-4 array in the format used for two-body operator in the dense Hamiltonian code.
e_0 Scalar potential associated with the Hamiltonian.

Methods

calc_diag_transform

View source

Performs a unitary digaonlizing transformation of the one-body term and returns that transformation.

conserve_number

View source

Returns True if the Hamiltonian is number conserving, else False.

diag_values

View source

Returns the diagonal values packed into a single dimension.

diagonal

View source

Returns True if the Hamiltonian is diagonal, else False.

diagonal_coulomb

View source

Returns whether or not the Hamiltonian is diagonal_coulomb.

dim

View source

Returns is the orbital dimension of the Hamiltonian arrays.

e_0

View source

Returns the scalar potential of the Hamiltonian.

iht

View source

Returns the matrices of the Hamiltonian prepared for time evolution.

Args
time The time step.

quadratic

View source

Returns True if the Hamiltonian is quadratic, else False.

rank

View source

Returns the rank of the largest tensor.

tensors

View source

Returns all tensors in order of their rank.

transform

View source

Tranform the one body term using the provided matrix.

Args
trans Unitary transformation.

Returns
Transformed one-body Hamiltonian as a numpy.ndarray.