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 systemAx = busing the Preconditioned Chebyshev Method. Chebyshev requires an acurate estimate on the bounds of the spectrum of the matrix.
-
-
Constructor Summary
Constructors Constructor and Description DoubleChebyshev(DoubleMatrix1D template, double eigmin, double eigmax)Constructor for Chebyshev.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description voidsetEigenvalues(double eigmin, double eigmax)Sets the eigenvalue estimates.DoubleMatrix1Dsolve(DoubleMatrix2D A, DoubleMatrix1D b, DoubleMatrix1D x)Solves the given problem, writing result into the vector.-
Methods inherited from class cern.colt.matrix.tdouble.algo.solver.AbstractDoubleIterativeSolver
getIterationMonitor, getPreconditioner, setIterationMonitor, setPreconditioner
-
-
-
-
Constructor Detail
-
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
-
-
Method Detail
-
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:DoubleIterativeSolverSolves 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
-
-
DMelt 3.0 © DataMelt by jWork.ORG