module TBit.Systems.SquareLattice where import TBit.Types import TBit.Parameterization import Numeric.LinearAlgebra.HMatrix import Data.Complex (conjugate) import Data.Map as M hiding ((!)) parameters = Parameters { scalarParams = loadParams [("m", 1.0)] , vectorParams = M.empty , latticeData = [ vector [0,1] , vector [1,0] ] , meshingData = Spacing 0.025} hgteHamiltonian :: Parameterized Hamiltonian hgteHamiltonian = do m <- getScalar "m" let mass k = 2 + m - ((cos (k!0) + cos(k!1)) :+ 0.0) let off k = sin (k!0) :+ (negate $ sin (k!1)) return $ \k -> (2 >< 2) $ [ mass k , off k , conjugate (off k) , negate $ mass k ]