Eigenvalue SoLvers for Petaflop-Applications (ELPA) 2022.05.001
Functions/Subroutines
elpa_impl_math_solvers_template.F90 File Reference

Functions/Subroutines

subroutine elpa_eigenvectors_a_h_a_ELPA_IMPL_SUFFIX (self, a, ev, q, error)
 elpa_eigenvectors_d: class method to solve the eigenvalue problem More...
 
subroutine elpa_eigenvectors_d_ptr_ELPA_IMPL_SUFFIX (self, a, ev, q, error)
 elpa_eigenvectors_d_ptr_d: class method to solve the eigenvalue problem More...
 
subroutine elpa_eigenvectors_a_h_a_ELPA_IMPL_SUFFIX_c (handle, a_p, ev_p, q_p, error)
 
subroutine elpa_eigenvectors_d_ptr_ELPA_IMPL_SUFFIX_c (handle, a_p, ev_p, q_p, error)
 
subroutine elpa_eigenvalues_a_h_a_ELPA_IMPL_SUFFIX (self, a, ev, error)
 elpa_eigenvalues_d: class method to solve the eigenvalue problem More...
 
subroutine elpa_eigenvalues_d_ptr_ELPA_IMPL_SUFFIX (self, a, ev, error)
 elpa_eigenvalues_d: class method to solve the eigenvalue problem More...
 
subroutine elpa_eigenvalues_a_h_a_ELPA_IMPL_SUFFIX_c (handle, a_p, ev_p, error)
 
subroutine elpa_eigenvalues_d_ptr_ELPA_IMPL_SUFFIX_c (handle, a_p, ev_p, error)
 

Function/Subroutine Documentation

◆ elpa_eigenvalues_a_h_a_ELPA_IMPL_SUFFIX()

subroutine elpa_eigenvalues_a_h_a_ELPA_IMPL_SUFFIX ( class(elpa_impl_t)  self,
  a,
real(kind=c_real_datatype), dimension(self%na)  ev,
integer  error 
)

elpa_eigenvalues_d: class method to solve the eigenvalue problem

The dimensions of the matrix a (locally ditributed and global), the block-cyclic distribution blocksize, the number of eigenvectors to be computed and the MPI communicators are already known to the object and MUST be set BEFORE with the class method "setup"

It is possible to change the behaviour of the method by setting tunable parameters with the class method "set"

Parameters

Parameters
aDistributed matrix for which eigenvalues are to be computed. Distribution is like in Scalapack. The full matrix must be set (not only one half like in scalapack). Destroyed on exit (upper and lower half).
evOn output: eigenvalues of a, every processor gets the complete set
errorinteger, optional: returns an error code, which can be queried with elpa_strerr

◆ elpa_eigenvalues_a_h_a_ELPA_IMPL_SUFFIX_c()

subroutine elpa_eigenvalues_a_h_a_ELPA_IMPL_SUFFIX_c ( value  handle,
value  a_p,
value  ev_p,
integer(kind=c_int), intent(in)  error 
)

◆ elpa_eigenvalues_d_ptr_ELPA_IMPL_SUFFIX()

subroutine elpa_eigenvalues_d_ptr_ELPA_IMPL_SUFFIX ( class(elpa_impl_t)  self,
type(c_ptr)  a,
type(c_ptr)  ev,
integer  error 
)

elpa_eigenvalues_d: class method to solve the eigenvalue problem

The dimensions of the matrix a (locally ditributed and global), the block-cyclic distribution blocksize, the number of eigenvectors to be computed and the MPI communicators are already known to the object and MUST be set BEFORE with the class method "setup"

It is possible to change the behaviour of the method by setting tunable parameters with the class method "set"

Parameters

Parameters
aDistributed matrix for which eigenvalues are to be computed. Distribution is like in Scalapack. The full matrix must be set (not only one half like in scalapack). Destroyed on exit (upper and lower half).
evOn output: eigenvalues of a, every processor gets the complete set
errorinteger, optional: returns an error code, which can be queried with elpa_strerr

◆ elpa_eigenvalues_d_ptr_ELPA_IMPL_SUFFIX_c()

subroutine elpa_eigenvalues_d_ptr_ELPA_IMPL_SUFFIX_c ( value  handle,
value  a_p,
value  ev_p,
integer(kind=c_int), intent(in)  error 
)

◆ elpa_eigenvectors_a_h_a_ELPA_IMPL_SUFFIX()

subroutine elpa_eigenvectors_a_h_a_ELPA_IMPL_SUFFIX ( class(elpa_impl_t)  self,
  a,
real(kind=c_real_datatype), dimension(self%na)  ev,
  q,
integer  error 
)

elpa_eigenvectors_d: class method to solve the eigenvalue problem

The dimensions of the matrix a (locally ditributed and global), the block-cyclic distribution blocksize, the number of eigenvectors to be computed and the MPI communicators are already known to the object and MUST be set BEFORE with the class method "setup"

It is possible to change the behaviour of the method by setting tunable parameters with the class method "set"

Parameters

Parameters
aDistributed matrix for which eigenvalues are to be computed. Distribution is like in Scalapack. The full matrix must be set (not only one half like in scalapack). Destroyed on exit (upper and lower half).
evOn output: eigenvalues of a, every processor gets the complete set
qOn output: Eigenvectors of a Distribution is like in Scalapack. Must be always dimensioned to the full size (corresponding to (na,na)) even if only a part of the eigenvalues is needed.
errorinteger, optional: returns an error code, which can be queried with elpa_strerr

◆ elpa_eigenvectors_a_h_a_ELPA_IMPL_SUFFIX_c()

subroutine elpa_eigenvectors_a_h_a_ELPA_IMPL_SUFFIX_c ( value  handle,
value  a_p,
value  ev_p,
value  q_p,
integer(kind=c_int), intent(in)  error 
)

◆ elpa_eigenvectors_d_ptr_ELPA_IMPL_SUFFIX()

subroutine elpa_eigenvectors_d_ptr_ELPA_IMPL_SUFFIX ( class(elpa_impl_t)  self,
type(c_ptr)  a,
type(c_ptr)  ev,
type(c_ptr)  q,
integer  error 
)

elpa_eigenvectors_d_ptr_d: class method to solve the eigenvalue problem

The dimensions of the matrix a (locally ditributed and global), the block-cyclic distribution blocksize, the number of eigenvectors to be computed and the MPI communicators are already known to the object and MUST be set BEFORE with the class method "setup"

It is possible to change the behaviour of the method by setting tunable parameters with the class method "set"

Parameters

Parameters
aDistributed matrix for which eigenvalues are to be computed. Distribution is like in Scalapack. The full matrix must be set (not only one half like in scalapack). Destroyed on exit (upper and lower half).
evOn output: eigenvalues of a, every processor gets the complete set
qOn output: Eigenvectors of a Distribution is like in Scalapack. Must be always dimensioned to the full size (corresponding to (na,na)) even if only a part of the eigenvalues is needed.
errorinteger, optional: returns an error code, which can be queried with elpa_strerr

◆ elpa_eigenvectors_d_ptr_ELPA_IMPL_SUFFIX_c()

subroutine elpa_eigenvectors_d_ptr_ELPA_IMPL_SUFFIX_c ( value  handle,
value  a_p,
value  ev_p,
value  q_p,
integer(kind=c_int), intent(in)  error 
)