Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New Algorithms #617

Open
KlausC opened this issue Aug 30, 2022 · 5 comments
Open

New Algorithms #617

KlausC opened this issue Aug 30, 2022 · 5 comments

Comments

@KlausC
Copy link

KlausC commented Aug 30, 2022

Is it valid to consider the results of this paper from 2011: Inner-Iteration Krylov Subspace Methods for Least Squares Problems?

Especially the algorithm called there "BAGMRES-NRSOR" seems to show outstanding performance.

See also the current 2022 article: GMRES methods for tomographic reconstruction with an unmatched back projector

@amontoison
Copy link
Member

amontoison commented Aug 30, 2022

Hi @KlausC !
The results of the first paper are not great.
CG and GMRES should be only used to solve generic symmetric and square systems.
For least squares problems LSQR and LSMR are recommended, more stable and less expensive.
They also compared with very specific preconditioners (nobody use a RIF preconditioner...).

BAGMRES-NRSOR is juste GMRES with a right preconditioner N for information.
You just need to model the preconditioner and you have a "BAGMRES-NRSOR".
I can help you to implement it if it's your issue.

I will read the other paper tonight :)

@KlausC
Copy link
Author

KlausC commented Aug 30, 2022

I am not yet convinced, that BA-GMRES is just GMRES with an appropriate conditioner.
Here Ax - b is replaced by B * (Ax - b) to become square, where B is close to A'.

I am not sure, how BA-GMRES would compare to LSQR or LSMR. Would be interesting to find out.

I also found that one useful. Preconditioned GMRES methods with incomplete Givens orthogonalization method for large sparse least-squares problems

When I find the time I will make a PR to prove the concept.

@dpo
Copy link
Member

dpo commented Aug 30, 2022

I am not yet convinced, that BA-GMRES is just GMRES with an appropriate conditioner.
Here Ax - b is replaced by B * (Ax - b) to become square, where B is close to A'.

Right. If A is rectangular, that isn't called preconditioning.

@amontoison
Copy link
Member

amontoison commented Aug 21, 2023

@KlausC
I discussed with Ken Hayami today (ICIAM 2023).
BA-GMRES is just GMRES applied on BAx = Bb.
AB-GMRES is GMRES applied on ABx = b.

You just need to model AB or BA by forming explicitly the matrices or implementing linear operators that perform AB * v or BA * v.

When B=A', BA-GMRES is equivalent to MINRES on the normal equations or LSMR. You can see it as MINRES with full reorthogonalization (stable but very expensive).
We have similar result for AB-GMRES.

With the current implementation of GMRES in Krylov.jl we can already do AB-GMRES and BA-GMRES.
Do you want that I add an example or more documentation about it?

@KlausC
Copy link
Author

KlausC commented Aug 23, 2023

Thanks, that would be fine.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants