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
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 Summary |
Chebyshev(Vector template,
double eigmin,
double eigmax)
Constructor for Chebyshev. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
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 processeigmin
- Smallest eigenvalue. Must be positiveeigmax
- Largest eigenvalue. Must be positive
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
public Vector solve(Matrix A,
Vector b,
Vector x)
throws IterativeSolverNotConvergedException
- 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