Internally the solver builds a subspace of dimension L*M, which defaults to 128. See the details here http://slepc.upv.es/documentation/reports/str11.pdf I guess the method is not prepared for smallish matrices. Try reducing the values of L and M.
Jose > El 11 jul 2019, a las 19:43, Matthew Knepley via petsc-users > <[email protected]> escribió: > > On Thu, Jul 11, 2019 at 12:37 PM Povolotskyi, Mykhailo via petsc-users > <[email protected]> wrote: > Hello, > > I want to use CISS for my eigenvalue problem. To test it I tried a > simple (2x2) matrix case, but the code failed with the following message: > > [0]PETSC ERROR: --------------------- Error Message > -------------------------------------------------------------- > [0]PETSC ERROR: Error in external library > [0]PETSC ERROR: Error in LAPACK subroutine gesvd: info=127 > > This does not make sense. The error is supposed to be the number of > non-converged diagonals, but > you only have a 2x2 problem, so something else is wrong. > > Matt > > [0]PETSC ERROR: See http://www.mcs.anl.gov/petsc/documentation/faq.html > for trouble shooting. > [0]PETSC ERROR: Petsc Release Version 3.8.4, Mar, 24, 2018 > [0]PETSC ERROR: var1 on a linux-complex named brown-a027.rcac.purdue.edu > by mpovolot Thu Jul 11 13:28:21 2019 > [0]PETSC ERROR: Configure options --with-scalar-type=complex --with-x=0 > --with-hdf5 --download-hdf5=1 --with-single-library=1 --with-pic=1 > --with-shared-libraries=0 --with-log=0 --with-clanguage=C++ > --CXXFLAGS="-fopenmp -fPIC" --CFLAGS="-fopenmp -fPIC" --with-fortran=0 > --FFLAGS="-fopenmp -fPIC" --with-debugging=0 --with-cc=mpicc > --with-fc=mpif90 --with-cxx=mpicxx COPTFLAGS= CXXOPTFLAGS= FOPTFLAGS= > --download-metis=1 --download-parmetis=1 > --with-valgrind-dir=/apps/brown/valgrind/3.13.0_gcc-4.8.5 > --download-mumps=1 --with-fortran-kernels=0 --download-superlu_dist=1 > --with-blaslapack-lib="-L/apps/cent7/intel/compilers_and_libraries_2017.1.132/linux/mkl/lib/intel64 > > -lmkl_intel_lp64 -lmkl_gnu_thread -lmkl_core " > --with-blacs-lib=/apps/cent7/intel/compilers_and_libraries_2017.1.132/linux/mkl/lib/intel64/libmkl_blacs_intelmpi_lp64.so > > --with-blacs-include=/apps/cent7/intel/compilers_and_libraries_2017.1.132/linux/mkl/include > > --with-scalapack-lib="-Wl,-rpath,/apps/cent7/intel/compilers_and_libraries_2017.1.132/linux/mkl/lib/intel64 > > -L/apps/cent7/intel/compilers_and_libraries_2017.1.132/linux/mkl/lib/intel64 > -lmkl_gf_lp64 -lmkl_gnu_thread -lmkl_core -lpthread > -L/apps/cent7/intel/compilers_and_libraries_2017.1.132/linux/mkl/lib/intel64 > -lmkl_scalapack_lp64 -lmkl_blacs_intelmpi_lp64" > --with-scalapack-include=/apps/cent7/intel/compilers_and_libraries_2017.1.132/linux/mkl/include > [0]PETSC ERROR: #1 SVD_S() line 611 in > /depot/kildisha/apps/brown/nemo5/libs/slepc/build-cplx/src/eps/impls/ciss/ciss.c > [0]PETSC ERROR: #2 EPSSolve_CISS() line 1028 in > /depot/kildisha/apps/brown/nemo5/libs/slepc/build-cplx/src/eps/impls/ciss/ciss.c > [0]PETSC ERROR: #3 EPSSolve() line 147 in > /depot/kildisha/apps/brown/nemo5/libs/slepc/build-cplx/src/eps/interface/epssolve.c > > > Here is the code: > > void test1() > { > Mat matrix_petsc; > MatCreateDense(MPI_COMM_SELF,2,2,PETSC_DECIDE,PETSC_DECIDE,NULL,&matrix_petsc); > MatSetValue(matrix_petsc,0,0,complex<double>(1,0),INSERT_VALUES); > MatSetValue(matrix_petsc,1,1,complex<double>(2,0),INSERT_VALUES); > MatSetValue(matrix_petsc,0,1,complex<double>(0,0),INSERT_VALUES); > MatSetValue(matrix_petsc,1,0,complex<double>(0,0),INSERT_VALUES); > MatAssemblyBegin(matrix_petsc, MAT_FINAL_ASSEMBLY); > MatAssemblyEnd(matrix_petsc, MAT_FINAL_ASSEMBLY); > > { > EPS eps; > EPSType type; > RG rg; > > EPSCreate(MPI_COMM_SELF,&eps); > EPSSetOperators( eps,matrix_petsc,NULL); > EPSSetType(eps,EPSCISS); > EPSSetProblemType(eps, EPS_NHEP); > > double real_min = -10; > double real_max = 10; > > double imag_min = -10; > double imag_max = 10; > > EPSGetRG(eps,&rg); > RGSetType(rg,RGINTERVAL); > RGIntervalSetEndpoints(rg,real_min,real_max,imag_min,imag_max); > > EPSSolve(eps); > > EPSDestroy(&eps); > } > > > MatDestroy(&matrix_petsc); > > } > > > Do you see anything wrong in the way I'm calling SLEPC functions? > > Thank you, > > Michael. > > > > -- > What most experimenters take for granted before they begin their experiments > is infinitely more interesting than any results to which their experiments > lead. > -- Norbert Wiener > > https://www.cse.buffalo.edu/~knepley/
