subroutine alloc_wf(this)
class(core_space_t), intent(inout) :: this
integer :: vec_size
integer :: ierr
character(*), parameter :: t_r = "core_space_t%alloc_wf"
! Store the operating range of this core space
if (this%t_global) then
vec_size = lenof_sign
else
vec_size = rep_size
end if
! Allocate the vectors to store the walker amplitudes and the deterministic Hamiltonian.
allocate(this%full_determ_vecs(vec_size, this%determ_space_size), stat=ierr)
call LogMemAlloc('full_determ_vecs', this%determ_space_size_int * lenof_sign, &
8, t_r, this%FDetermTag, ierr)
allocate(this%full_determ_vecs_av(vec_size, this%determ_space_size), stat=ierr)
call LogMemAlloc('full_determ_vecs_av', this%determ_space_size_int * lenof_sign, &
8, t_r, this%FDetermAvTag, ierr)
allocate(this%partial_determ_vecs(vec_size, this%determ_sizes(iProcIndex)), stat=ierr)
call LogMemAlloc('partial_determ_vecs', int(this%determ_sizes(iProcIndex), &
sizeof_int) * lenof_sign, 8, t_r, this%PDetermTag, ierr)
this%full_determ_vecs = 0.0_dp
this%full_determ_vecs_av = 0.0_dp
this%partial_determ_vecs = 0.0_dp
end subroutine alloc_wf