cern.colt.matrix.tdouble.algo.solver
Class DoubleChebyshev
java.lang.Object
cern.colt.matrix.tdouble.algo.solver.AbstractDoubleIterativeSolver
cern.colt.matrix.tdouble.algo.solver.DoubleChebyshev
- All Implemented Interfaces:
- DoubleIterativeSolver
public class DoubleChebyshev
- extends AbstractDoubleIterativeSolver
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.
- Author:
- Templates
DoubleChebyshev
public DoubleChebyshev(DoubleMatrix1D 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 DoubleMatrix1D solve(DoubleMatrix2D A,
DoubleMatrix1D b,
DoubleMatrix1D x)
throws IterativeSolverDoubleNotConvergedException
- Description copied from interface:
DoubleIterativeSolver
- 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:
IterativeSolverDoubleNotConvergedException
Jump to the Parallel Colt Homepage