cern.colt.matrix.tdouble.algo.solver
Class DoubleMRNSD
java.lang.Object
cern.colt.matrix.tdouble.algo.solver.AbstractDoubleIterativeSolver
cern.colt.matrix.tdouble.algo.solver.DoubleMRNSD
- All Implemented Interfaces:
- DoubleIterativeSolver
public class DoubleMRNSD
- extends AbstractDoubleIterativeSolver
MRNSD is Modified Residual Norm Steepest Descent method used for solving
large-scale, ill-posed inverse problems of the form: b = A*x + noise. This
algorithm is nonnegatively constrained.
References:
[1] J. Nagy, Z. Strakos,
"Enforcing nonnegativity in image reconstruction algorithms" in Mathematical
Modeling, Estimation, and Imaging, David C. Wilson, et.al., Eds., 4121
(2000), pg. 182--190.
[2] L. Kaufman, "Maximum likelihood, least squares and penalized least
squares for PET", IEEE Trans. Med. Imag. 12 (1993) pp. 200--214.
- Author:
- Piotr Wendykier (piotr.wendykier@gmail.com)
Field Summary |
static double |
sqrteps
|
sqrteps
public static final double sqrteps
DoubleMRNSD
public DoubleMRNSD()
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