initialize_krylov_subspace Interface

public interface initialize_krylov_subspace

Description

Utility function to initialize a basis for a Krylov subspace.

Syntax

    call initialize_krylov_subspace(X [, X0])

Arguments

X : Array of vectors that needs to be initialized. It is an intent(inout) argument. Note that the first action in the subroutine is call zero_basis(X), effectively zeroing-out any data stored.

X0 (optional) : Collection of vectors which will form the first few Krylov vectors. Note that X0 need not be an orthonormal basis as this subroutine includes a call qr(X0).


Module Procedures

private subroutine initialize_krylov_subspace_rsp(X, X0)

Arguments

Type IntentOptional Attributes Name
class(abstract_vector_rsp), intent(inout) :: X(:)
class(abstract_vector_rsp), intent(in), optional :: X0(:)

private subroutine initialize_krylov_subspace_rdp(X, X0)

Arguments

Type IntentOptional Attributes Name
class(abstract_vector_rdp), intent(inout) :: X(:)
class(abstract_vector_rdp), intent(in), optional :: X0(:)

private subroutine initialize_krylov_subspace_csp(X, X0)

Arguments

Type IntentOptional Attributes Name
class(abstract_vector_csp), intent(inout) :: X(:)
class(abstract_vector_csp), intent(in), optional :: X0(:)

private subroutine initialize_krylov_subspace_cdp(X, X0)

Arguments

Type IntentOptional Attributes Name
class(abstract_vector_cdp), intent(inout) :: X(:)
class(abstract_vector_cdp), intent(in), optional :: X0(:)