Ising model
We study the Hamiltonian of the transverse-field Ising model with periodic boundary conditions and transverse field g set to 1.
using CondensedMatterSOS
@spin σ[1:2]
ising_hamiltonian(σ, 1, true)\[ -σᶻ_{2} + -σᶻ_{1} + (2 + 0im)σˣ_{1}σˣ_{2} \]
Let's pick a solver from this list.
using CSDP
solver = optimizer_with_attributes(
() -> MOIU.CachingOptimizer(MOIU.UniversalFallback(MOIU.Model{Float64}()), CSDP.Optimizer()),
MOI.Silent() => true
)MathOptInterface.OptimizerWithAttributes(Main.var"#1#2"(), Pair{MathOptInterface.AbstractOptimizerAttribute, Any}[MathOptInterface.Silent() => true])We can compute a lower bound -2√2 to the ground state energy as follow:
function hamiltonian_energy(N, maxdegree, solver; kws...)
@spin σ[1:N]
H = ising_hamiltonian(σ, 1, true)
energy(H, maxdegree, solver; kws...)
end
bound, gram, ν = hamiltonian_energy(2, 2, solver, sparsity = NoSparsity())
bound-2.8284271451374794We can see that the moment matrix uses all monomials:
ν.basis.monomials7-element Vector{CondensedMatterSOS.SpinMonomial}:
1
σᶻ₂
σʸ₂
σˣ₂
σᶻ₁
σʸ₁
σˣ₁Using term sparsity with block/cluster completion, we get the same bound:
bound, gram, ν = hamiltonian_energy(2, 2, solver)
bound-2.8284271414935103But with a smaller basis:
[M.basis.monomials for M in ν.blocks]2-element Vector{Vector{CondensedMatterSOS.SpinMonomial}}:
[1, σᶻ₂, σᶻ₁]
[σʸ₂, σˣ₂, σʸ₁, σˣ₁]Using term sparsity with chordal completion, we get a smaller bound:
bound, gram, ν = hamiltonian_energy(2, 2, solver, sparsity = MonomialSparsity(ChordalCompletion()))
bound-4.000000003029696But with an even smaller basis:
[M.basis.monomials for M in ν.blocks]5-element Vector{Vector{CondensedMatterSOS.SpinMonomial}}:
[σʸ₁, σˣ₁]
[σˣ₂, σˣ₁]
[σʸ₂, σˣ₂]
[1, σᶻ₁]
[1, σᶻ₂]This page was generated using Literate.jl.