guga_bitRepOps Module



Contents


Variables

Type Visibility Attributes Name Initial
type(CSF_Info_t), public :: current_csf_i

Information about the current CSF, similar to ilut and nI.

type(CSF_Info_t), public, allocatable :: csf_ref(:)

Information about the reference determinant of every run.


Interfaces

public interface isProperCSF_ilut

  • private pure function isProperCSF_b(ilut) result(flag)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=n_int), intent(in) :: ilut(0:GugaBits%len_tot)

    Return Value logical

  • private function isProperCSF_sys(ilut, sysFlag, t_print_in) result(flag)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=n_int), intent(in) :: ilut(0:GugaBits%len_tot)
    logical, intent(in) :: sysFlag
    logical, intent(in), optional :: t_print_in

    Return Value logical

public interface find_switches

  • private subroutine find_switches_ilut(ilut, ind, lower, upper)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=n_int), intent(in) :: ilut(0:GugaBits%len_tot)
    integer, intent(in) :: ind
    integer, intent(out) :: lower
    integer, intent(out) :: upper
  • private subroutine find_switches_stepvector(csf_i, ind, lower, upper)

    Arguments

    Type IntentOptional Attributes Name
    type(CSF_Info_t), intent(in) :: csf_i
    integer, intent(in) :: ind
    integer, intent(out) :: lower
    integer, intent(out) :: upper

public interface encode_matrix_element

  • private pure subroutine encode_matrix_element_real(ilut, mat_ele, mat_type)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=n_int), intent(inout) :: ilut(0:GugaBits%len_tot)
    real(kind=dp), intent(in) :: mat_ele
    integer, intent(in) :: mat_type

public interface update_matrix_element

  • private subroutine update_matrix_element_real(ilut, mat_ele, mat_type)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=n_int), intent(inout) :: ilut(0:GugaBits%len_tot)
    real(kind=dp), intent(in) :: mat_ele
    integer, intent(in) :: mat_type

public interface encode_excit_info

  • private function encode_excit_info_scalar(typ, a, i, b, j) result(excit_info_int)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: typ
    integer, intent(in) :: a
    integer, intent(in) :: i
    integer, intent(in) :: b
    integer, intent(in) :: j

    Return Value integer(kind=int64)

  • private function encode_excit_info_obj(excitInfo) result(excit_info_int)

    Arguments

    Type IntentOptional Attributes Name
    type(ExcitationInformation_t), intent(in) :: excitInfo

    Return Value integer(kind=int64)

  • private function encode_excit_info_vec(typ, inds) result(excit_info_int)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: typ
    integer, intent(in) :: inds(4)

    Return Value integer(kind=int64)

public interface extract_excit_info_indices

  • private subroutine extract_excit_info_indices_vec(excit_info_int, inds)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=int64), intent(in) :: excit_info_int
    integer, intent(out) :: inds(4)
  • private subroutine extract_excit_info_indices_scalar(excit_info_int, a, i, b, j)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=int64), intent(in) :: excit_info_int
    integer, intent(out) :: a
    integer, intent(out) :: i
    integer, intent(out) :: b
    integer, intent(out) :: j

public interface extract_excit_info

  • private subroutine extract_excit_info_scalar(excit_info_int, typ, a, i, b, j)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=int64), intent(in) :: excit_info_int
    integer, intent(out) :: typ
    integer, intent(out) :: a
    integer, intent(out) :: i
    integer, intent(out) :: b
    integer, intent(out) :: j
  • private subroutine extract_excit_info_vector(excit_info_int, typ, inds)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=int64), intent(in) :: excit_info_int
    integer, intent(out) :: typ
    integer, intent(out) :: inds(4)
  • private subroutine extract_excit_info_obj(excit_info_int, excitInfo)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=int64), intent(in) :: excit_info_int
    type(ExcitationInformation_t), intent(out) :: excitInfo

public interface encode_excit_info_indices

  • private subroutine encode_excit_info_indices_vec(excit_info_int, inds)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=int64), intent(inout) :: excit_info_int
    integer, intent(in) :: inds(4)
  • private subroutine encode_excit_info_indices_scalar(excit_info_int, a, i, b, j)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=int64), intent(inout) :: excit_info_int
    integer, intent(in) :: a
    integer, intent(in) :: i
    integer, intent(in) :: b
    integer, intent(in) :: j

