States
Lattice states in Schwinger.jl are represented by the abstract type SchwingerState, with four concrete types:
BasisState: a state specified by the eigenvalues of occupation operators $\chi^\dagger_{n,\alpha}\chi_{n,\alpha}$ and $L_0$EDState: a linear combination ofBasisStatesITensorState: a matrix product state usingITensorMPS.jlMPSKitState: a matrix product state usingMPSKit.jl
Given a state, we can find the expectation values of the occupation operators and electric field operators:
using Schwinger
lat = Lattice(6; F = 1, a = 10) # towards the lattice strong coupling limit ga -> infty
gs = groundstate(Hamiltonian(lat; backend=:ED))
occupations(gs), electricfields(gs)([0.9996009569748595; 0.0007976086592019167; … ; 0.9992023913407977; 0.0003990430251401046;;], [-0.0003990430251404886; 0.00039856563406142807; … ; -0.00039904302514120744; -1.1028504498522551e-15;;])We can also evaluate the entanglement entropies of each bisection of the lattice:
using Schwinger
lat = Lattice(20; F = 1, )
gs = groundstate(Hamiltonian(lat; backend=:ITensors))
entanglements(gs)19-element Vector{Float64}:
0.5892661594332941
0.39444995102389885
0.516866301480542
0.45373049909707325
0.489916146643204
0.4701048867712342
0.4812980874019193
0.4748933776117914
0.4788497809441128
0.475938063085563
0.47884978094398795
0.4748933776117382
0.48129808740185354
0.47010488677116635
0.4899161466431349
0.45373049909698904
0.5168663014802899
0.39444995102369096
0.5892661594332924When using an infinite lattice with MPSKit, we can compute these quantities in the thermodynamic limit.
using Schwinger
lat = Lattice(Inf; F = 1, )
gs = groundstate(Hamiltonian(lat; backend=:MPSKit))
entanglements(gs)2-element Vector{Float64}:
0.47727450642310904
0.47727450642638825The two numbers here correspond to the two possible bisections of the two-site unit cell (corresponding to an odd and an site from the middle of a large finite lattice).
Several other useful functions are detailed below.
Schwinger.SchwingerState — Type
SchwingerState
Abstract type for Schwinger model states.
Schwinger.BasisState — Type
BasisState(occupations, L0)
A Schwinger model basis state.
Schwinger.EDState — Type
EDState(hamiltonian, coeffs)
A Schwinger model state represented as a linear combination of basis states.
Schwinger.ITensorState — Type
ITensorState(hamiltonian, psi)
A Schwinger model MPS.
Schwinger.MPSKitState — Type
MPSKitState(hamiltonian, psi)
A Schwinger model MPS using MPSKit.jl.
Schwinger.occupation — Function
occupation(state, site)
Return the expectations of χ†χ operators of each flavor on a given site.
Arguments
state::ITensorState: Schwinger model state.site::Int: the lattice site.
occupation(state, site)
Return the expectations of χ†χ operators of each flavor on a given site.
Arguments
state::MPSKitState: Schwinger model state.site::Int: the lattice site.
occupation(state, site)
Return the expectations of χ†χ operators of each flavor on a given site.
Arguments
state::BasisState: Schwinger model basis state.site::Int: the lattice site.
occupation(state, site)
Return the expectations of χ†χ operators of each flavor on a given site.
Arguments
state::EDState: Schwinger model basis state.site::Int: the lattice site.
Schwinger.occupations — Function
occupations(state)
Return an NxF matrix of the expectations of χ†χ operators on each site.
Arguments
state::ITensorState: Schwinger model state.
occupations(state)
Return an NxF matrix of the expectations of χ†χ operators on each site.
Arguments
state::MPSKitState: Schwinger model state.
occupations(state)
Return an NxF matrix of the expectations of χ†χ operators on each site.
Arguments
state::BasisState: Schwinger model basis state.
occupations(state)
Return an NxF matrix of the expectations of χ†χ operators on each site.
Arguments
state::EDState: Schwinger model basis state.
Schwinger.charge — Function
charge(state, site)
Return the expectation value of the charge operator on site site.
Arguments
state::SchwingerState: Schwinger model state.site::Int: site.
Schwinger.charges — Function
charges(state)
Return a list of the expectations of Q operators on each site.
Arguments
state::SchwingerState: Schwinger model state.
Schwinger.electricfield — Function
electricfield(state, link)
Return the expectation of (L + θ/2π) on the link link.
Arguments
state::SchwingerState: Schwinger model state.link::Int: link.
Schwinger.electricfields — Function
electricfields(state)
Return a list of the expectations of (L + θ/2π) operators on each link.
Arguments
state::SchwingerState: Schwinger model state.
Schwinger.entanglement — Function
entanglement(state, bisection)
Return the von Neumann entanglement entropy -tr(ρₐ log(ρₐ)), where a is the subsystem of sites 1..bisection
Arguments
state::EDState: Schwinger model state.bisection::Int: bisection index.
entanglement(state, bisection)
Return the von Neumann entanglement entropy -tr(ρₐ log(ρₐ)), where a is the subsystem of sites 1..bisection
Arguments
state::ITensorState: Schwinger model state.bisection::Int: bisection index.
entanglement(state, bisection)
Return the von Neumann entanglement entropy -tr(ρₐ log(ρₐ)), where a is the subsystem of sites 1..bisection
Arguments
state::MPSKitState: Schwinger model state.bisection::Int: bisection index.
Schwinger.entanglements — Function
entanglements(state)
Return a list of the von Neumann entanglement entropies for each bisection of the lattice.
Arguments
state::SchwingerState: Schwinger model state.
Schwinger.energy — Function
energy(state)
Return the expectation value of the Hamiltonian.
Arguments
state::SchwingerState: Schwinger model state (ED, MPS, or MPSKit).
energy(state)
Return the expectation value of the Hamiltonian.
Arguments
state::BasisState: Schwinger model basis state.
Schwinger.L₀ — Function
L₀(state)
Return the expectation value of L₀.
Arguments
state::SchwingerState: Schwinger model state.
Schwinger.scalar — Function
scalar(state)
Return the expectation value of the scalar condensate, ⟨H_mass⟩/L.
Arguments
state::SchwingerState: Schwinger model state.
Schwinger.scalardensity — Function
scalardensity(state, site)
Return the scalar density at site site.
Arguments
state::SchwingerState: Schwinger model state.site::Int: site.
Schwinger.scalardensities — Function
scalardensities(state)
Return the list of scalar densities of state on sites 1 through N.
Arguments
state::SchwingerState: Schwinger model state.site::Int: site.
Schwinger.pseudoscalar — Function
pseudoscalar(state)
Return the expectation value of the pseudoscalar condensate, ⟨H_hoppingmass⟩/L.
Arguments
state::SchwingerState: Schwinger model state.
Schwinger.pseudoscalardensity — Function
pseudoscalardensity(state, n)
Return the pseudoscalar density at site n.
Arguments
state::SchwingerState: Schwinger model state.n::Int: site.
Schwinger.pseudoscalardensities — Function
pseudoscalardensities(state)
Return the list of pseudoscalar densities of state on sites 1 through N.
Arguments
state::SchwingerState: Schwinger model state.site::Int: site.