View source on GitHub |
The diagonal coulomb Hamiltonian is characterized as being a two-body
Inherits From: Hamiltonian
fqe.diagonal_coulomb.DiagonalCoulomb(
h2e: np.ndarray,
e_0: complex = (0.0 + 0.0j)
) -> None
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.
Args | |
---|---|
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
calc_diag_transform() -> np.ndarray
Performs a unitary digaonlizing transformation of the one-body term and returns that transformation.
conserve_number
conserve_number() -> bool
Returns True if the Hamiltonian is number conserving, else False.
diag_values
diag_values() -> np.ndarray
Returns the diagonal values packed into a single dimension.
diagonal
diagonal() -> bool
Returns True if the Hamiltonian is diagonal, else False.
diagonal_coulomb
diagonal_coulomb() -> bool
Returns whether or not the Hamiltonian is diagonal_coulomb.
dim
dim() -> int
Returns is the orbital dimension of the Hamiltonian arrays.
e_0
e_0()
Returns the scalar potential of the Hamiltonian.
iht
iht(
time: float
)
Returns the matrices of the Hamiltonian prepared for time evolution.
Args | |
---|---|
time
|
The time step. |
quadratic
quadratic() -> bool
Returns True if the Hamiltonian is quadratic, else False.
rank
rank() -> int
Returns the rank of the largest tensor.
tensors
tensors() -> Tuple[np.ndarray, ...]
Returns all tensors in order of their rank.
transform
transform(
trans: np.ndarray
) -> np.ndarray
Tranform the one body term using the provided matrix.
Args | |
---|---|
trans
|
Unitary transformation. |
Returns | |
---|---|
Transformed one-body Hamiltonian as a numpy.ndarray. |