public interface CSF_Info_t

  • private pure function construct_CSF_Info_t(ilut) result(csf_i)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=n_int), intent(in) :: ilut(0:GugaBits%len_tot)

    Return Value type(CSF_Info_t)


Derived Types

type, public ::  CSF_Info_t

Components

Type Visibility Attributes Name Initial
integer, public, allocatable :: stepvector(:)
integer, public, allocatable :: Occ_int(:)
integer, public, allocatable :: B_int(:)
real(kind=dp), public, allocatable :: Occ_real(:)
real(kind=dp), public, allocatable :: B_real(:)
real(kind=dp), public, allocatable :: cum_list(:)

also use a fake cum-list of the non-doubly occupied orbital to increase preformance in the picking of orbitals (a)

Constructor

private pure function construct_CSF_Info_t (ilut)

Type-Bound Procedures

procedure , private , :: eq_CSF_Info_t Function
procedure , private , :: neq_CSF_Info_t Function
generic, public :: operator(==) => eq_CSF_Info_t
generic, public :: operator(/=) => neq_CSF_Info_t

Functions

private pure function find_guga_excit_lvl_to_doubles(ilutI, ilutJ)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilutI(0:GugaBits%len_tot)
integer(kind=n_int), intent(in) :: ilutJ(0:GugaBits%len_tot)

Return Value integer

public pure function find_guga_excit_lvl(ilutI, ilutJ)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilutI(0:GugaBits%len_tot)
integer(kind=n_int), intent(in) :: ilutJ(0:GugaBits%len_tot)

Return Value integer

public pure function identify_excitation(ilutI, ilutJ) result(excitInfo)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilutI(0:nifd)
integer(kind=n_int), intent(in) :: ilutJ(0:nifd)

Return Value type(ExcitationInformation_t)

private pure function assign_excitInfo_values_exact(typ, gen1, gen2, currentGen, firstGen, lastGen, i, j, k, l, fullStart, secondStart, firstEnd, fullEnd, weight, excitLvl, order, order1, overlap, spin_change) result(excitInfo)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: typ
integer, intent(in) :: gen1
integer, intent(in) :: gen2
integer, intent(in) :: currentGen
integer, intent(in) :: firstGen
integer, intent(in) :: lastGen
integer, intent(in) :: i
integer, intent(in) :: j
integer, intent(in) :: k
integer, intent(in) :: l
integer, intent(in) :: fullStart
integer, intent(in) :: secondStart
integer, intent(in) :: firstEnd
integer, intent(in) :: fullEnd
integer, intent(in) :: weight
integer, intent(in) :: excitLvl
real(kind=dp), intent(in) :: order
real(kind=dp), intent(in) :: order1
integer, intent(in), optional :: overlap
logical, intent(in), optional :: spin_change

Return Value type(ExcitationInformation_t)

private pure function assign_excitInfo_values_single_ex(gen, i, j, fullStart, fullEnd, typ) result(excitInfo)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: gen
integer, intent(in) :: i
integer, intent(in) :: j
integer, intent(in) :: fullStart
integer, intent(in) :: fullEnd
integer, intent(in), optional :: typ

Return Value type(ExcitationInformation_t)

public pure function findFirstSwitch(iI, iJ, start, semi) result(orb)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: iI(0:GugaBits%len_tot)
integer(kind=n_int), intent(in) :: iJ(0:GugaBits%len_tot)
integer, intent(in) :: start
integer, intent(in) :: semi

Return Value integer

public pure function findLastSwitch(ilutI, ilutJ, semi, ende) result(orb)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilutI(0:GugaBits%len_tot)
integer(kind=n_int), intent(in) :: ilutJ(0:GugaBits%len_tot)
integer, intent(in) :: semi
integer, intent(in) :: ende

Return Value integer

public function csf_purify(sd_hilbert_space, total_spin, n_el) result(csfs)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: sd_hilbert_space(:,:)
integer, intent(in) :: total_spin
integer, intent(in) :: n_el

Return Value integer(kind=n_int), allocatable, (:,:)

public pure function get_preceeding_opposites(nJ, orb)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: nJ(nel)
integer, intent(in) :: orb

Return Value real(kind=dp)

public function extract_matrix_element(ilut, mat_type) result(mat_ele)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:GugaBits%len_tot)
integer, intent(in) :: mat_type

