Re: [petsc-users] [SLEPc] Best method to compute all eigenvalues of a MatShell

2024-05-13 Thread Jose E. Roman via petsc-users
Please respond to the list. The mpd parameter means "maximum projected dimension". You can think of the projected problem as the "sequential" part of the computation, that is not parallelized ("small" dense eigenproblem). When you run with ZjQcmQRYFpfptBannerStart This

Re: [petsc-users] [SLEPc] Best method to compute all eigenvalues of a MatShell

2024-05-13 Thread Jose E. Roman via petsc-users
Computing the full spectrum is always an unpleasant task. But if you cannot avoid it, I would suggest that you compute the eigenvalues in two runs: n/2 largest real eigenvalues and n/2 smallest real. If your matrix-vector product is cheap, ZjQcmQRYFpfptBannerStart This

Re: [petsc-users] Memory optimization

2019-11-21 Thread Jose E. Roman via petsc-users
Don't use -mat_mumps_icntl_14 to reduce the memory used by MUMPS. Most likely the problem is that the interval you gave is too large and contains too many eigenvalues (SLEPc needs to allocate at least one vector per each eigenvalue). You can count the eigenvalues in the interval with the

Re: [petsc-users] SLEPc GEVP for huge systems

2019-11-20 Thread Jose E. Roman via petsc-users
> El 19 nov 2019, a las 22:05, Yann Jobic escribió: > > Thanks for the fast answer ! > The error coming from MUMPS is : > On return from DMUMPS, INFOG(1)= -9 > On return from DMUMPS, INFOG(2)=29088157 > The matrix size : 4972410*4972410 You may want to try running with

Re: [petsc-users] SLEPc GEVP for huge systems

2019-11-19 Thread Jose E. Roman via petsc-users
Are you getting an error from MUMPS or from BV? What is the error message you get? What is the size of the matrix? How many eigenvalues do you need to compute? In principle you can use any KSP+PC, see section 3.4.1 of the users manual. If you have a good preconditioner, then an alternative to

Re: [petsc-users] Select a preconditioner for SLEPc eigenvalue solver Jacobi-Davidson

2019-11-05 Thread Jose E. Roman via petsc-users
JD sets STPRECOND at EPSSetUp(), if it was not set before. So I guess you need to add -st_type precond on the command line, so that it is set at EPSSetFromOptions(). Jose > El 5 nov 2019, a las 18:13, Fande Kong escribió: > > How about I want to determine the ST type on runtime? > >

Re: [petsc-users] Select a preconditioner for SLEPc eigenvalue solver Jacobi-Davidson

2019-11-05 Thread Jose E. Roman via petsc-users
Currently, the function that passes the preconditioner matrix is specific of STPRECOND, so you have to add ierr = STSetType(st,STPRECOND);CHKERRQ(ierr); before ierr = STPrecondSetMatForPC(st,B);CHKERRQ(ierr); otherwise this latter call is ignored. We may be changing a little bit the way in

Re: [petsc-users] SLEPC no speedup in parallel

2019-11-04 Thread Jose E. Roman via petsc-users
Did you follow the instructions in section 3.4.5 of the SLEPc users manual? Send the output of -eps_view Jose > El 4 nov 2019, a las 18:33, Perceval Desforges via petsc-users > escribió: > > Dear petsc and slepc developpers, > > I am using slepc to solve an eigenvalue problem. Since I need

Re: [petsc-users] Select a preconditioner for SLEPc eigenvalue solver Jacobi-Davidson

2019-10-23 Thread Jose E. Roman via petsc-users
Yes, it is confusing. Here is the explanation: when you use a target, the preconditioner is built from matrix A-sigma*B. By default, instead of TARGET_MAGNITUDE we set LARGEST_MAGNITUDE, and in Jacobi-Davidson we treat this case by setting sigma=PETSC_MAX_REAL. In this case, the preconditioner

Re: [petsc-users] SLEPc - st_type cayley choice of shift and antishift

