[petsc-users] Accelerating eigenvalue computation / removing portion of spectrum

Jose E. Roman jroman at dsic.upv.es
Tue May 31 15:28:36 CDT 2022


Probably MUMPS is taking most of the time...

If the matrices are not too large, send them to my personal email and I will have a look.

Jose


> El 31 may 2022, a las 22:13, Lucas Banting <bantingl at myumanitoba.ca> escribió:
> 
> Thanks for the sharing the article. 
> For my application, I think using an interval region to exclude the unneeded eigenvalues will still be faster than forming a larger constrained system. Specifying an interval appears to run in a similar amount of time.
> 
> Lucas
> From: Jose E. Roman <jroman at dsic.upv.es>
> Sent: Tuesday, May 31, 2022 2:08 PM
> To: Lucas Banting <bantingl at myumanitoba.ca>
> Cc: PETSc <petsc-users at mcs.anl.gov>
> Subject: Re: [petsc-users] Accelerating eigenvalue computation / removing portion of spectrum
>  
> Caution: This message was sent from outside the University of Manitoba.
> 
> 
> Please respond to the list also.
> 
> The problem with EPSSetDeflationSpace() is that it internally orthogonalizes the vectors that you pass in, so it is not viable for thousands of vectors.
> 
> You can try implementing any of the alternative schemes described in https://doi.org/10.1002/nla.307
> 
> Another thing you can try is to use a region for filtering, as explained in section 2.6.4 of the users manual. Use a region that excludes -1.0 and you will have more chances to get the wanted eigenvalues faster. But still convergence may be slow.
> 
> Jose
> 
> 
> > El 31 may 2022, a las 20:52, Lucas Banting <bantingl at myumanitoba.ca> escribió:
> >
> > Thanks for the response Jose,
> >
> > There is an analytical solution for these modes actually, however there are thousands of them and they are all sparse.
> > I assume it is a non-trivial thing for EPSSetDeflationSpace() to take something like a MATAIJ as input?
> >
> > Lucas
> > From: Jose E. Roman <jroman at dsic.upv.es>
> > Sent: Tuesday, May 31, 2022 1:11 PM
> > To: Lucas Banting <bantingl at myumanitoba.ca>
> > Cc: petsc-users at mcs.anl.gov <petsc-users at mcs.anl.gov>
> > Subject: Re: [petsc-users] Accelerating eigenvalue computation / removing portion of spectrum
> >
> > Caution: This message was sent from outside the University of Manitoba.
> >
> >
> > If you know how to cheaply compute a basis of the nullspace of S, then you can try passing it to the solver via EPSSetDeflationSpace()https://slepc.upv.es/documentation/current/docs/manualpages/EPS/EPSSetDeflationSpace.html
> >
> > Jose
> >
> >
> > > El 31 may 2022, a las 19:28, Lucas Banting <bantingl at myumanitoba.ca> escribió:
> > >
> > > Hello,
> > >
> > > I have a general non hermitian eigenvalue problem arising from the 3D helmholtz equation.
> > > The form of the helmholtz equaton is:
> > >
> > > (S - k^2M)v = lambda k^2 M v
> > >
> > > Where S is the stiffness/curl-curl matrix and M is the mass matrix associated with edge elements used to discretize the problem.
> > > The helmholtz equation creates eigenvalues of -1.0, which I believe are eigenvectors that are part of the null space of the curl-curl operator S.
> > >
> > > For my application, I would like to compute eigenvalues > -1.0, and avoid computation of eigenvalues of -1.0.
> > > I am currently using shift invert ST with mumps LU direct solver. By increasing the shift away from lambda=-1.0. I get faster computation of eigenvectors, and the lambda=-1.0 eigenvectors appear to slow down the computation by about a factor of two.
> > > Is there a way to avoid these lambda = -1.0 eigenpairs with a GNHEP problem type?
> > >
> > > Regards,
> > > Lucas



More information about the petsc-users mailing list