Package no.uib.cipr.matrix.sparse
Class Chebyshev
java.lang.Object
no.uib.cipr.matrix.sparse.AbstractIterativeSolver
no.uib.cipr.matrix.sparse.Chebyshev
- All Implemented Interfaces:
IterativeSolver
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.-
Field Summary
Fields inherited from class no.uib.cipr.matrix.sparse.AbstractIterativeSolver
iter, M
-
Constructor Summary
Constructors -
Method Summary
Methods inherited from class no.uib.cipr.matrix.sparse.AbstractIterativeSolver
checkSizes, getIterationMonitor, getPreconditioner, setIterationMonitor, setPreconditioner
-
Constructor Details
-
Chebyshev
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 processeigmin
- Smallest eigenvalue. Must be positiveeigmax
- 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 positiveeigmax
- 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 problemb
- Right hand sidex
- Solution is stored here. Also used as initial guess- Returns:
- The solution vector x
- Throws:
IterativeSolverNotConvergedException
-