JuliaLinearAlgebra / IterativeSolvers.jl

Iterative algorithms for solving linear systems, eigensystems, and singular value problems
MIT License
394 stars 106 forks source link

Implementation roadmap #1

Open jiahao opened 10 years ago

jiahao commented 10 years ago

A comprehensive listing of methods in the references. Please remove any methods are impractical/obsolete and add methods worth implementing to the list.

Linear systems

(Generalized) eigenproblems

Singular value decomposition

References

[1] Low-priority methods: they are quite expensive per iteration.

cortner commented 8 years ago

@andreasnoack Thank you - I agree it would be good to stick with this.

raminammour commented 7 years ago

Hello all!

First thank you, I am a frequent user/abuser of this package! (I hope this is a good thread for this post)

1- I was wondering if you have any plans to support the LinearMaps.jl package as a general interface, instead of MatrixFcn which tries to accomplish the same, with less options. I have been using LinearMaps instead of MatrixFcn with IterativeSolvers, and for the most part, it works.

2- When the preconditioners are passed as a function (as in gmres for example), it is better to assume that the inverse is passed directly so Pinv*x replaces Pl\x in the code, or have the two options, maybe. For most of the things I do, the linear operators are large scale and beyond building explicitly.

3- I also cannot wait till this package is integrated with different optimization packages to replace all direct solvers. It will open many doors for large scale optimization.

Again, thanks for the developers, Cheers!

syntapy commented 7 years ago

Hey, I'd like to work on this for GSOC 2017 if yalls would be fine with that. I think I'd have fun with it. I'm not sure yet whether I'd be able to do GSOC full time since I have work obligations, but if not, I'd still love to do this part time for free

haampie commented 7 years ago

Hi all,

I would like to work on this project as well for GSoC 2017. What are the current priorities? Implementing more iterative solvers? Integration with LinearMaps.jl?

Some ideas I have: implementing (eigen)solvers listed above such as Jacobi-Davidson, BiCGStab(l), IRAM (but there are already some old & open PRs on this); an maybe add some new flavours to existing methods like [thick restarted / augmented subspace / deflated] GMRES. All these latter methods are based on the idea that the Krylov subspace obtained at the end of a cycle contains very useful spectral data which can be exploited in the next cycle; potentially restoring superlinear convergence behaviour observed in full GMRES.

barche commented 7 years ago

From my point of view (as a potential user) I would be interested most in preconditioners (ILU, AMG).

erantreister commented 7 years ago

Hi Bart, I have a package with some multigrid preconditioners in Multigrid.jl. In particular smoothed aggregation AMG. It's a part of the JuliaInv collection of packages. Cheers, Eran Treister.

barche commented 7 years ago

Aha, good to know, thanks!

GregVernon commented 6 years ago

How about the recently developed Alternating Anderson Richardson (AAR) method?

Alternating Anderson-Richardson method: An efficient alternative to preconditioned Krylov methods for large, sparse linear systems https://arxiv.org/pdf/1606.08740.pdf

mohamed82008 commented 5 years ago

It would be nice to have an updated roadmap in light of the new developments in Julia's iterative solvers ecosystem.

kiranshila commented 5 years ago

Just submitted a PR for QMR