yixuan/spectra

Adding Davidson and Jacobi Davidson

JensWehner opened this issue · 8 comments

Hello,

we have implemented a Davidson/Jacobi-Davidson solver for eigenvalue problems, based on Eigen.

Would that be in the scope of your library? We make sure it is fully tested and at least provide support for a year.

Yeah, that will be super cool, and you are always welcome to contribute. One thing I need to think about is how to design the API and integrate JD into the solver. Maybe you can start with pushing code into the include/Spectra/contrib folder, and then we work on the potential integration together.

Nice very cool,

do you have contributing guidelines somewhere, coding standards, .clang-format etc??

Nope, so far Spectra is still a very individual project and I mostly do manual editing. I used it for my own research, so formality was not the priority.

Not related but if you are positive about this, I can quickly add stuff like that, it takes me max 2-3 hours.

It doesn't matter, since I expect we need to do some refactoring first, and formatting comes later.
Just remember to update the AUTHORS.md file to document the contribution.

@yixuan So I have a team of 4 people including me working on the davidson for a week beginning of june. Are you available for a skype call or so? I would like to design an approximate API before we start.

The whole functionality will include Symmetric/Non Symmetric, Interior Eigenvalue/Exterior Eigenvalue, Preconditioner and maybe Orthogonalisation method.

Yeah, sure. You can send the call ID to my email yixuanq@gmail.com.

By the way, have you taken a look at the PRIMME library? This is the JD implementation I sometimes use, and they have a pretty complete feature set.

Yes I am aware of PRIMME. We wanted to bring something a bit smaller to the Eigen ecosystem.