spectra icon indicating copy to clipboard operation
spectra copied to clipboard

Adding Davidson and Jacobi Davidson

Open JensWehner opened this issue 5 years ago • 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.

JensWehner avatar May 01 '20 11:05 JensWehner

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.

yixuan avatar May 02 '20 02:05 yixuan

Nice very cool,

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

JensWehner avatar May 02 '20 07:05 JensWehner

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.

yixuan avatar May 02 '20 13:05 yixuan

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

JensWehner avatar May 02 '20 18:05 JensWehner

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 avatar May 02 '20 19:05 yixuan

@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.

JensWehner avatar May 25 '20 22:05 JensWehner

Yeah, sure. You can send the call ID to my email [email protected].

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.

yixuan avatar May 26 '20 12:05 yixuan

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

JensWehner avatar May 26 '20 18:05 JensWehner