#### Previous topic

scipy.optimize.least_squares

#### Next topic

scipy.optimize.lsq_linear

# scipy.optimize.nnls

`scipy.optimize.``nnls`(A, b)

  Solve `argmin_x || Ax - b ||_2` for `x>=0`. This is a wrapper for a FORTRAN non-negative least squares solver.

  Parameters: | A : ndarray Matrix `A` as shown above. b : ndarray Right-hand side vector.
  Returns: | x : ndarray Solution vector. rnorm : float The residual, `|| Ax-b ||_2`.

  Notes

  The FORTRAN code was published in the book below. The algorithm is an active set method. It solves the KKT (Karush-Kuhn-Tucker) conditions for the non-negative least squares problem.

  References

  Lawson C., Hanson R.J., (1987) Solving Least Squares Problems, SIAM