nnls {limSolve} | R Documentation |
Solves the following inverse problem:
min(||Ax-b||^2)
subject to
x>=0
Uses subroutine nnls (FORTRAN) from Linpack
nnls(A, B, tol=sqrt(.Machine$double.eps), verbose=TRUE)
A |
numeric matrix containing the coefficients of the equality constraints Ax~=B; if the columns of A have a names attribute, they 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). |
verbose |
logical to print nnls error messages.
|
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. |
Karline Soetaert <k.soetaert@nioo.knaw.nl>
Lawson C.L.and Hanson R.J. 1974. Solving Least Squares Problems, Prentice-Hall
Lawson C.L.and Hanson R.J. 1995. Solving Least Squares Problems. SIAM classics in applied mathematics, Philadelphia. (reprint of book)
ldei
, which includes equalities
A <- matrix(nr=2,nc=3,data=c(3,2,2,4,2,1)) B <- c(-4,3) nnls(A,B)