Commit 0bbb7437 authored by Andreas Marek's avatar Andreas Marek
Browse files

Rename of "solve" method to "eigenvectors"

The public "solve" method has been renamed "eigenvectors" since it
computes the eigenvalues and (at least parts of) the eigenvectors

Another routine "eigenvalues" will just compute the eigenvalues
parent a418ee0a
...@@ -58,7 +58,7 @@ the user application): ...@@ -58,7 +58,7 @@ the user application):
!> !>
!> ! use method solve to solve the eigenvalue problem !> ! use method solve to solve the eigenvalue problem
!> ! other possible methods are desribed in \ref elpa_api::elpa_t derived type !> ! other possible methods are desribed in \ref elpa_api::elpa_t derived type
!> call e%solve(a, ev, z, success) !> call e%eigenvectors(a, ev, z, success)
!> !>
!> ! cleanup !> ! cleanup
!> call elpa_deallocate(e) !> call elpa_deallocate(e)
...@@ -128,7 +128,7 @@ the user application): ...@@ -128,7 +128,7 @@ the user application):
6. do the desired task with the *ELPA* library, which could be 6. do the desired task with the *ELPA* library, which could be
a) e%solve ! solve EV problem with solver as set by "set" method; a) e%eigenvectors ! solve EV problem with solver as set by "set" method; returns eigenvalues AND eigenvectors
! (replaces a) and b) from legacy API) ! (replaces a) and b) from legacy API)
b) e%solve_tridi ! solve problem with tridiagonal matrix (replacement for c) from legacy API) b) e%solve_tridi ! solve problem with tridiagonal matrix (replacement for c) from legacy API)
c) e%choleksy ! do a cholesky decomposition (replaces d) from legacy API) c) e%choleksy ! do a cholesky decomposition (replaces d) from legacy API)
......
...@@ -65,7 +65,8 @@ Using *ELPA* with the latest API is done in the following steps ...@@ -65,7 +65,8 @@ Using *ELPA* with the latest API is done in the following steps
At the moment the following ELPA compute functions are available: At the moment the following ELPA compute functions are available:
- "solve" solves the eigenvalue problem for single/double real/complex valued matrices - "eigenvectors" solves the eigenvalue problem for single/double real/complex valued matrices and
returns the eigenvalues AND eigenvectors
- "hermetian_multipy" computes C = A^T * B (real) or C = A^H * B (complex) for single/double - "hermetian_multipy" computes C = A^T * B (real) or C = A^H * B (complex) for single/double
real/complex matrices real/complex matrices
- "cholesky" does a cholesky factorization for a single/double real/complex matrix - "cholesky" does a cholesky factorization for a single/double real/complex matrix
......
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
)(e, name, value, error) )(e, name, value, error)
/*! \brief generic C method for elpa_solve /*! \brief generic C method for elpa_eigenvectors
* *
* \details * \details
* \param handle handle of the ELPA object, which defines the problem * \param handle handle of the ELPA object, which defines the problem
...@@ -46,18 +46,18 @@ ...@@ -46,18 +46,18 @@
* \param error on return the error code, which can be queried with elpa_strerr() * \param error on return the error code, which can be queried with elpa_strerr()
* \result void * \result void
*/ */
#define elpa_solve(handle, a, ev, q, error) _Generic((a), \ #define elpa_eigenvectors(handle, a, ev, q, error) _Generic((a), \
double*: \ double*: \
elpa_solve_d, \ elpa_eigenvectors_d, \
\ \
float*: \ float*: \
elpa_solve_f, \ elpa_eigenvectors_f, \
\ \
double complex*: \ double complex*: \
elpa_solve_dc, \ elpa_eigenvectors_dc, \
\ \
float complex*: \ float complex*: \
elpa_solve_fc \ elpa_eigenvectors_fc \
)(handle, a, ev, q, error) )(handle, a, ev, q, error)
/* \brief generic C method for elpa_cholesky /* \brief generic C method for elpa_cholesky
......
...@@ -132,9 +132,10 @@ ...@@ -132,9 +132,10 @@
!> ... set and get all other options that are desired !> ... set and get all other options that are desired
!> \code{.f90} !> \code{.f90}
!> !>
!> ! use method solve to solve the eigenvalue problem !> ! use method solve to solve the eigenvalue problem to obtain eigenvalues
!> ! and eigenvectors
!> ! other possible methods are desribed in \ref elpa_api::elpa_t derived type !> ! other possible methods are desribed in \ref elpa_api::elpa_t derived type
!> call e%solve(a, ev, z, success) !> call e%eigenvectors(a, ev, z, success)
!> !>
!> ! cleanup !> ! cleanup
!> call elpa_deallocate(e) !> call elpa_deallocate(e)
...@@ -178,7 +179,7 @@ ...@@ -178,7 +179,7 @@
!> !>
!> /* use method solve to solve the eigenvalue problem */ !> /* use method solve to solve the eigenvalue problem */
!> /* other possible methods are desribed in \ref elpa_api::elpa_t derived type */ !> /* other possible methods are desribed in \ref elpa_api::elpa_t derived type */
!> elpa_solve(handle, a, ev, z, &error); !> elpa_eigenvectors(handle, a, ev, z, &error);
!> !>
!> /* cleanup */ !> /* cleanup */
!> elpa_deallocate(handle); !> elpa_deallocate(handle);
......
...@@ -162,7 +162,7 @@ function elpa_solve_evp_& ...@@ -162,7 +162,7 @@ function elpa_solve_evp_&
call e%set("timings", 1) call e%set("timings", 1)
call e%solve(a(1:lda,1:matrixCols), ev, q(1:ldq,1:matrixCols), successInternal) call e%eigenvectors(a(1:lda,1:matrixCols), ev, q(1:ldq,1:matrixCols), successInternal)
time_evp_fwd = e%get_time("elpa_solve_evp_& time_evp_fwd = e%get_time("elpa_solve_evp_&
&MATH_DATATYPE& &MATH_DATATYPE&
......
...@@ -195,7 +195,7 @@ ...@@ -195,7 +195,7 @@
endif endif
call e%set("timings", 1) call e%set("timings", 1)
call e%solve(a(1:lda,1:matrixCols), ev, q(1:ldq,1:matrixCols), successInternal) call e%eigenvectors(a(1:lda,1:matrixCols), ev, q(1:ldq,1:matrixCols), successInternal)
if (successInternal .ne. ELPA_OK) then if (successInternal .ne. ELPA_OK) then
print *, "Cannot solve with ELPA 2stage" print *, "Cannot solve with ELPA 2stage"
success = .false. success = .false.
......
...@@ -98,11 +98,11 @@ module elpa_api ...@@ -98,11 +98,11 @@ module elpa_api
procedure(elpa_print_times_i), deferred, public :: print_times procedure(elpa_print_times_i), deferred, public :: print_times
! Actual math routines ! Actual math routines
generic, public :: solve => & !< method solve for solving the eigenvalue problem generic, public :: eigenvectors => & !< method solve for solving the full eigenvalue problem
elpa_solve_d, & !< for symmetric real valued / hermitian complex valued elpa_eigenvectors_d, & !< for symmetric real valued / hermitian complex valued
elpa_solve_f, & !< matrices elpa_eigenvectors_f, & !< matrices
elpa_solve_dc, & elpa_eigenvectors_dc, &
elpa_solve_fc elpa_eigenvectors_fc
generic, public :: hermitian_multiply => & !< method for a "hermitian" multiplication of matrices a and b generic, public :: hermitian_multiply => & !< method for a "hermitian" multiplication of matrices a and b
elpa_hermitian_multiply_d, & !< for real valued matrices: a**T * b elpa_hermitian_multiply_d, & !< for real valued matrices: a**T * b
...@@ -135,10 +135,10 @@ module elpa_api ...@@ -135,10 +135,10 @@ module elpa_api
procedure(elpa_get_integer_i), deferred, private :: elpa_get_integer procedure(elpa_get_integer_i), deferred, private :: elpa_get_integer
procedure(elpa_get_double_i), deferred, private :: elpa_get_double procedure(elpa_get_double_i), deferred, private :: elpa_get_double
procedure(elpa_solve_d_i), deferred, private :: elpa_solve_d procedure(elpa_eigenvectors_d_i), deferred, private :: elpa_eigenvectors_d
procedure(elpa_solve_f_i), deferred, private :: elpa_solve_f procedure(elpa_eigenvectors_f_i), deferred, private :: elpa_eigenvectors_f
procedure(elpa_solve_dc_i), deferred, private :: elpa_solve_dc procedure(elpa_eigenvectors_dc_i), deferred, private :: elpa_eigenvectors_dc
procedure(elpa_solve_fc_i), deferred, private :: elpa_solve_fc procedure(elpa_eigenvectors_fc_i), deferred, private :: elpa_eigenvectors_fc
procedure(elpa_hermitian_multiply_d_i), deferred, private :: elpa_hermitian_multiply_d procedure(elpa_hermitian_multiply_d_i), deferred, private :: elpa_hermitian_multiply_d
procedure(elpa_hermitian_multiply_f_i), deferred, private :: elpa_hermitian_multiply_f procedure(elpa_hermitian_multiply_f_i), deferred, private :: elpa_hermitian_multiply_f
...@@ -369,7 +369,7 @@ module elpa_api ...@@ -369,7 +369,7 @@ module elpa_api
!> \param q double real matrix q: on output stores the eigenvalues !> \param q double real matrix q: on output stores the eigenvalues
!> \result error integer, optional : error code, which can be queried with elpa_strerr !> \result error integer, optional : error code, which can be queried with elpa_strerr
abstract interface abstract interface
subroutine elpa_solve_d_i(self, a, ev, q, error) subroutine elpa_eigenvectors_d_i(self, a, ev, q, error)
use iso_c_binding use iso_c_binding
import elpa_t import elpa_t
implicit none implicit none
...@@ -402,7 +402,7 @@ module elpa_api ...@@ -402,7 +402,7 @@ module elpa_api
!> \param q single real matrix q: on output stores the eigenvalues !> \param q single real matrix q: on output stores the eigenvalues
!> \result error integer, optional : error code, which can be queried with elpa_strerr !> \result error integer, optional : error code, which can be queried with elpa_strerr
abstract interface abstract interface
subroutine elpa_solve_f_i(self, a, ev, q, error) subroutine elpa_eigenvectors_f_i(self, a, ev, q, error)
use iso_c_binding use iso_c_binding
import elpa_t import elpa_t
implicit none implicit none
...@@ -435,7 +435,7 @@ module elpa_api ...@@ -435,7 +435,7 @@ module elpa_api
!> \param q double complex matrix q: on output stores the eigenvalues !> \param q double complex matrix q: on output stores the eigenvalues
!> \result error integer, optional : error code, which can be queried with elpa_strerr !> \result error integer, optional : error code, which can be queried with elpa_strerr
abstract interface abstract interface
subroutine elpa_solve_dc_i(self, a, ev, q, error) subroutine elpa_eigenvectors_dc_i(self, a, ev, q, error)
use iso_c_binding use iso_c_binding
import elpa_t import elpa_t
implicit none implicit none
...@@ -469,7 +469,7 @@ module elpa_api ...@@ -469,7 +469,7 @@ module elpa_api
!> \param q single complex matrix q: on output stores the eigenvalues !> \param q single complex matrix q: on output stores the eigenvalues
!> \result error integer, optional : error code, which can be queried with elpa_strerr !> \result error integer, optional : error code, which can be queried with elpa_strerr
abstract interface abstract interface
subroutine elpa_solve_fc_i(self, a, ev, q, error) subroutine elpa_eigenvectors_fc_i(self, a, ev, q, error)
use iso_c_binding use iso_c_binding
import elpa_t import elpa_t
implicit none implicit none
......
...@@ -88,11 +88,11 @@ module elpa_impl ...@@ -88,11 +88,11 @@ module elpa_impl
procedure, private :: elpa_get_integer !< private methods to implement the querry of an integer/double key/value pair procedure, private :: elpa_get_integer !< private methods to implement the querry of an integer/double key/value pair
procedure, private :: elpa_get_double procedure, private :: elpa_get_double
procedure, private :: elpa_solve_d !< private methods to implement the solve step for real/complex procedure, private :: elpa_eigenvectors_d !< private methods to implement the solve step for real/complex
!< double/single matrices !< double/single matrices
procedure, private :: elpa_solve_f procedure, private :: elpa_eigenvectors_f
procedure, private :: elpa_solve_dc procedure, private :: elpa_eigenvectors_dc
procedure, private :: elpa_solve_fc procedure, private :: elpa_eigenvectors_fc
procedure, private :: elpa_hermitian_multiply_d !< private methods to implement a "hermitian" multiplication of matrices a and b procedure, private :: elpa_hermitian_multiply_d !< private methods to implement a "hermitian" multiplication of matrices a and b
procedure, private :: elpa_hermitian_multiply_f !< for real valued matrices: a**T * b procedure, private :: elpa_hermitian_multiply_f !< for real valued matrices: a**T * b
...@@ -554,7 +554,7 @@ module elpa_impl ...@@ -554,7 +554,7 @@ module elpa_impl
#endif #endif
end subroutine end subroutine
!> \brief elpa_solve_d: class method to solve the eigenvalue problem for double real matrices !> \brief elpa_eigenvectors_d: class method to solve the eigenvalue problem for double real matrices
!> !>
!> The dimensions of the matrix a (locally ditributed and global), the block-cyclic distribution !> The dimensions of the matrix a (locally ditributed and global), the block-cyclic distribution
!> blocksize, the number of eigenvectors !> blocksize, the number of eigenvectors
...@@ -579,7 +579,7 @@ module elpa_impl ...@@ -579,7 +579,7 @@ module elpa_impl
!> even if only a part of the eigenvalues is needed. !> even if only a part of the eigenvalues is needed.
!> !>
!> \param error integer, optional: returns an error code, which can be queried with elpa_strerr !> \param error integer, optional: returns an error code, which can be queried with elpa_strerr
subroutine elpa_solve_d(self, a, ev, q, error) subroutine elpa_eigenvectors_d(self, a, ev, q, error)
use elpa2_impl use elpa2_impl
use elpa1_impl use elpa1_impl
use elpa_utilities, only : error_unit use elpa_utilities, only : error_unit
...@@ -620,8 +620,8 @@ module elpa_impl ...@@ -620,8 +620,8 @@ module elpa_impl
endif endif
end subroutine end subroutine
!c> void elpa_solve_d(elpa_t handle, double *a, double *ev, double *q, int *error); !c> void elpa_eigenvectors_d(elpa_t handle, double *a, double *ev, double *q, int *error);
subroutine elpa_solve_d_c(handle, a_p, ev_p, q_p, error) bind(C, name="elpa_solve_d") subroutine elpa_eigenvectors_d_c(handle, a_p, ev_p, q_p, error) bind(C, name="elpa_eigenvectors_d")
type(c_ptr), intent(in), value :: handle, a_p, ev_p, q_p type(c_ptr), intent(in), value :: handle, a_p, ev_p, q_p
integer(kind=c_int), optional, intent(in) :: error integer(kind=c_int), optional, intent(in) :: error
...@@ -633,11 +633,11 @@ module elpa_impl ...@@ -633,11 +633,11 @@ module elpa_impl
call c_f_pointer(ev_p, ev, [self%na]) call c_f_pointer(ev_p, ev, [self%na])
call c_f_pointer(q_p, q, [self%local_nrows, self%local_ncols]) call c_f_pointer(q_p, q, [self%local_nrows, self%local_ncols])
call elpa_solve_d(self, a, ev, q, error) call elpa_eigenvectors_d(self, a, ev, q, error)
end subroutine end subroutine
!> \brief elpa_solve_f: class method to solve the eigenvalue problem for float real matrices !> \brief elpa_eigenvectors_f: class method to solve the eigenvalue problem for float real matrices
!> !>
!> The dimensions of the matrix a (locally ditributed and global), the block-cyclic distribution !> The dimensions of the matrix a (locally ditributed and global), the block-cyclic distribution
!> blocksize, the number of eigenvectors !> blocksize, the number of eigenvectors
...@@ -662,7 +662,7 @@ module elpa_impl ...@@ -662,7 +662,7 @@ module elpa_impl
!> even if only a part of the eigenvalues is needed. !> even if only a part of the eigenvalues is needed.
!> !>
!> \param error integer, optional: returns an error code, which can be queried with elpa_strerr !> \param error integer, optional: returns an error code, which can be queried with elpa_strerr
subroutine elpa_solve_f(self, a, ev, q, error) subroutine elpa_eigenvectors_f(self, a, ev, q, error)
use elpa2_impl use elpa2_impl
use elpa1_impl use elpa1_impl
use elpa_utilities, only : error_unit use elpa_utilities, only : error_unit
...@@ -708,8 +708,8 @@ module elpa_impl ...@@ -708,8 +708,8 @@ module elpa_impl
end subroutine end subroutine
!c> void elpa_solve_f(elpa_t handle, float *a, float *ev, float *q, int *error); !c> void elpa_eigenvectors_f(elpa_t handle, float *a, float *ev, float *q, int *error);
subroutine elpa_solve_f_c(handle, a_p, ev_p, q_p, error) bind(C, name="elpa_solve_f") subroutine elpa_eigenvectors_f_c(handle, a_p, ev_p, q_p, error) bind(C, name="elpa_eigenvectors_f")
type(c_ptr), intent(in), value :: handle, a_p, ev_p, q_p type(c_ptr), intent(in), value :: handle, a_p, ev_p, q_p
integer(kind=c_int), optional, intent(in) :: error integer(kind=c_int), optional, intent(in) :: error
...@@ -721,11 +721,11 @@ module elpa_impl ...@@ -721,11 +721,11 @@ module elpa_impl
call c_f_pointer(ev_p, ev, [self%na]) call c_f_pointer(ev_p, ev, [self%na])
call c_f_pointer(q_p, q, [self%local_nrows, self%local_ncols]) call c_f_pointer(q_p, q, [self%local_nrows, self%local_ncols])
call elpa_solve_f(self, a, ev, q, error) call elpa_eigenvectors_f(self, a, ev, q, error)
end subroutine end subroutine
!> \brief elpa_solve_dc: class method to solve the eigenvalue problem for double complex matrices !> \brief elpa_eigenvectors_dc: class method to solve the eigenvalue problem for double complex matrices
!> !>
!> The dimensions of the matrix a (locally ditributed and global), the block-cyclic distribution !> The dimensions of the matrix a (locally ditributed and global), the block-cyclic distribution
!> blocksize, the number of eigenvectors !> blocksize, the number of eigenvectors
...@@ -750,7 +750,7 @@ module elpa_impl ...@@ -750,7 +750,7 @@ module elpa_impl
!> even if only a part of the eigenvalues is needed. !> even if only a part of the eigenvalues is needed.
!> !>
!> \param error integer, optional: returns an error code, which can be queried with elpa_strerr !> \param error integer, optional: returns an error code, which can be queried with elpa_strerr
subroutine elpa_solve_dc(self, a, ev, q, error) subroutine elpa_eigenvectors_dc(self, a, ev, q, error)
use elpa2_impl use elpa2_impl
use elpa1_impl use elpa1_impl
use elpa_utilities, only : error_unit use elpa_utilities, only : error_unit
...@@ -791,8 +791,8 @@ module elpa_impl ...@@ -791,8 +791,8 @@ module elpa_impl
end subroutine end subroutine
!c> void elpa_solve_dc(elpa_t handle, double complex *a, double *ev, double complex *q, int *error); !c> void elpa_eigenvectors_dc(elpa_t handle, double complex *a, double *ev, double complex *q, int *error);
subroutine elpa_solve_dc_c(handle, a_p, ev_p, q_p, error) bind(C, name="elpa_solve_dc") subroutine elpa_eigenvectors_dc_c(handle, a_p, ev_p, q_p, error) bind(C, name="elpa_eigenvectors_dc")
type(c_ptr), intent(in), value :: handle, a_p, ev_p, q_p type(c_ptr), intent(in), value :: handle, a_p, ev_p, q_p
integer(kind=c_int), optional, intent(in) :: error integer(kind=c_int), optional, intent(in) :: error
...@@ -805,11 +805,11 @@ module elpa_impl ...@@ -805,11 +805,11 @@ module elpa_impl
call c_f_pointer(ev_p, ev, [self%na]) call c_f_pointer(ev_p, ev, [self%na])
call c_f_pointer(q_p, q, [self%local_nrows, self%local_ncols]) call c_f_pointer(q_p, q, [self%local_nrows, self%local_ncols])
call elpa_solve_dc(self, a, ev, q, error) call elpa_eigenvectors_dc(self, a, ev, q, error)
end subroutine end subroutine
!> \brief elpa_solve_fc: class method to solve the eigenvalue problem for float complex matrices !> \brief elpa_eigenvectors_fc: class method to solve the eigenvalue problem for float complex matrices
!> !>
!> The dimensions of the matrix a (locally ditributed and global), the block-cyclic distribution !> The dimensions of the matrix a (locally ditributed and global), the block-cyclic distribution
!> blocksize, the number of eigenvectors !> blocksize, the number of eigenvectors
...@@ -834,7 +834,7 @@ module elpa_impl ...@@ -834,7 +834,7 @@ module elpa_impl
!> even if only a part of the eigenvalues is needed. !> even if only a part of the eigenvalues is needed.
!> !>
!> \param error integer, optional: returns an error code, which can be queried with elpa_strerr !> \param error integer, optional: returns an error code, which can be queried with elpa_strerr
subroutine elpa_solve_fc(self, a, ev, q, error) subroutine elpa_eigenvectors_fc(self, a, ev, q, error)
use elpa2_impl use elpa2_impl
use elpa1_impl use elpa1_impl
use elpa_utilities, only : error_unit use elpa_utilities, only : error_unit
...@@ -881,8 +881,8 @@ module elpa_impl ...@@ -881,8 +881,8 @@ module elpa_impl
end subroutine end subroutine
!c> void elpa_solve_fc(elpa_t handle, float complex *a, float *ev, float complex *q, int *error); !c> void elpa_eigenvectors_fc(elpa_t handle, float complex *a, float *ev, float complex *q, int *error);
subroutine elpa_solve_fc_c(handle, a_p, ev_p, q_p, error) bind(C, name="elpa_solve_fc") subroutine elpa_eigenvectors_fc_c(handle, a_p, ev_p, q_p, error) bind(C, name="elpa_eigenvectors_fc")
type(c_ptr), intent(in), value :: handle, a_p, ev_p, q_p type(c_ptr), intent(in), value :: handle, a_p, ev_p, q_p
integer(kind=c_int), optional, intent(in) :: error integer(kind=c_int), optional, intent(in) :: error
...@@ -895,7 +895,7 @@ module elpa_impl ...@@ -895,7 +895,7 @@ module elpa_impl
call c_f_pointer(ev_p, ev, [self%na]) call c_f_pointer(ev_p, ev, [self%na])
call c_f_pointer(q_p, q, [self%local_nrows, self%local_ncols]) call c_f_pointer(q_p, q, [self%local_nrows, self%local_ncols])
call elpa_solve_fc(self, a, ev, q, error) call elpa_eigenvectors_fc(self, a, ev, q, error)
end subroutine end subroutine
!> \brief elpa_hermitian_multiply_d: class method to perform C : = A**T * B for double real matrices !> \brief elpa_hermitian_multiply_d: class method to perform C : = A**T * B for double real matrices
......
...@@ -221,7 +221,7 @@ int main(int argc, char** argv) { ...@@ -221,7 +221,7 @@ int main(int argc, char** argv) {
printf("Solver is set to %d \n", value); printf("Solver is set to %d \n", value);
/* Solve EV problem */ /* Solve EV problem */
elpa_solve(handle, a, ev, z, &error); elpa_eigenvectors(handle, a, ev, z, &error);
assert_elpa_ok(error); assert_elpa_ok(error);
elpa_deallocate(handle); elpa_deallocate(handle);
......
...@@ -143,7 +143,7 @@ program test_interface ...@@ -143,7 +143,7 @@ program test_interface
call e%set("solver", ELPA_SOLVER_1STAGE, success) call e%set("solver", ELPA_SOLVER_1STAGE, success)
assert_elpa_ok(success) assert_elpa_ok(success)
call e%solve(a, ev, z, success) call e%eigenvectors(a, ev, z, success)
assert_elpa_ok(success) assert_elpa_ok(success)
call elpa_deallocate(e) call elpa_deallocate(e)
......
...@@ -142,7 +142,7 @@ program test_interface ...@@ -142,7 +142,7 @@ program test_interface
call e%set("solver", ELPA_SOLVER_1STAGE, success) call e%set("solver", ELPA_SOLVER_1STAGE, success)
assert_elpa_ok(success) assert_elpa_ok(success)
call e%solve(a, ev, z, success) call e%eigenvectors(a, ev, z, success)
assert_elpa_ok(success) assert_elpa_ok(success)
if (myid .eq. 0) then if (myid .eq. 0) then
......
...@@ -144,7 +144,7 @@ program test_interface ...@@ -144,7 +144,7 @@ program test_interface
call e%set("solver", ELPA_SOLVER_1STAGE, success) call e%set("solver", ELPA_SOLVER_1STAGE, success)
assert_elpa_ok(success) assert_elpa_ok(success)
call e%solve(a, ev, z, success) call e%eigenvectors(a, ev, z, success)
assert_elpa_ok(success) assert_elpa_ok(success)
call elpa_deallocate(e) call elpa_deallocate(e)
......
...@@ -146,7 +146,7 @@ program test_interface ...@@ -146,7 +146,7 @@ program test_interface
call e%set("complex_kernel", ELPA_2STAGE_COMPLEX_DEFAULT, success) call e%set("complex_kernel", ELPA_2STAGE_COMPLEX_DEFAULT, success)
assert_elpa_ok(success) assert_elpa_ok(success)
call e%solve(a, ev, z, success) call e%eigenvectors(a, ev, z, success)
assert_elpa_ok(success) assert_elpa_ok(success)
call elpa_deallocate(e) call elpa_deallocate(e)
......
...@@ -146,7 +146,7 @@ program test_interface ...@@ -146,7 +146,7 @@ program test_interface
call e%set("complex_kernel", ELPA_2STAGE_COMPLEX_DEFAULT, success) call e%set("complex_kernel", ELPA_2STAGE_COMPLEX_DEFAULT, success)
assert_elpa_ok(success) assert_elpa_ok(success)
call e%solve(a, ev, z, success) call e%eigenvectors(a, ev, z, success)
assert_elpa_ok(success) assert_elpa_ok(success)
call elpa_deallocate(e) call elpa_deallocate(e)
......
...@@ -257,7 +257,7 @@ program test_complex2_double_banded ...@@ -257,7 +257,7 @@ program test_complex2_double_banded
call e%set("solver", ELPA_SOLVER_2STAGE, success) call e%set("solver", ELPA_SOLVER_2STAGE, success)
assert_elpa_ok(success) assert_elpa_ok(success)
call e%solve(a, ev, z, success) call e%eigenvectors(a, ev, z, success)
assert_elpa_ok(success) assert_elpa_ok(success)
call elpa_deallocate(e) call elpa_deallocate(e)
......
...@@ -185,11 +185,11 @@ program test_interface ...@@ -185,11 +185,11 @@ program test_interface
call e2%set("solver", ELPA_SOLVER_1STAGE, success) call e2%set("solver", ELPA_SOLVER_1STAGE, success)
assert_elpa_ok(success) assert_elpa_ok(success)
call e1%solve(a1, ev1, z1, success) call e1%eigenvectors(a1, ev1, z1, success)
assert_elpa_ok(success) assert_elpa_ok(success)
call elpa_deallocate(e1) call elpa_deallocate(e1)
call e2%solve(a2, ev2, z2, success) call e2%eigenvectors(a2, ev2, z2, success)
assert_elpa_ok(success) assert_elpa_ok(success)
call elpa_deallocate(e2)