tjolsen / BlazeIterative

19 stars 6 forks source link

Arnoldi and Lanczos #1

Open majorpb opened 7 years ago

majorpb commented 7 years ago

This issue is opened to state interest in a BlazeIterative implementation of the Arnoldi and (as a special case for Hermitian matrices) the Lanczos algorithm.

tjolsen commented 7 years ago

Sounds great! I'll add it to the list. This project is happening in my spare time, so progress happens as I have time. If you're interested in contributing, I'd be more than happy to have the help!

diehlpk commented 7 years ago

I would be interested in support you with the code. I started to use your code within my research code and like to extend it.

majorpb commented 7 years ago

I am working on it, too. If I come up with something that is worth committing, I am happy to do so and participate in your library :)

tjolsen commented 7 years ago

Thanks everyone! By the way, you should pull down the current commit, since it drastically improves the build system. No new numerical algorithms yet, but I'm hoping to spend a little time on this over the holiday weekend. I'll try to put together a development guide (style, git etiquette, ...) over the next few days so that we can all work together smoothly. Right now, I think new algorithms should be developed in feature-specific branches and merged into master when they have been implemented and tested.

tjolsen commented 6 years ago

Hey everyone, just pinging you guys to let you know that I haven't forgotten about this. I'm finishing up my PhD, which doesn't use this project, so it got put back-burner until my thesis is done. Sorry for the delay, and thanks for your understanding!

diehlpk commented 6 years ago

I started to implement the Preconditioned BiCGSTAB using an LU decomposition. I hope to have the first implementation by the end of next week.

diehlpk commented 6 years ago

I have a first attempt pushed to my fork https://github.com/diehlpk/BlazeIterative/blob/master/include/solvers/PreconditionBiCGSTAB.hpp one question would be how we pass the method of the decomposition method to the solver?

decomposition<MatrixType,T>("LU",A,K1,K2);

We should agree on one feasible solution to pass the string to solve(A,b,tag). Maybe we could extend the tag by PreconditionBiCGSTABTag tag("LU"); ?

Looking forward to your discussion.