Class DoubleNonnegativeLeastSquares computes the minimum-norm solution to a linear system Ax = y subject to the constraint that all the elements, x[i], are nonnegative.

Namespace:  CenterSpace.NMath.Core
Assembly:  NMath (in NMath.dll) Version: 5.1.0.0

Syntax

C#
[SerializableAttribute]
public class DoubleNonnegativeLeastSquares : ICloneable
Visual Basic (Declaration)
<SerializableAttribute> _
Public Class DoubleNonnegativeLeastSquares _
	Implements ICloneable
Visual C++
[SerializableAttribute]
public ref class DoubleNonnegativeLeastSquares : ICloneable

Remarks

In a least squares problem, we assume a linear model for a quantity y that depends on one or more independent variables a1, a2,...,an; that is, y = x0 + x1*a1 + ... + xn*an. x0 is called the intercept parameter.
The goal of a nonnegative least squares problem is to solve for the best values of x0, x1,...,xn subject to the constriant that xi >= 0 for i = 0, 1,..., n. Several observations of the independent values ai are recorded, along with the corresponding values of the dependent variable y. If m observations are performed, and for the ith observation we denote the values of the independent variables ai1, ai2,...ain and the corresponding dependent value of y as yi, then we form the linear system Ax = y, where A = (aij) and y = (yi). The nonnegative least squares solution is the value of x that minimizes ||Ax - y|| subject to the constraint that each element of the vector x is nonnegative.
Note that if the model contains a non-zero intercept parameter, then the first column of A is all ones.

Inheritance Hierarchy

System..::.Object
  CenterSpace.NMath.Core..::.DoubleNonnegativeLeastSquares

See Also