Commit f2157961 authored by Andreas Marek's avatar Andreas Marek
Browse files

Special case: Zero eigenvectors

parent edbfec87
...@@ -136,6 +136,12 @@ function elpa_solve_evp_& ...@@ -136,6 +136,12 @@ function elpa_solve_evp_&
nblk = obj%nblk nblk = obj%nblk
matrixCols = obj%local_ncols matrixCols = obj%local_ncols
if (nev == 0) then
nev = 1
obj%eigenvalues_only = .true.
endif
call obj%get("mpi_comm_rows",mpi_comm_rows) call obj%get("mpi_comm_rows",mpi_comm_rows)
call obj%get("mpi_comm_cols",mpi_comm_cols) call obj%get("mpi_comm_cols",mpi_comm_cols)
call obj%get("mpi_comm_parent", mpi_comm_all) call obj%get("mpi_comm_parent", mpi_comm_all)
......
...@@ -136,6 +136,11 @@ ...@@ -136,6 +136,11 @@
nblk = obj%nblk nblk = obj%nblk
matrixCols = obj%local_ncols matrixCols = obj%local_ncols
if (nev == 0) then
nev = 1
obj%eigenvalues_only = .true.
endif
#if REALCASE == 1 #if REALCASE == 1
call obj%get("real_kernel",kernel) call obj%get("real_kernel",kernel)
! check consistency between request for GPUs and defined kernel ! check consistency between request for GPUs and defined kernel
......
...@@ -620,7 +620,7 @@ static int nev_is_valid(elpa_index_t index, int n, int new_value) { ...@@ -620,7 +620,7 @@ static int nev_is_valid(elpa_index_t index, int n, int new_value) {
if (!elpa_index_int_value_is_set(index, "na")) { if (!elpa_index_int_value_is_set(index, "na")) {
return 0; return 0;
} }
return 0 < new_value && new_value <= elpa_index_get_int_value(index, "na", NULL); return 0 <= new_value && new_value <= elpa_index_get_int_value(index, "na", NULL);
} }
static int is_positive(elpa_index_t index, int n, int new_value) { static int is_positive(elpa_index_t index, int n, int new_value) {
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment