Class Chebyshev

All Implemented Interfaces:
IterativeSolver

public class Chebyshev extends AbstractIterativeSolver
Chebyshev solver. Solves the symmetric positive definite linear system Ax = b using the Preconditioned Chebyshev Method. Chebyshev requires an acurate estimate on the bounds of the spectrum of the matrix.
  • Constructor Details

    • Chebyshev

      public Chebyshev(Vector template, double eigmin, double eigmax)
      Constructor for Chebyshev. Uses the given vector as template for creating scratch vectors. Typically, the solution or the right hand side vector can be passed, and the template is not modified. Eigenvalue estimates must also be provided
      Parameters:
      template - Vector to use as template for the work vectors needed in the solution process
      eigmin - Smallest eigenvalue. Must be positive
      eigmax - Largest eigenvalue. Must be positive
  • Method Details

    • setEigenvalues

      public void setEigenvalues(double eigmin, double eigmax)
      Sets the eigenvalue estimates.
      Parameters:
      eigmin - Smallest eigenvalue. Must be positive
      eigmax - Largest eigenvalue. Must be positive
    • solve

      Description copied from interface: IterativeSolver
      Solves the given problem, writing result into the vector.
      Parameters:
      A - Matrix of the problem
      b - Right hand side
      x - Solution is stored here. Also used as initial guess
      Returns:
      The solution vector x
      Throws:
      IterativeSolverNotConvergedException