Return Value real(kind=dp)

public function count_beta_orbs_ij(csf_i, i, j) result(nOpen)

Arguments

Type IntentOptional Attributes Name
type(CSF_Info_t), intent(in) :: csf_i
integer, intent(in) :: i
integer, intent(in) :: j

Return Value integer

public function count_alpha_orbs_ij(csf_i, i, j) result(nOpen)

Arguments

Type IntentOptional Attributes Name
type(CSF_Info_t), intent(in) :: csf_i
integer, intent(in) :: i
integer, intent(in) :: j

Return Value integer

public elemental function count_open_orbs_ij(csf_i, i, j)

Arguments

Type IntentOptional Attributes Name
type(CSF_Info_t), intent(in) :: csf_i
integer, intent(in) :: i
integer, intent(in) :: j

Return Value integer

public function getExcitationRangeMask(i, j) result(mask)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: i
integer, intent(in) :: j

Return Value integer(kind=n_int)

public function getDeltaB(ilut) result(deltaB)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:GugaBits%len_tot)

Return Value integer

public function extract_h_element(ilutG) result(HElement)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilutG(0:GugaBits%len_tot)

Return Value real(kind=dp)

public function isProperCSF_nI(nI) result(flag)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: nI(nEl)

Return Value logical

private pure function isProperCSF_b(ilut) result(flag)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:GugaBits%len_tot)

Return Value logical

public pure function isProperCSF_flexible(ilut, spin, num_el) result(flag)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:GugaBits%len_tot)
integer, intent(in) :: spin
integer, intent(in) :: num_el

Return Value logical

private function isProperCSF_sys(ilut, sysFlag, t_print_in) result(flag)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:GugaBits%len_tot)
logical, intent(in) :: sysFlag
logical, intent(in), optional :: t_print_in

Return Value logical

public pure function calcB_vector_nI(nI) result(bVector)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: nI(nEl)

Return Value real(kind=dp), (nEl)

public pure function isDouble(nI, iOrb) result(flag)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: nI(nEl)
integer, intent(in) :: iOrb

Return Value logical

public pure function calcStepvector(ilut) result(stepVector)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:GugaBits%len_orb)

Return Value integer, (nSpatOrbs)

public pure function calcOcc_vector_ilut(ilut) result(occVector)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:GugaBits%len_orb)

Return Value real(kind=dp), (nSpatOrbs)

public pure function calcOcc_vector_int(ilut) result(occVector)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:GugaBits%len_orb)

Return Value integer, (nSpatOrbs)

public pure function calcB_vector_ilut(ilut) result(bVector)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:GugaBits%len_orb)

Return Value real(kind=dp), (nSpatOrbs)

public pure function calcB_vector_int(ilut) result(bVector)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:GugaBits%len_orb)

Return Value integer, (nSpatOrbs)

public pure function getSpatialOccupation(ilut, s) result(nOcc)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:GugaBits%len_orb)
integer, intent(in) :: s

Return Value real(kind=dp)

public pure function convert_guga_to_ni(csf, siz) result(nI)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: csf(siz)
integer, intent(in) :: siz

Return Value integer, (nel)

private pure function construct_CSF_Info_t(ilut) result(csf_i)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:GugaBits%len_tot)

Return Value type(CSF_Info_t)

private elemental function eq_CSF_Info_t(csf_i, csf_j) result(res)

Arguments

Type IntentOptional Attributes Name
class(CSF_Info_t), intent(in) :: csf_i
class(CSF_Info_t), intent(in) :: csf_j

Return Value logical

private elemental function neq_CSF_Info_t(csf_i, csf_j) result(res)

Arguments

Type IntentOptional Attributes Name
class(CSF_Info_t), intent(in) :: csf_i
class(CSF_Info_t), intent(in) :: csf_j

Return Value logical

public pure function is_compatible(ilut, csf_i) result(res)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:GugaBits%len_tot)
type(CSF_Info_t), intent(in) :: csf_i

Return Value logical

public pure function extract_stochastic_rdm_ind(BitIndex, ilut) result(rdm_ind)

Arguments

Type IntentOptional Attributes Name
type(BitRep_t), intent(in) :: BitIndex
integer(kind=n_int), intent(in) :: ilut(0:BitIndex%len_tot)

