rdm_estimates_t Derived Type

type, public :: rdm_estimates_t


Contents

Source Code


Components

Type Visibility Attributes Name Initial
integer, public :: nrdms
integer, public :: nrdms_standard
integer, public :: nrdms_transition
integer, public :: write_unit
real(kind=dp), public, allocatable :: trace(:)
real(kind=dp), public, allocatable :: norm(:)
real(kind=dp), public, allocatable :: energy_1_num(:)
real(kind=dp), public, allocatable :: energy_2_num(:)
real(kind=dp), public, allocatable :: energy_num(:)
real(kind=dp), public, allocatable :: spin_num(:)
real(kind=dp), public, allocatable :: property(:,:)
real(kind=dp), public, allocatable :: energy_pert(:)
real(kind=dp), public, allocatable :: energy_pert_hf(:)
real(kind=dp), public, allocatable :: trace_inst(:)
real(kind=dp), public, allocatable :: norm_inst(:)
real(kind=dp), public, allocatable :: energy_1_num_inst(:)
real(kind=dp), public, allocatable :: energy_2_num_inst(:)
real(kind=dp), public, allocatable :: energy_num_inst(:)
real(kind=dp), public, allocatable :: spin_num_inst(:)
real(kind=dp), public, allocatable :: property_inst(:,:)
real(kind=dp), public, allocatable :: energy_pert_inst(:)
real(kind=dp), public, allocatable :: energy_pert_hf_inst(:)
real(kind=dp), public, allocatable :: max_error_herm(:)
real(kind=dp), public, allocatable :: sum_error_herm(:)

Source Code

    type rdm_estimates_t
        ! How many RDMs are being sampled.
        integer :: nrdms
        integer :: nrdms_standard
        integer :: nrdms_transition

        ! Unit of the separate file to which RDM estimates (such as energy and
        ! spin^2) are output.
        integer :: write_unit

        ! The following arrays have length nrdms - one estimate is held for
        ! each RDM.

        ! Arrays used to hold estimates from the *total* RDM (i.e. the array
        ! averaged over the whole RDM sampling period).
        real(dp), allocatable :: trace(:)
        real(dp), allocatable :: norm(:)
        real(dp), allocatable :: energy_1_num(:)
        real(dp), allocatable :: energy_2_num(:)
        real(dp), allocatable :: energy_num(:)
        real(dp), allocatable :: spin_num(:)
        real(dp), allocatable :: property(:, :)
        real(dp), allocatable :: energy_pert(:)
        real(dp), allocatable :: energy_pert_hf(:)

        ! Arrays used to hold estimates from the RDM over the *previous
        ! sampling block only*.
        real(dp), allocatable :: trace_inst(:)
        real(dp), allocatable :: norm_inst(:)
        real(dp), allocatable :: energy_1_num_inst(:)
        real(dp), allocatable :: energy_2_num_inst(:)
        real(dp), allocatable :: energy_num_inst(:)
        real(dp), allocatable :: spin_num_inst(:)
        real(dp), allocatable :: property_inst(:, :)
        real(dp), allocatable :: energy_pert_inst(:)
        real(dp), allocatable :: energy_pert_hf_inst(:)

        ! Hermiticity errors, i.e. \Gamma_{ij,kl} - \Gamma_{kl,ij}^*.
        ! The max_* array holds the maximum such error.
        ! The sum_* array holds the sum of all such errors.
        real(dp), allocatable :: max_error_herm(:)
        real(dp), allocatable :: sum_error_herm(:)

    end type rdm_estimates_t