OpenMS
NonNegativeLeastSquaresSolver Class Reference

Wrapper for a non-negative least squares (NNLS) solver. More...

#include <OpenMS/MATH/MISC/NonNegativeLeastSquaresSolver.h>

Public Types

enum  RETURN_STATUS { SOLVED , ITERATION_EXCEEDED }
 

Static Public Member Functions

static Int solve (const Matrix< double > &A, const Matrix< double > &b, Matrix< double > &x)
 This is a wrapper for the external nnls library for the non-negative least square problem Ax=b, where x>0. More...
 

Detailed Description

Wrapper for a non-negative least squares (NNLS) solver.

It solves Ax=b, where x>0 in the least squares sense (i.e. minimum residual)

Member Enumeration Documentation

◆ RETURN_STATUS

Enumerator
SOLVED 
ITERATION_EXCEEDED 

Member Function Documentation

◆ solve()

static Int solve ( const Matrix< double > &  A,
const Matrix< double > &  b,
Matrix< double > &  x 
)
static

This is a wrapper for the external nnls library for the non-negative least square problem Ax=b, where x>0.

Parameters
AInput matrix A of size mxn
bInput vector (matrix with one column) b of size mx1
xOutput vector with non-negative least square solution of size mx1
Returns
status of solution (either NonNegativeLeastSquaresSolver::SOLVED, NonNegativeLeastSquaresSolver::ITERATION_EXCEEDED)
Exceptions
Exception::InvalidParametersif Matrix dimensions do not fit