Return Value integer(kind=int_rdm)

public pure function extract_stochastic_rdm_x0(BitIndex, ilut) result(x0)

Arguments

Type IntentOptional Attributes Name
type(BitRep_t), intent(in) :: BitIndex
integer(kind=n_int), intent(in) :: ilut(0:BitIndex%len_tot)

Return Value real(kind=dp)

public pure function extract_stochastic_rdm_x1(BitIndex, ilut) result(x1)

Arguments

Type IntentOptional Attributes Name
type(BitRep_t), intent(in) :: BitIndex
integer(kind=n_int), intent(in) :: ilut(0:BitIndex%len_tot)

Return Value real(kind=dp)

public pure function contract_1_rdm_ind(i, a, excit_lvl, excit_typ) result(rdm_ind)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: i
integer, intent(in) :: a
integer, intent(in), optional :: excit_lvl
integer, intent(in), optional :: excit_typ

Return Value integer(kind=int_rdm)

public pure function extract_excit_type_rdm(rdm_ind) result(excit_typ)

Arguments

Type IntentOptional Attributes Name
integer(kind=int_rdm), intent(in) :: rdm_ind

Return Value integer

public pure function extract_excit_lvl_rdm(rdm_ind) result(excit_lvl)

Arguments

Type IntentOptional Attributes Name
integer(kind=int_rdm), intent(in) :: rdm_ind

Return Value integer

public pure function contract_2_rdm_ind(i, j, k, l, excit_lvl, excit_typ) result(ijkl)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: i
integer, intent(in) :: j
integer, intent(in) :: k
integer, intent(in) :: l
integer, intent(in), optional :: excit_lvl
integer, intent(in), optional :: excit_typ

Return Value integer(kind=int_rdm)

public pure function extract_rdm_ind(ilutG) result(rdm_ind)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilutG(0:GugaBits%len_tot)

Return Value integer(kind=int_rdm)

private function encode_excit_info_vec(typ, inds) result(excit_info_int)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: typ
integer, intent(in) :: inds(4)

Return Value integer(kind=int64)

private function encode_excit_info_scalar(typ, a, i, b, j) result(excit_info_int)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: typ
integer, intent(in) :: a
integer, intent(in) :: i
integer, intent(in) :: b
integer, intent(in) :: j

Return Value integer(kind=int64)

public pure function extract_excit_info_type(excit_info_int) result(typ)

Arguments

Type IntentOptional Attributes Name
integer(kind=int64), intent(in) :: excit_info_int

Return Value integer

private function extract_excit_info_index(excit_info_int, pos) result(ind)

Arguments

Type IntentOptional Attributes Name
integer(kind=int64), intent(in) :: excit_info_int
integer, intent(in) :: pos

Return Value integer

private function calc_remaining_excit_info(typ, a, i, b, j) result(excitInfo)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: typ
integer, intent(in) :: a
integer, intent(in) :: i
integer, intent(in) :: b
integer, intent(in) :: j

Return Value type(ExcitationInformation_t)

private function encode_excit_info_obj(excitInfo) result(excit_info_int)

Arguments

Type IntentOptional Attributes Name
type(ExcitationInformation_t), intent(in) :: excitInfo

Return Value integer(kind=int64)


Subroutines

public subroutine init_guga_bitrep(n_spatial_bits)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: n_spatial_bits

public subroutine getExcitation_guga(nI, nJ, ex)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: nI(nEl)
integer, intent(in) :: nJ(nEl)
integer, intent(out) :: ex(2,2)

private subroutine find_switches_ilut(ilut, ind, lower, upper)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:GugaBits%len_tot)
integer, intent(in) :: ind
integer, intent(out) :: lower
integer, intent(out) :: upper

private subroutine find_switches_stepvector(csf_i, ind, lower, upper)

Arguments

Type IntentOptional Attributes Name
type(CSF_Info_t), intent(in) :: csf_i
integer, intent(in) :: ind
integer, intent(out) :: lower
integer, intent(out) :: upper

public subroutine add_guga_lists(nDets1, nDets2, list1, list2)

Arguments

Type IntentOptional Attributes Name
integer, intent(inout) :: nDets1
integer, intent(in) :: nDets2
integer(kind=n_int), intent(inout) :: list1(0:,1:)
integer(kind=n_int), intent(inout) :: list2(0:,1:)

