lucien-roach / a-dda

Automatically exported from code.google.com/p/a-dda
0 stars 0 forks source link

New iterative solvers #24

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
Implement new iterative solvers, e.g. 2-term QMR (its complex symmetric
variant). Should improve performance for very slow convergence.

Original issue reported on code.google.com by yurkin on 28 Nov 2008 at 7:06

GoogleCodeExporter commented 8 years ago

Original comment by yurkin on 15 Apr 2009 at 8:04

GoogleCodeExporter commented 8 years ago
We should also look at:
M. A. Botchev, SUBROUTINE ZBCG2, http://www.math.uu.nl/people/vorst/zbcg2.f90 
(2001).
which was recently implemented in DDSCAT. Should be a bicgstab with improved 
handling
of round-off errors.

Original comment by yurkin on 28 Aug 2009 at 8:50

GoogleCodeExporter commented 8 years ago
Another interesting idea is to use circulant-type preconditioners. The keywords 
to start searching are "Strohner-type" and "Chan-type".

S.A. Goreinov mentioned at ELS 12 conference that they had very positive 
experience with such preconditioners for very similar problems - the ones 
described in 
A. Shcherbakov et al. "Novel approach for modeling optical properties of 
systems containing large number of metal nanoparticles", in Electromagnetic and 
Light Scattering XII: Conference Proceedings, pp. 274-277 (2010).
http://www.helsinki.fi/els/articles/69/

Original comment by yurkin on 12 Jul 2010 at 4:40

GoogleCodeExporter commented 8 years ago

Original comment by yurkin on 2 Dec 2010 at 4:36

GoogleCodeExporter commented 8 years ago
Two new iterative solvers were implemented by r1056.
1) CSYM - contains no possible breakdowns (as CGNR), but is always faster (in 
terms of matrix-vector products) than CGNR. So it should be used when other 
methods fail.
2) 2-term QMR(CS) - is mathematically equivalent to QMR(CS) but slightly faster 
during long runs due to better handling of roundoff errors. Also uses one less 
intermediate vector than QMR(CS). Hence, it can be recommended as the default 
iterative solver, although extensive tests should be performed first.

Original comment by yurkin on 28 Jun 2011 at 6:44

GoogleCodeExporter commented 8 years ago
It is a good idea to implement ZBCG2 by 1.2 release.

Original comment by yurkin on 18 May 2012 at 11:29

GoogleCodeExporter commented 8 years ago
ZBCG2 implemented by r1225. The remaining part of this issue is connected with 
circulant-type preconditioners, which will be addressed later.

Original comment by yurkin on 11 May 2013 at 11:11