Solves the following inverse problem:
$$\min(||Ax-b||^2)$$ subject to
$$x>=0$$
Uses subroutine nnls (FORTRAN) from Linpack
Usage
nnls(A, B, tol = sqrt(.Machine$double.eps), verbose = TRUE)
Value
a list containing:
X
vector containing the solution of the nonnegative least
squares problem.
residualNorm
scalar, the sum of absolute values of residuals of
violated inequalities (i.e. sumof x[<0]); should be zero or very small
if the problem is feasible.
solutionNorm
scalar, the value of the quadratic function at the
solution, i.e. the value of \(\min(||Ax-b||^2)\).
IsError
logical, TRUE if an error occurred.
type
the string "nnls", such that how the solution was obtained
can be traced.
numiter
the number of iterations.
Arguments
A
numeric matrix containing the coefficients of the equality
constraints \(Ax~=B\); if the columns of A have a names
attribute, the names will be used to label the output.
B
numeric vector containing the right-hand side of the
equality constraints.
tol
tolerance (for singular value decomposition and for the
"equality" constraints).