-------------------------------------------------------------------------------- Fermonic PEPS using parity conserving tensors -------------------------------------------------------------------------------- - bsarray and parray classes - einsum - create repo - general parray and einsum - initialization of peps, in particular merge & transpose of parray - operations: mps_dot & mpo_apply_to_mps - peps_dot and peps contraction - autograd optimization - Hessenberg hamiltonian - fix bug for 3*3 case [fixed for Sp*Sm] - autograd tested against finite difference - save & load PEPS => callback - SVD-mps/mpo compression for larger systems - fix bugs in <A|H|B> - Monte-Carlo - seems to be very suitable for long-range Hamiltoinan; we only needs to read out the coefficients <n|PEPS> for given |n>. Note: <n|H|PEPS> is required to avoid additional RI. - fermionic operations Starting from 2-by-2: Q1: how operators are represented and act on PEPS ? Q2: how <PEPS|H|PEPS> can be converted to bosonic TNS diagrams? Q3: particle number projector? any advantage -------------------------------------------------------------------------------- TODOs -------------------------------------------------------------------------------- - memory issue? => larger systems - optimize the contraction scheme for <PEPS|H|PEPS>; reusing intermediates or using PEPO - regularize the PEPS for better numerical stability! divide each by max element - eigenvalue optimization for small problem -------------------------------------------------------------------------------- To run it: -------------------------------------------------------------------------------- - Requirement: autograd - Download and change name for directory from fPEPS to fpeps2017. Go to fermions and run, e.g., peps2by2.py.