public subroutine write_guga_list(nunit, ilut, n_orbs)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: nunit
integer(kind=n_int), intent(in) :: ilut(:,:)
integer, intent(in), optional :: n_orbs

public subroutine write_det_guga(nunit, ilut, flag, n_orbs)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: nunit
integer(kind=n_int), intent(in) :: ilut(0:)
logical, intent(in), optional :: flag
integer, intent(in), optional :: n_orbs

private pure subroutine encode_matrix_element_real(ilut, mat_ele, mat_type)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(inout) :: ilut(0:GugaBits%len_tot)
real(kind=dp), intent(in) :: mat_ele
integer, intent(in) :: mat_type

private subroutine update_matrix_element_real(ilut, mat_ele, mat_type)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(inout) :: ilut(0:GugaBits%len_tot)
real(kind=dp), intent(in) :: mat_ele
integer, intent(in) :: mat_type

public pure subroutine setDeltaB(deltaB, ilut)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: deltaB
integer(kind=n_int), intent(inout) :: ilut(0:GugaBits%len_tot)

public subroutine convert_ilut_toNECI(ilutG, ilutN, HElement)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilutG(0:GugaBits%len_tot)
integer(kind=n_int), intent(out) :: ilutN(0:niftot)
real(kind=dp), intent(out), optional :: HElement

public pure subroutine transfer_stochastic_rdm_info(ilutG, ilutN, BitIndex_from, BitIndex_to)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilutG(0:)
integer(kind=n_int), intent(inout) :: ilutN(0:)
type(BitRep_t), intent(in), optional :: BitIndex_from
type(BitRep_t), intent(in), optional :: BitIndex_to

public pure subroutine convert_ilut_toGUGA(ilutN, ilutG, HElement, delta_b)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilutN(0:niftot)
integer(kind=n_int), intent(out) :: ilutG(0:GugaBits%len_tot)
real(kind=dp), intent(in), optional :: HElement
integer, intent(in), optional :: delta_b

public pure subroutine EncodeBitDet_guga(nI, ilut)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: nI(nEl)
integer(kind=n_int), intent(out) :: ilut(0:GugaBits%len_tot)

public pure subroutine calc_csf_i(ilut, step_vector, b_vector, occ_vector)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:niftot)
integer, intent(out) :: step_vector(nSpatOrbs)
integer, intent(out) :: b_vector(nSpatOrbs)
real(kind=dp), intent(out) :: occ_vector(nSpatOrbs)

public elemental subroutine new_CSF_Info_t(n_spat_orbs, csf_i)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: n_spat_orbs
type(CSF_Info_t), intent(out) :: csf_i

public pure subroutine fill_csf_i(ilut, csf_i)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:GugaBits%len_tot)
type(CSF_Info_t), intent(inout) :: csf_i

public pure subroutine encode_stochastic_rdm_info(BitIndex, ilut, rdm_ind, x0, x1)

Arguments

Type IntentOptional Attributes Name
type(BitRep_t), intent(in) :: BitIndex
integer(kind=n_int), intent(inout) :: ilut(0:BitIndex%len_tot)
integer(kind=int_rdm), intent(in) :: rdm_ind
real(kind=dp), intent(in) :: x0
real(kind=dp), intent(in) :: x1

public pure subroutine extract_stochastic_rdm_info(BitIndex, ilut, rdm_ind, x0, x1)

Arguments

Type IntentOptional Attributes Name
type(BitRep_t), intent(in) :: BitIndex
integer(kind=n_int), intent(in) :: ilut(0:BitIndex%len_tot)
integer(kind=int_rdm), intent(out) :: rdm_ind
real(kind=dp), intent(out) :: x0
real(kind=dp), intent(out) :: x1

public pure subroutine encode_stochastic_rdm_ind(BitIndex, ilut, rdm_ind)

Arguments

Type IntentOptional Attributes Name
type(BitRep_t), intent(in) :: BitIndex
integer(kind=n_int), intent(inout) :: ilut(0:BitIndex%len_tot)
integer(kind=int_rdm), intent(in) :: rdm_ind

public pure subroutine encode_stochastic_rdm_x0(BitIndex, ilut, x0)

Arguments

