Go to the documentation of this file.
20 #ifndef _DEMUXSOLVER_HPP
21 #define _DEMUXSOLVER_HPP
37 typedef boost::shared_ptr<DemuxSolver>
ptr;
40 typedef boost::shared_ptr<const DemuxSolver>
const_ptr;
62 NNLSSolver(
int numIters = 50,
double eps = 1e-10) : numIters_(numIters), eps_(eps) {}
76 #endif // _DEMUXSOLVER_HPP
Implementation of the DemuxSolver interface as a non-negative least squares (NNLS) problem.
double eps_
tolerance for convergence
void Solve(const MatrixPtr &masks, const MatrixPtr &signal, MatrixPtr &solution) override
Implementation of DemuxSolver interface.
boost::shared_ptr< MatrixType > MatrixPtr
virtual void Solve(const MatrixPtr &masks, const MatrixPtr &signal, MatrixPtr &solution)=0
Perform the least squares solve.
NNLSSolver(int numIters=50, double eps=1e-10)
Constructor for non-negative least squares solver.
Interface for solver that can be used for demultiplexing.
boost::shared_ptr< DemuxSolver > ptr
Shared pointer definition.
int numIters_
maximum number of iterations allowed for convergence
boost::shared_ptr< const DemuxSolver > const_ptr
Constant shared pointer definition.