import Tcsa import Boson import Complex showData :: BaseVector a => Params -> Operator a -> String showData params pot = unlines ["Version 3.1", "", showParams pot params, "tcsdim: " ++ tcsDim, "", "conformal energies:", diagonals, "perturbation matrix:"] ++ matrixElements where cutStates = {-# SCC "showData1" #-} getStates params tcsDim = {-# SCC "showData2" #-} show (length cutStates) diagonals = {-# SCC "showData3" #-} unlines $ map (show . energy) cutStates matrixElements = {-# SCC "showData4" #-} unlines $ map unwords off off = {-# SCC "showData5" #-} [map (show . pot outV) (take i cutStates) | (outV,i) <- zip cutStates [1..]] main = do let params = Params {cut=5, radius=3, topCharge=0, spin=0, delta=0.55556, prefac=1} putStr $ showData params (ncVop params)