pytenet.hamiltonian

Construction of common quantum Hamiltonians as matrix product operators (MPOs).

Functions

bose_hubbard_1d_mpo(nsites, d, t, u, mu)

Construct Bose-Hubbard Hamiltonian with nearest-neighbor hopping on a 1D lattice as MPO.

decode_quantum_number_pair(qnum)

Decode a quantum number into two separate quantum numbers.

encode_quantum_number_pair(qa, qb)

Encode a pair of quantum numbers into a single quantum number.

fermi_hubbard_1d_mpo(nsites, t, u, mu)

Construct Fermi-Hubbard Hamiltonian with nearest-neighbor hopping on a one-dimensional lattice as MPO.

heisenberg_xxz_1d_mpo(nsites, J, D, h)

Construct XXZ Heisenberg Hamiltonian sum J X X + J Y Y + D Z Z - h Z on a one-dimensional lattice as MPO.

heisenberg_xxz_spin1_1d_mpo(nsites, J, D, h)

Construct spin-1 XXZ Heisenberg Hamiltonian sum J X X + J Y Y + D Z Z - h Z on a one-dimensional lattice as MPO.

ising_1d_mpo(nsites, J, h, g)

Construct Ising Hamiltonian sum J sz sz + h sz + g sx on a one-dimensional lattice as MPO.

linear_fermionic_mpo(coeff, ftype)

Represent a sum of fermionic creation or annihilation operators of the following form as MPO:

linear_spin_fermionic_mpo(coeff, ftype, sigma)

Represent a sum of fermionic creation or annihilation operators of the following form as MPO, where sigma = 1 indicates spin-up and sigma = -1 indicates spin-down:

molecular_hamiltonian_mpo(tkin, vint[, optimize])

Construct a molecular Hamiltonian as MPO, using physicists' convention for the interaction term (note ordering of k and ell):

molecular_hamiltonian_orbital_gauge_transform(h, u, i)

Generate the left and right gauge transformation matrices corresponding to the single-orbital rotation matrix u applied to orbitals i and i + 1.

quadratic_fermionic_mpo(coeffc, coeffa)

Represent a product of sums of fermionic creation and annihilation operators of the following form as MPO:

quadratic_spin_fermionic_mpo(coeffc, coeffa, ...)

Represent a product of sums of fermionic creation and annihilation operators of the following form as MPO, where sigma = 1 indicates spin-up and sigma = -1 indicates spin-down:

spin_molecular_hamiltonian_mpo(tkin, vint[, ...])

Construct a molecular Hamiltonian as MPO, assuming a spin orbital basis and using physicists' convention for the interaction term (note ordering of k and ell):

Classes

MolecularOID(value)

Local operator IDs for a molecular Hamiltonian.

MolecularOpGraphNodes(nsites)

Operator graph nodes used for molecular Hamiltonian construction.

SpinMolecularOID(value)

Local operator IDs for a molecular Hamiltonian using a spin orbital basis.

SpinMolecularOpGraphNodes(nsites)

Operator graph nodes used for molecular Hamiltonian construction, assuming a spin orbital basis.

SpinOperatorConverter()

Local operator conversion when transitioning from a spatial to a spin orbital basis.