Type IntentOptional Attributes Name
type(BitRep_t), intent(in) :: BitIndex
integer(kind=n_int), intent(inout) :: ilut(0:BitIndex%len_tot)
real(kind=dp), intent(in) :: x0

public pure subroutine encode_stochastic_rdm_x1(BitIndex, ilut, x1)

Arguments

Type IntentOptional Attributes Name
type(BitRep_t), intent(in) :: BitIndex
integer(kind=n_int), intent(inout) :: ilut(0:BitIndex%len_tot)
real(kind=dp), intent(in) :: x1

public pure subroutine extract_1_rdm_ind(rdm_ind, i, a, excit_lvl, excit_typ)

Arguments

Type IntentOptional Attributes Name
integer(kind=int_rdm), intent(in) :: rdm_ind
integer, intent(out) :: i
integer, intent(out) :: a
integer, intent(out), optional :: excit_lvl
integer, intent(out), optional :: excit_typ

private pure subroutine encode_excit_typ_rdm(rdm_ind, excit_typ)

Arguments

Type IntentOptional Attributes Name
integer(kind=int_rdm), intent(inout) :: rdm_ind
integer, intent(in) :: excit_typ

private pure subroutine encode_excit_lvl_rdm(rdm_ind, excit_lvl)

Arguments

Type IntentOptional Attributes Name
integer(kind=int_rdm), intent(inout) :: rdm_ind
integer, intent(in) :: excit_lvl

public pure subroutine extract_2_rdm_ind(ijkl, i, j, k, l, ij_out, kl_out, excit_lvl, excit_typ)

Arguments

Type IntentOptional Attributes Name
integer(kind=int_rdm), intent(in) :: ijkl
integer, intent(out) :: i
integer, intent(out) :: j
integer, intent(out) :: k
integer, intent(out) :: l
integer(kind=int_rdm), intent(out), optional :: ij_out
integer(kind=int_rdm), intent(out), optional :: kl_out
integer, intent(out), optional :: excit_lvl
integer, intent(out), optional :: excit_typ

public pure subroutine encode_rdm_ind(ilutG, rdm_ind)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(inout) :: ilutG(0:GugaBits%len_tot)
integer(kind=int_rdm), intent(in) :: rdm_ind

public subroutine encode_excit_info_type(excit_info_int, typ)

Arguments

Type IntentOptional Attributes Name
integer(kind=int64), intent(inout) :: excit_info_int
integer, intent(in) :: typ

private subroutine encode_excit_info_indices_vec(excit_info_int, inds)

Arguments

Type IntentOptional Attributes Name
integer(kind=int64), intent(inout) :: excit_info_int
integer, intent(in) :: inds(4)

private subroutine encode_excit_info_indices_scalar(excit_info_int, a, i, b, j)

Arguments

Type IntentOptional Attributes Name
integer(kind=int64), intent(inout) :: excit_info_int
integer, intent(in) :: a
integer, intent(in) :: i
integer, intent(in) :: b
integer, intent(in) :: j

private subroutine extract_excit_info_indices_vec(excit_info_int, inds)

Arguments

Type IntentOptional Attributes Name
integer(kind=int64), intent(in) :: excit_info_int
integer, intent(out) :: inds(4)

private subroutine extract_excit_info_indices_scalar(excit_info_int, a, i, b, j)

Arguments

Type IntentOptional Attributes Name
integer(kind=int64), intent(in) :: excit_info_int
integer, intent(out) :: a
integer, intent(out) :: i
integer, intent(out) :: b
integer, intent(out) :: j

private subroutine extract_excit_info_scalar(excit_info_int, typ, a, i, b, j)

Arguments

Type IntentOptional Attributes Name
integer(kind=int64), intent(in) :: excit_info_int
integer, intent(out) :: typ
integer, intent(out) :: a
integer, intent(out) :: i
integer, intent(out) :: b
integer, intent(out) :: j

private subroutine extract_excit_info_vector(excit_info_int, typ, inds)

Arguments

Type IntentOptional Attributes Name
integer(kind=int64), intent(in) :: excit_info_int
integer, intent(out) :: typ
integer, intent(out) :: inds(4)

private subroutine extract_excit_info_obj(excit_info_int, excitInfo)

Arguments

Type IntentOptional Attributes Name
integer(kind=int64), intent(in) :: excit_info_int
type(ExcitationInformation_t), intent(out) :: excitInfo