public class FloatHyBR extends AbstractFloatIterativeSolver
References:
[1] Paige and Saunders, "LSQR an algorithm for sparse linear equations an sparse least squares", ACM Trans. Math Software, 8 (1982), pp. 43-71.
[2] Bjorck, Grimme and Van Dooren, "An implicit shift bidiagonalization algorithm for ill-posed systems", BIT 34 (11994), pp. 520-534.
[3] Chung, Nagy and O'Leary, "A Weighted GCV Method for Lanczos Hybrid Regularization", Elec. Trans. Numer. Anal., 28 (2008), pp. 149--167.
Constructor and Description |
---|
FloatHyBR()
Creates new instance of HyBR solver with default parameters:
innerSolver = HyBR.InnerSolver.TIKHONOV regularizationMethod = HyBR.RegularizationMethod.ADAPTWGCV regularizationParameter = 0 omega = 0 reorthogonalize = false beginRegularization = 2 flatTolerance = 1e-6 computeRnrm = false; |
FloatHyBR(HyBRInnerSolver innerSolver,
HyBRRegularizationMethod regularizationMethod,
float regularizationParameter,
float omega,
boolean reorthogonalize,
int beginRegularization,
float flatTolerance,
boolean computeRnrm)
Creates new instance of HyBR solver.
|
Modifier and Type | Method and Description |
---|---|
FloatMatrix1D |
solve(FloatMatrix2D A,
FloatMatrix1D b,
FloatMatrix1D x)
Solves the given problem, writing result into the vector.
|
getIterationMonitor, getPreconditioner, setIterationMonitor, setPreconditioner
public FloatHyBR()
public FloatHyBR(HyBRInnerSolver innerSolver, HyBRRegularizationMethod regularizationMethod, float regularizationParameter, float omega, boolean reorthogonalize, int beginRegularization, float flatTolerance, boolean computeRnrm)
innerSolver
- solver for the inner problemregularizationMethod
- a method for choosing a regularization parameterregularizationParameter
- if regularizationMethod == HyBR.RegularizationMethod.NONE then
the regularization parameter has to be specified here (value
from the interval (0,1))omega
- regularizationMethod == HyBR.RegularizationMethod.WGCV then
omega has to be specified here (must be nonnegative)reorthogonalize
- if thue then Lanczos subspaces are reorthogonalizedbeginRegularization
- begin regularization after this iteration (must be at least 2)flatTolerance
- tolerance for detecting flatness in the GCV curve as a
stopping criteria (must be nonnegative)computeRnrm
- if true then the norm of relative residual is computedpublic FloatMatrix1D solve(FloatMatrix2D A, FloatMatrix1D b, FloatMatrix1D x) throws IterativeSolverFloatNotConvergedException
FloatIterativeSolver
A
- Matrix of the problemb
- Right hand sidex
- Solution is stored here. Also used as initial guessIterativeSolverFloatNotConvergedException
Jump to the Parallel Colt Homepage