2019-09-27 Thread Jose E. Roman via petsc-users
I now see what is happening. In the expression of the paper the antishift has different sign compared to the expression used in SLEPc (see the users manual): (A-sigma*B)^{-1}*(A+nu*B)x = \theta x So nu=-sigma is a forbidden value, otherwise both factors cancel out (I will fix the interface so

Re: [petsc-users] SLEPc - st_type cayley choice of shift and antishift

2019-09-27 Thread Jose E. Roman via petsc-users
Try setting -eps_target -1 instead of -st_shift -1 Does sinvert work with target -1? Can you send me the matrices so that I can reproduce the issue? Jose > El 27 sept 2019, a las 13:11, Michael Werner escribió: > > Thank you for the link to the paper, it's quite interesting and pretty > close

Re: [petsc-users] SLEPc - st_type cayley choice of shift and antishift

2019-09-25 Thread Jose E. Roman via petsc-users
> El 25 sept 2019, a las 16:18, Michael Werner via petsc-users > escribió: > > Hello, > > I'm looking for advice on how to set shift and antishift for the cayley > spectral transformation. So far I've been using sinvert to find the > eigenvalues with the smallest real part (but possibly

Re: [petsc-users] question about MatCreateRedundantMatrix

2019-09-20 Thread Jose E. Roman via petsc-users
I have tried with slepc-master and it works: $ mpiexec -n 2 ./ex1 -eps_ciss_partitions 2 matrix size 774 (-78.7875,8.8022) (-73.9569,-42.2401) (-66.9942,-7.50907) (-62.262,-2.71603) (-58.9716,0.60) (-57.9883,0.298729) (-57.8323,1.06041) (-56.5317,1.10758) (-56.0234,45.2405) (-54.4058,2.88373)

Re: [petsc-users] question about MatCreateRedundantMatrix

2019-09-19 Thread Jose E. Roman via petsc-users
Michael, In my previous email I should have checked it better. The CISS solver works indeed with dense matrices: $ mpiexec -n 2 ./ex2 -n 30 -eps_type ciss -terse -rg_type ellipse -rg_ellipse_center 1.175 -rg_ellipse_radius 0.075 -eps_ciss_partitions 2 -mat_type dense 2-D Laplacian

Re: [petsc-users] SLEPC: partitioning for CISS

2019-09-11 Thread Jose E. Roman via petsc-users
If you run with debugging enabled you will get an error at EPSSetOperators() saying that "eps" and "matrix_petsc" have different communicators. You cannot pass a sequential matrix to a parallel solver. Jose > El 11 sept 2019, a las 5:46, Povolotskyi, Mykhailo via petsc-users > escribió: >

Re: [petsc-users] question about CISS

2019-09-07 Thread Jose E. Roman via petsc-users
In the ring region, you should choose appropriate start and end angles to narrow down the region, so that it fits closer to the wanted eigenvalues, otherwise the region spans the whole circumference. Note that there is a fixed number of integration points around the contour, so if the area is

Re: [petsc-users] question about CISS

2019-08-29 Thread Jose E. Roman via petsc-users
> El 29 ago 2019, a las 22:20, Povolotskyi, Mykhailo > escribió: > > Thank you for suggestion. > > Is it interfaced to SLEPC? No, could be a future project... > > > On 08/29/2019 04:14 PM, Jose E. Roman wrote: >> I am not an expert in contour integral eigensolvers. I think difficulties

Re: [petsc-users] question about CISS

2019-08-29 Thread Jose E. Roman via petsc-users
I am not an expert in contour integral eigensolvers. I think difficulties come with corners, so ellipses are the best choice. I don't think ring regions are relevant here. Have you considered using ScaLAPACK. Some time ago we were able to address problems of size up to 400k

Re: [petsc-users] question about CISS

2019-08-29 Thread Jose E. Roman via petsc-users
The CISS solver is supposed to estimate the number of eigenvalues contained in the contour. My impression is that the estimation is less accurate in case of rectangular contours, compared to elliptic ones. But of course, with ellipses it is not possible to fully cover the complex plane unless

Re: [petsc-users] ST solver error

2019-08-01 Thread Jose E. Roman via petsc-users
See FAQ #10 http://slepc.upv.es/documentation/faq.htm > El 1 ago 2019, a las 15:58, Yang Bo (Asst Prof) via petsc-users > escribió: > > Hi everyone, > > I am trying to use the Shift-and-invert spectral transformations for my > diagonalisation code. While there is no problem running the code

Re: [petsc-users] problem with CISS in SLEPC

2019-07-11 Thread Jose E. Roman via petsc-users
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

Re: [petsc-users] Communication during MatAssemblyEnd

2019-07-01 Thread Jose E. Roman via petsc-users
You can try the following: - Try with a different DS method: -ds_method 1 or -ds_method 2 (see DSSetMethod) - Run with -ds_parallel synchronized (see DSSetParallel) If it does not help, send a reproducible code to slepc-maint Jose > El 1 jul 2019, a las 11:10, Ale Foggia via petsc-users >

Re: [petsc-users] Getting n largest and m smallest eigenvalues from SLEPc at the same time

2019-05-27 Thread Jose E. Roman via petsc-users
The options -eps_largest_real -eps_smallest_real are exclusive. The second one, overrides the first one, because both of them call http://slepc.upv.es/documentation/current/docs/manualpages/EPS/EPSSetWhichEigenpairs.html You should run the example twice, or create a program that calls

Re: [petsc-users] SLEPc: logpcg works but lanczos fails

2019-05-05 Thread Jose E. Roman via petsc-users
Is your B-matrix singular? Then the solver might be approximating an infinite eigenvalue even if you ask for smallest real eigenvalues. For Lanczos-type solvers, it is safer to run with -st_type sinvert -eps_target 0 if you know that eigenvalues are positive. Or instead of 0 use a target

Re: [petsc-users] SLEPc in PETSc 3.11.0

2019-04-25 Thread Jose E. Roman via petsc-users
Use SLEPc 3.11 with PETSc 3.11. > El 25 abr 2019, a las 13:16, Eda Oktay via petsc-users > escribió: > > Hello everyone, > > I am trying to run my program in petsc 3.11.0. It is currently working in > petsc 3.10.3. > > I am using slepc in the program, so when I used 3.10.3 the slepc

Re: [petsc-users] max_it for EPS minres preconditioner

2019-04-05 Thread Jose E. Roman via petsc-users
I have made a fix in branch jose/maint/change-maxit-lobpcg It will be included in maint once the nightly tests are clean. Thanks for reporting this. Jose > El 4 abr 2019, a las 23:37, Pieter Ghysels escribió: > > Dear Jose, > > It indeed works correctly when I set maxit after calling EPSSetUp.

Re: [petsc-users] max_it for EPS minres preconditioner

2019-04-04 Thread Jose E. Roman via petsc-users
Oops, the intention was to set 5 as the default value, but it is set at EPSSetUp() so changing it before is useless. This is wrong behaviour. I will try to fix it tomorrow. Jose > El 4 abr 2019, a las 20:45, Pieter Ghysels via petsc-users > escribió: > > Hi, > > I'm trying to set the

Re: [petsc-users] Integrate command line arguments -bv_type vecs -bv_type mat to python code

2019-04-03 Thread Jose E. Roman via petsc-users
You could just do E.getBV().setType(SLEPc.BV.Type.VECS) before E.setFromOptions() Jose > El 3 abr 2019, a las 13:05, Jan Grießer via petsc-users > escribió: > > Hello, everybody, > I use Splec4py to solve the lowest eigenvalues and corresponding eigenvectors > of systems up to 20 Mio x

Re: [petsc-users] petscmat.h: No such file or directory

2019-03-20 Thread Jose E. Roman via petsc-users
Do not add the ".c" extension. Read my answer: 'make DENEME_TEMIZ_ENYENI_FINAL' > El 20 mar 2019, a las 11:15, Eda Oktay escribió: > > Before using mpicc, I just tried to compile with make DENEME_ENYENI-FINAL.c > but it says there is nothing to do. > > On Wed, Mar 20, 2019, 12:39 PM Jose E.

Re: [petsc-users] MatGetRow_MPIAIJ error

2019-03-20 Thread Jose E. Roman via petsc-users
Mat objects in PETSc are parallel, meaning that the data structure is distributed. You should use MatGetOwnershipRange() so that each process accesses its local rows only. https://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Mat/MatGetOwnershipRange.html This is very basic usage. You

Re: [petsc-users] petscmat.h: No such file or directory

2019-03-20 Thread Jose E. Roman via petsc-users
You must compile your program with 'make DENEME_TEMIZ_ENYENI_FINAL' or just 'make', not with 'mpicc DENEME_TEMIZ_ENYENI_FINAL.c' > El 20 mar 2019, a las 8:25, Eda Oktay via petsc-users > escribió: > > Hello, > > I am trying to compile a parallel program DENEME_TEMIZ_ENYENI_FINAL.c in >

Re: [petsc-users] SLEPc Build Error

2019-03-19 Thread Jose E. Roman via petsc-users
libmpi.so.0, needed by > > /home/slurm_local/e200781/petsc-3.10.4/arch-linux2-c-debug/lib/libopenblas.so, > > may conflict with libmpi.so.40 > > /home/slurm_local/e200781/petsc-3.10.4/arch-linux2-c-debug/lib/libpetsc.so: > > undefined reference to `MatPartitioningParmetis

Re: [petsc-users] SLEPc Build Error

2019-03-19 Thread Jose E. Roman via petsc-users
, 19 Mar 2019 Sal, 13:49 tarihinde şunu > yazdı: > Correction: the correct path is > $PETSC_DIR/$PETSC_ARCH/externalpackages/git.slepc/$PETSC_ARCH/lib/slepc/conf/configure.log > > > > > El 19 mar 2019, a las 11:46, Jose E. Roman via petsc-users > > escribió: >

Re: [petsc-users] SLEPc Build Error

2019-03-19 Thread Jose E. Roman via petsc-users
Correction: the correct path is $PETSC_DIR/$PETSC_ARCH/externalpackages/git.slepc/$PETSC_ARCH/lib/slepc/conf/configure.log > El 19 mar 2019, a las 11:46, Jose E. Roman via petsc-users > escribió: > > And what is in $SLEPC_DIR/arch-linux2-c-debug/lib/slepc/conf/configure.

Re: [petsc-users] Problem in loading Matrix Market format

2019-02-28 Thread Jose E. Roman via petsc-users
Don't know why it should cause problems. I'd rather try before asking. > El 28 feb 2019, a las 9:21, Eda Oktay escribió: > > Dear Professor Roman, > > Thank you for your answer. I used PetscBinaryWrite.m file and converted > matrices into binary format but I have a question: > > When I look

Re: [petsc-users] Problem in loading Matrix Market format

2019-02-12 Thread Jose E. Roman via petsc-users
It is better to convert the matrices to PETSc binary format first. One easy way is to read them into Matlab with mmread.m and write with PETSc's PetscBinaryWrite.m. This can be done similarly in python. Jose > El 12 feb 2019, a las 8:50, Eda Oktay via petsc-users > escribió: > > Hello, > >

Re: [petsc-users] Problem Using EPSGetEigenpair

2019-02-08 Thread Jose E. Roman via petsc-users
You are printing the variable as an integer, and it is not an integer, it's a PetscScalar. Use %g Jose > El 8 feb 2019, a las 15:02, Eda Oktay via petsc-users > escribió: > > Hello, > > I am trying to test EPSGetEigenpair function on ex11 in EPS. > > First, I executed ex11 and get

Re: [petsc-users] Compilation of program including slepc

2019-02-08 Thread Jose E. Roman via petsc-users
You need to create a makefile for your program or add rules to an existing makefile. See section 1.4.2 of SLEPc's user manual. Jose > El 8 feb 2019, a las 14:24, Eda Oktay via petsc-users > escribió: > > Hello, > > I installed SLEPc during configuration of PETSc and now I am trying to write

Re: [petsc-users] SLEPc: Setting options for mass matrix KSP in generalised eigenvalue problem

2019-01-16 Thread Jose E. Roman via petsc-users
This case is treated in the same way as the (shift-and-invert) spectral transformation. There are nested objects EPS > ST > KSP > PC. By default ST=SHIFT, which is what you need. So you just have to get access to the KSP/PC objects to set options. Basically you can use ex9.py in slepc4py but

Re: [petsc-users] [SLEPc] Krylov-Schur convergence

2018-11-13 Thread Jose E. Roman via petsc-users
One thing you can do is use a symmetric matrix format: -mat_type sbaij In this way, your matrix will always be symmetric because only the upper triangular part is stored. The drawback is that efficiency will likely decrease. To check symmetry, one (possibly bad) way is to take a bunch of random

Re: [petsc-users] [SLEPc] Krylov-Schur convergence

2018-11-13 Thread Jose E. Roman via petsc-users
As Matt points out, the probable cause is that your matrix is not exactly Hermitian. In our implementation of Lanczos we assume symmetry, so if ||A-A^*|| is non-negligible then some information is being discarded, which may confuse Lanczos giving some eigenpair as converged when it is not. Why

Re: [petsc-users] [SLEPc] Krylov-Schur convergence

2018-11-13 Thread Jose E. Roman via petsc-users
This is really strange. We cannot say what is going on, everything seems fine. Could you try solving the problem as non-Hermitian to see what happens? Just run with -eps_non_hermitian. Depending on the result, we can suggest other things to try. Jose > El 13 nov 2018, a las 10:58, Ale Foggia