anchor.diff:  ! If true, then the eigenvectors are found during exact diagonalisation as well
   ! as the eigenvalues.  Doing this is substantially more expensive.
   logical :: find_eigenvectors = .false.
  -
  -! If true then the non-zero elements of the Hamiltonian matrix are written to hamiltonian_file.
  -logical :: write_hamiltonian = .false.
  -character(255) :: hamiltonian_file = 'HAMIL'
   
   ! BLACS info for diagonalisation
   type(blacs_info) :: proc_blacs_info
  
positive.code: 
  implicit none
  
  ! Flags for doing exact and/or Lanczos diagonalisation.
  logical :: t_exact = .false., t_lanczos = .false.
  
  ! Ms of determinants.  If not set, then all possible values of Ms are considered
  ! in FCI.
  integer :: ms_in = huge(1)
  
  ! Symmetry block of determinants.
  ! Ignored for real space formulation.
  ! Refers to a wavevector in momentum space formulation.
  integer :: sym_in = huge(1)
  
  ! Hamiltonian matrix.  Clearly the scaling of the memory demands with system
  ! size is horrendous.  We only store one symmetry block at a time though.
  
negative.code: ! Flag which stores which distribution mode is in use.
  integer :: distribute = distribute_off
  
  ! If true then the non-zero elements of the Hamiltonian matrix are written to hamiltonian_file.
  logical :: write_hamiltonian = .false.
  character(255) :: hamiltonian_file = 'HAMIL'
  
  end module calc
  