[petsc-users] Help with generalized eigenvalue problem

Aulisa, Eugenio Eugenio.Aulisa at ttu.edu
Wed Jul 8 08:55:41 CDT 2020


Dear Jose,

Thank you for your answer.

I tried MLU but it did not help.

I also tried to eliminate the null space of B, but I do not know it apriori,
and at least to my knowledge of PETSC-SLEPC there is not an explicit way to find it
but to find all the 0 eigenvectors of B, which again it requires the inverse of B.

I am solving similar small problems millions of times, and this works fine most of the time,
but once in a while it fails with the same LU zero pivot exception.

One thing I tried yesterday, and it seams to work all the times,
is perturbing the diagonal of B of a small factor, += 1.0e-10 ||B||,
but I do not know how theoretically it sounds with all these indeterminate eigenvalues,
maybe you have a clue on this.

Thanks,
Eugenio



Eugenio Aulisa

Department of Mathematics and Statistics,
Texas Tech University
Lubbock TX, 79409-1042
room: 226
http://www.math.ttu.edu/~eaulisa/
phone: (806) 834-6684
fax: (806) 742-1112




________________________________
From: Jose E. Roman <jroman at dsic.upv.es>
Sent: Tuesday, July 7, 2020 11:01 AM
To: Aulisa, Eugenio <Eugenio.Aulisa at ttu.edu>
Cc: petsc-users at mcs.anl.gov <petsc-users at mcs.anl.gov>; Kara, Erdi <Erdi.Kara at ttu.edu>
Subject: Re: [petsc-users] Help with generalized eigenvalue problem

I don't know what options you are using, shift-and-invert or not, which, target. Anyway, if A and B have a common null space, then A-sigma*B will always be singular, so the KSP solver will have to deal with a singular system.

If you pass the nullspace vectors to the EPS solver via https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fslepc.upv.es%2Fdocumentation%2Fcurrent%2Fdocs%2Fmanualpages%2FEPS%2FEPSSetDeflationSpace.html&data=02%7C01%7CEugenio.Aulisa%40ttu.edu%7C5b98b0c29ec246ed6c7908d8228f12bb%7C178a51bf8b2049ffb65556245d5c173c%7C0%7C0%7C637297345179456168&sdata=dP0Hi2ZPRo6rYubPYRK%2FimS0fZKBV9%2BJy7N%2BtXS6b30%3D&reserved=0 then these vectors will also be attached to the KSP solver.

Also, since you have MUMPS, try adding
 -st_pc_factor_mat_solver_type mumps
(see section 3.4.1 of the SLEPc users manual). MUMPS should be quite robust with respect to singular linear systems.

Jose


> El 7 jul 2020, a las 17:40, Aulisa, Eugenio <Eugenio.Aulisa at ttu.edu> escribió:
>
> Can somebody help me figure it out the solver options for the attached generalized eigenvalue problem?
>
> A x = lambda B x
>
> where A and B have the same null space, with 5 zero eigenvalues.
>
> The only non indefinite eigenvalue should be 41.1892
>
> The problem is Hermite semi-positive so automatically slepc should purify it, but to be sure I added
>
> EPSSetPurify(eps, PETSC_TRUE);
>
> I guess with my non-solver-options slepc is still trying to do the inverse of the full
> B matrix with an LU decomposition and gets zero pivot.
>
> This is what I get as a PETSC error Message
>
>  [0]PETSC ERROR: --------------------- Error Message --------------------------------------------------------------
>    [0]PETSC ERROR: Zero pivot in LU factorization: https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.mcs.anl.gov%2Fpetsc%2Fdocumentation%2Ffaq.html%23zeropivot&data=02%7C01%7CEugenio.Aulisa%40ttu.edu%7C5b98b0c29ec246ed6c7908d8228f12bb%7C178a51bf8b2049ffb65556245d5c173c%7C0%7C0%7C637297345179456168&sdata=5JnAFaw%2B4SsXiMYji4FQFLoTZOpE8r7ggYWSH1Jqti0%3D&reserved=0
>    [0]PETSC ERROR: Bad LU factorization
>    [0]PETSC ERROR: See https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.mcs.anl.gov%2Fpetsc%2Fdocumentation%2Ffaq.html&data=02%7C01%7CEugenio.Aulisa%40ttu.edu%7C5b98b0c29ec246ed6c7908d8228f12bb%7C178a51bf8b2049ffb65556245d5c173c%7C0%7C0%7C637297345179456168&sdata=HUax0aUTExvaWCeZFBty%2F7SZf3bRxPq0h3hwnhbDXwE%3D&reserved=0 for trouble shooting.
>    [0]PETSC ERROR: Petsc Development GIT revision: v3.11.3-2263-gce77f2ed1a  GIT Date: 2019-09-26 13:31:14 -0500
>    [0]PETSC ERROR: Nitsche_ex4a on a arch-linux2-c-opt named linux-8biu by eaulisa Tue Jul  7 10:17:55 2020
>    [0]PETSC ERROR: Configure options --with-debugging=0 --with-x=1 COPTFLAGS="-O3 -march=native -mtune=native" CXXOPTFLAGS="-O3 -march=native -mtune=native" FOPTFLAGS="-O3 -march=native -mtune=native" --download-openmpi=1 --download-fblaslapack=1 --download-hdf5=1 --download-metis=1 --download-parmetis=1 --with-shared-libraries=1 --download-blacs=1 --download-scalapack=1 --download-mumps=1 --download-suitesparse
>    [0]PETSC ERROR: #1 MatLUFactor_SeqDense() line 633 in /home/eaulisa/software/petsc/src/mat/impls/dense/seq/dense.c
>    [0]PETSC ERROR: #2 MatLUFactorNumeric_SeqDense() line 432 in /home/eaulisa/software/petsc/src/mat/impls/dense/seq/dense.c
>    [0]PETSC ERROR: #3 MatLUFactorNumeric() line 3056 in /home/eaulisa/software/petsc/src/mat/interface/matrix.c
>    [0]PETSC ERROR: #4 PCSetUp_LU() line 126 in /home/eaulisa/software/petsc/src/ksp/pc/impls/factor/lu/lu.c
>    [0]PETSC ERROR: #5 PCSetUp() line 894 in /home/eaulisa/software/petsc/src/ksp/pc/interface/precon.c
>    [0]PETSC ERROR: #6 KSPSetUp() line 377 in /home/eaulisa/software/petsc/src/ksp/ksp/interface/itfunc.c
>    [0]PETSC ERROR: #7 STSetUp_Shift() line 119 in /home/eaulisa/software/slepc/src/sys/classes/st/impls/shift/shift.c
>    [0]PETSC ERROR: #8 STSetUp() line 271 in /home/eaulisa/software/slepc/src/sys/classes/st/interface/stsolve.c
>    [0]PETSC ERROR: #9 EPSSetUp() line 273 in /home/eaulisa/software/slepc/src/eps/interface/epssetup.c
>    [0]PETSC ERROR: #10 EPSSolve() line 136 in /home/eaulisa/software/slepc/src/eps/interface/epssolve.c
>
>
>
> Thanks
> Eugenio
>
>
>
>
> Eugenio Aulisa
>
> Department of Mathematics and Statistics,
> Texas Tech University
> Lubbock TX, 79409-1042
> room: 226
> http://www.math.ttu.edu/~eaulisa/
> phone: (806) 834-6684
> fax: (806) 742-1112
>
>
>
> <genEigen.cpp>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20200708/d8780dfb/attachment.html>


More information about the petsc-users mailing list