Constrained |
public static class ConstrainedLinearFit
The ConstrainedLinearFit type exposes the following members.
| Name | Description | |
|---|---|---|
| Fit | Fits beta such that A*beta ≈ y subject to the constraints encoded in projector. |
Usage example:
// Equality: beta[0] + beta[1] = 1.0
var A_eq = Matrix<double>.Build.DenseOfArray(new double[,] { { 1, 1, 0 } });
var b_eq = Vector<double>.Build.Dense(new double[] { 1.0 });
// Inequality: beta[2] >= 0 → -beta[2] <= 0
var C_ineq = Matrix<double>.Build.DenseOfArray(new double[,] { { 0, 0, -1 } });
var d_ineq = Vector<double>.Build.Dense(new double[] { 0.0 });
var projector = new LinearConstraintsProjector(A_eq, b_eq, C_ineq, d_ineq);
// Design matrix and observations
var A = Matrix<double>.Build.DenseOfArray(new double[,] {
{ 1, 0, 1 },
{ 0, 1, 1 },
{ 1, 1, 0 },
{ 1, 0, 0 },
});
var y = Vector<double>.Build.Dense(new double[] { 1.5, 0.8, 1.0, 0.3 });
var beta = ConstrainedLinearFit.Fit(A, y, projector);
// beta[0] + beta[1] == 1.0 ✓
// beta[2] >= 0 ✓