pub enum KrylovMethod {
ConjugateGradients,
Minres,
Gmres(usize),
}Expand description
Available Krylov subspace linear solvers.
Variants§
ConjugateGradients
Conjugate gradients, descending the quadratic the system is the stationary point of.
Needs the operator positive definite, and says so when it is not. Where that holds it is the cheaper of the two, keeping three vectors rather than six.
Minres
The minimal residual method, shortening the residual over the subspace reached so far.
An operator with no minimum still has a residual with a shortest length, so this asks only for symmetry and serves the systems conjugate gradients has to refuse.
Gmres(usize)
The generalized minimal residual method, restarted after the given number of iterations.
Asks nothing of the operator, so it serves the nonsymmetric systems the other two have to refuse. The preconditioner acts on the right, leaving the residual it minimizes the true one, at the cost of keeping a basis of up to twice the restart length.
Trait Implementations§
Source§impl Clone for KrylovMethod
impl Clone for KrylovMethod
Source§fn clone(&self) -> KrylovMethod
fn clone(&self) -> KrylovMethod
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more