Eigenvalue SoLvers for Petaflop-Applications (ELPA)  2017.05.002
Data Types | Functions/Subroutines | Variables
elpa_api Module Reference

Fortran module which provides the definition of the ELPA API. Do not use directly! Use the module "elpa". More...

Data Types

interface  elpa_associate_int_i
 abstract definition of associate method for integer pointers Parameters More...
 
interface  elpa_can_set_i
 abstract definition of can_set method for integer values Parameters More...
 
interface  elpa_cholesky_d_i
 abstract definition of interface to do a cholesky decomposition of a double real matrix More...
 
interface  elpa_cholesky_dc_i
 abstract definition of interface to do a cholesky decomposition of a double complex matrix More...
 
interface  elpa_cholesky_f_i
 abstract definition of interface to do a cholesky decomposition of a single real matrix More...
 
interface  elpa_cholesky_fc_i
 abstract definition of interface to do a cholesky decomposition of a single complex matrix More...
 
interface  elpa_destroy_i
 abstract definition of interface to destroy an ELPA object Parameters More...
 
interface  elpa_eigenvalues_d_i
 abstract definition of interface to solve double real eigenvalue problem More...
 
interface  elpa_eigenvalues_dc_i
 abstract definition of interface to solve double complex eigenvalue problem More...
 
interface  elpa_eigenvalues_f_i
 abstract definition of interface to solve single real eigenvalue problem More...
 
interface  elpa_eigenvalues_fc_i
 abstract definition of interface to solve single complex eigenvalue problem More...
 
interface  elpa_eigenvectors_d_i
 abstract definition of interface to solve double real eigenvalue problem More...
 
interface  elpa_eigenvectors_dc_i
 abstract definition of interface to solve double complex eigenvalue problem More...
 
interface  elpa_eigenvectors_f_i
 abstract definition of interface to solve single real eigenvalue problem More...
 
interface  elpa_eigenvectors_fc_i
 abstract definition of interface to solve single complex eigenvalue problem More...
 
interface  elpa_get_double_i
 abstract definition of get method for double values Parameters More...
 
interface  elpa_get_integer_i
 abstract definition of get method for integer values Parameters More...
 
interface  elpa_get_time_i
 abstract definition of get_time method to querry the timer Parameters More...
 
interface  elpa_hermitian_multiply_d_i
 abstract definition of interface to compute C : = A**T * B for double real matrices where A is a square matrix (selfa,selfna) which is optionally upper or lower triangular B is a (selfna,ncb) matrix C is a (selfna,ncb) matrix where optionally only the upper or lower triangle may be computed More...
 
interface  elpa_hermitian_multiply_dc_i
 abstract definition of interface to compute C : = A**H * B where A is a square matrix (selfna,selfa) which is optionally upper or lower triangular B is a (selfna,ncb) matrix C is a (selfna,ncb) matrix where optionally only the upper or lower triangle may be computed More...
 
interface  elpa_hermitian_multiply_f_i
 abstract definition of interface to compute C : = A**T * B where A is a square matrix (selfna,selfna) which is optionally upper or lower triangular B is a (selfna,ncb) matrix C is a (selfna,ncb) matrix where optionally only the upper or lower triangle may be computed More...
 
interface  elpa_hermitian_multiply_fc_i
 abstract definition of interface to compute C : = A**H * B where A is a square matrix (selfna,selfna) which is optionally upper or lower triangular B is a (selfna,ncb) matrix C is a (selfna,ncb) matrix where optionally only the upper or lower triangle may be computed More...
 
interface  elpa_invert_trm_d_i
 abstract definition of interface to invert a triangular double real matrix More...
 
interface  elpa_invert_trm_dc_i
 abstract definition of interface to invert a triangular double complex matrix More...
 
interface  elpa_invert_trm_f_i
 abstract definition of interface to invert a triangular single real matrix Parameters More...
 
interface  elpa_invert_trm_fc_i
 abstract definition of interface to invert a triangular single complex matrix More...
 
interface  elpa_is_set_i
 abstract definition of is_set method for integer values Parameters More...
 
interface  elpa_print_times_i
 abstract definition of print method for timer Parameters More...
 
interface  elpa_set_double_i
 abstract definition of set method for double values Parameters More...
 
interface  elpa_set_integer_i
 abstract definition of set method for integer values Parameters More...
 
interface  elpa_setup_i
 abstract definition of setup method Parameters More...
 
interface  elpa_solve_tridiagonal_d_i
 abstract definition of interface to solve the eigenvalue problem for a double-precision real valued tridiangular matrix More...
 
interface  elpa_solve_tridiagonal_f_i
 abstract definition of interface to solve the eigenvalue problem for a single-precision real valued tridiangular matrix More...
 
interface  elpa_strlen_c
 definition of helper function to get C strlen Parameters More...
 
type  elpa_t
 Abstract definition of the elpa_t type. More...
 
interface  elpa_timer_start_i
 abstract definition of the start method for timer Parameters More...
 
interface  elpa_timer_stop_i
 abstract definition of the stop method for timer Parameters More...
 

