davidson_semistoch Module



Contents


Variables

Type Visibility Attributes Name Initial
integer, public :: max_num_davidson_iters = 50
real(kind=dp), public :: residual_norm_target = 1e-7_dp

Interfaces

public interface multiply_hamil_and_vector_ss

  • public subroutine mult_ham_vector_real_ss(input_vector, output_vector, full_vector, sizes, displs, run)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=dp), intent(in) :: input_vector(:)
    real(kind=dp), intent(out) :: output_vector(:)
    real(kind=dp), intent(out) :: full_vector(:)
    integer(kind=MPIArg), intent(in) :: sizes(0:)
    integer(kind=MPIArg), intent(in) :: displs(0:)
    integer, intent(in) :: run

Derived Types

type, public ::  davidson_ss

Components

Type Visibility Attributes Name Initial
integer, public :: space_size
integer, public :: space_size_this_proc
integer(kind=MPIArg), public, allocatable :: sizes(:)
integer(kind=MPIArg), public, allocatable :: displs(:)
real(kind=dp), public, allocatable, dimension(:, :) :: basis_vectors
real(kind=dp), public, allocatable :: multiplied_basis_vectors(:,:)
real(kind=dp), public, allocatable :: davidson_eigenvector(:)
real(kind=dp), public, allocatable :: eigenvector_proj(:)
real(kind=dp), public, allocatable :: residual(:)
real(kind=dp), public :: residual_norm
real(kind=dp), public :: davidson_eigenvalue
real(kind=dp), public, allocatable :: projected_hamil(:,:)
real(kind=dp), public, allocatable :: projected_hamil_work(:,:)
real(kind=dp), public, allocatable :: full_vector(:)
integer, public :: run

Subroutines

public subroutine perform_davidson_ss(this, print_info_in, run)

Arguments

Type IntentOptional Attributes Name
type(davidson_ss), intent(inout) :: this
logical, intent(in) :: print_info_in
integer, intent(in) :: run

public subroutine init_davidson_ss(this, print_info, run)

Arguments

Type IntentOptional Attributes Name
type(davidson_ss), intent(inout) :: this
logical, intent(in) :: print_info
integer, intent(in) :: run

public subroutine subspace_expansion_ss(this, basis_index)

Arguments

Type IntentOptional Attributes Name
type(davidson_ss), intent(inout) :: this
integer, intent(in) :: basis_index

public subroutine subspace_extraction_ss(this, basis_index)

Arguments

Type IntentOptional Attributes Name
type(davidson_ss), intent(inout) :: this
integer, intent(in) :: basis_index

public subroutine project_hamiltonian_ss(this, basis_index)

Arguments

Type IntentOptional Attributes Name
type(davidson_ss), intent(inout) :: this
integer, intent(in) :: basis_index

public subroutine mult_ham_vector_real_ss(input_vector, output_vector, full_vector, sizes, displs, run)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in) :: input_vector(:)
real(kind=dp), intent(out) :: output_vector(:)
real(kind=dp), intent(out) :: full_vector(:)
integer(kind=MPIArg), intent(in) :: sizes(0:)
integer(kind=MPIArg), intent(in) :: displs(0:)
integer, intent(in) :: run

public subroutine calculate_residual_ss(this, basis_index)

Arguments

Type IntentOptional Attributes Name
type(davidson_ss), intent(inout) :: this
integer, intent(in) :: basis_index

public subroutine calculate_residual_norm_ss(this)

Arguments

Type IntentOptional Attributes Name
type(davidson_ss), intent(inout) :: this

public subroutine free_davidson_ss(this)

Arguments

Type IntentOptional Attributes Name
type(davidson_ss), intent(inout) :: this

public subroutine destroy_davidson_ss(this)

Arguments

Type IntentOptional Attributes Name
type(davidson_ss), intent(inout) :: this