LinearSolver

A - B - C - D - E - F - G - H - I - K - L - M - N - O - P - Q - R - S - T - U - V - W - X

LinearSolver

Section Linear Response::Solver
Type integer
Default qmr_symmetric

Method for solving linear equations, which occur for Sternheimer linear response and OEP. The solvers vary in speed, reliability (ability to converge), and domain of applicability. QMR solvers are most reliable.

Options:

• bicgstab:
Biconjugate gradients stabilized. Slower than cg, but more reliable. General matrices.
• cg:
Conjugate gradients. Fast but unreliable. Hermitian matrices only (no eta in Sternheimer).
• multigrid:
Multigrid solver, currently only Gauss-Jacobi (experimental). Slow, but fairly reliable. General matrices.
• qmr_symmetric:
Quasi-minimal residual solver, for (complex) symmetric matrices. [Real symmetric is equivalent to Hermitian.] Slightly slower than bicgstab but more reliable. For Sternheimer, must be real wavefunctions, but can have eta.
• qmr_symmetrized:
Quasi-minimal residual solver, using the symmetrized form $A^\dagger A x = A^\dagger y$ instead of $A x = y$. Reliable but very slow. General matrices.
• qmr_dotp:
Quasi-minimal residual solver, for Hermitian matrices, using the symmetric algorithm with conjugated dot product (experimental). Slightly slower than bicgstab but more reliable. Can always be used in Sternheimer.
• qmr_general:
Quasi-minimal residual solver, for general matrices, using the most general form of the algorithm. Slow and unreliable.
• sos:
Sum over states: the Sternheimer equation is solved by using the explicit solution in terms of the ground-state wavefunctions. You need unoccupied states to use this method. Unlike the other methods, may not give the correct answer.
• idrs:
This is the "Induced Dimension Reduction", IDR(s) (for s=4). IDR(s) is a robust and efficient short recurrence Krylov subspace method for solving large nonsymmetric systems of linear equations. It is described in [Peter Sonneveld and Martin B. van Gijzen, SIAM J. Sci. Comput. 31, 1035 (2008)]. We have adapted the code released by M. B. van Gizjen [http://ta.twi.tudelft.nl/nw/users/gijzen/IDR.html].

Source information

Featured in tutorials