Functions/Subroutines

integer(kind=c_int) function elpa_init (api_version)
 function to intialize the ELPA library Parameters More...
 
integer function elpa_initialized ()
 function to check whether the ELPA library has been correctly initialised Parameters More...
 
subroutine elpa_uninit ()
 subroutine to uninit the ELPA library. Does nothing at the moment. Might do sth. later More...
 
character(kind=c_char, len=elpa_strlen_c(elpa_strerr_c(elpa_error))) function, pointer elpa_strerr (elpa_error)
 helper function for error strings Parameters More...
 
character(kind=c_char, len=elpa_strlen_c(ptr)) function, pointer elpa_c_string (ptr)
 helper function for c strings Parameters More...
 
character(kind=c_char, len=elpa_int_value_to_strlen_c(name//c_null_char, value)) function, pointer elpa_int_value_to_string (name, value, error)
 function to convert an integer in its string representation Parameters More...
 
integer(kind=c_int) function elpa_int_string_to_value (name, string, error)
 function to convert a string in its integer representation: Parameters More...
 
integer function elpa_option_cardinality (option_name)
 function to get the number of possible choices for an option Parameters More...
 
integer function elpa_option_enumerate (option_name, i)
 function to enumerate an option Parameters More...
 

Variables

integer, parameter, private earliest_api_version = 20170403
 Definition of the earliest API version supported with the current release. More...
 
integer, parameter, private current_api_version = 20170403
 Definition of the current API version. More...
 
logical, private initdone = .false.
 

Detailed Description

Fortran module which provides the definition of the ELPA API. Do not use directly! Use the module "elpa".

Function/Subroutine Documentation

◆ elpa_c_string()

character(kind=c_char, len=elpa_strlen_c(ptr)) function, pointer elpa_api::elpa_c_string ( type(c_ptr), intent(in)  ptr)

helper function for c strings Parameters

Parameters
ptrtype(c_ptr)
Returns
string string

◆ elpa_init()

integer(kind=c_int) function elpa_api::elpa_init ( integer(kind=c_int), intent(in), value  api_version)

function to intialize the ELPA library Parameters

Parameters
api_versioninteger: api_version that ELPA should use
Returns
error integer: error code, which can be queried with elpa_strerr

◆ elpa_initialized()

integer function elpa_api::elpa_initialized ( )

function to check whether the ELPA library has been correctly initialised Parameters

Returns
state integer: state is either ELPA_OK or ELPA_ERROR, which can be queried with elpa_strerr

◆ elpa_int_string_to_value()

integer(kind=c_int) function elpa_api::elpa_int_string_to_value ( character(kind=c_char, len=*), intent(in)  name,
character(kind=c_char, len=*), intent(in), target  string,
integer(kind=c_int), intent(out), optional  error 
)

function to convert a string in its integer representation: Parameters

Parameters
namestring: the key
stringstring: the string whose integer representation should be associated with the key
errorinteger, optional: error code, which can be queried with elpa_strerr()
Returns
value integer: the integer representation of the string

◆ elpa_int_value_to_string()

character(kind=c_char, len=elpa_int_value_to_strlen_c(name // c_null_char, value)) function, pointer elpa_api::elpa_int_value_to_string ( character(kind=c_char, len=*), intent(in)  name,
integer(kind=c_int), intent(in)  value,
integer(kind=c_int), intent(out), optional  error 
)

function to convert an integer in its string representation Parameters

Parameters
namestring: the key
valueinteger: the value correponding to the key
errorinteger, optional: error code, which can be queried with elpa_strerr()
Returns
string string: the string representation

◆ elpa_option_cardinality()

integer function elpa_api::elpa_option_cardinality ( character(kind=c_char, len=*), intent(in)  option_name)

function to get the number of possible choices for an option Parameters

Parameters
option_namestring: the option
Returns
number integer: the total number of possible values to be chosen

◆ elpa_option_enumerate()

integer function elpa_api::elpa_option_enumerate ( character(kind=c_char, len=*), intent(in)  option_name,
integer, intent(in)  i 
)

function to enumerate an option Parameters

Parameters
option_namestring: the option
iinteger
Returns
option integer

◆ elpa_strerr()

character(kind=c_char, len=elpa_strlen_c(elpa_strerr_c(elpa_error))) function, pointer elpa_api::elpa_strerr ( integer, intent(in)  elpa_error)

helper function for error strings Parameters

Parameters
elpa_errorinteger: error code to querry
Returns
string string: error string

◆ elpa_uninit()

subroutine elpa_api::elpa_uninit ( void  )

subroutine to uninit the ELPA library. Does nothing at the moment. Might do sth. later

Variable Documentation

◆ current_api_version

integer, parameter, private elpa_api::current_api_version = 20170403
private

Definition of the current API version.

◆ earliest_api_version

integer, parameter, private elpa_api::earliest_api_version = 20170403
private

Definition of the earliest API version supported with the current release.

◆ initdone

logical, private elpa_api::initdone = .false.
private