Synopsis

Documentation

Arguments

 :: (Matrix Double, Vector Double) The function to minimize. It should be of the form `(A, B)`, which represents a quadratic function `x -> (1/2)x'Ax + x'B` where t' denotes the transpose of t. `A` must be positive definite. -> Maybe (Matrix Double, Vector Double) Optional equality constraints. When given, this argument should be of the form `Just (C, D)`, which represents a linear equality `x -> x'C + D = 0`. -> Maybe (Matrix Double, Vector Double) Optional inequality constraints. When given, this argument should be of the form `Just (E, F)`, which represents linear inequalities `x -> x'E + F >= 0`. -> Either QuadProgPPError (Vector Double, Double)

Solve a strictly convex quadratic program with optional linear constraints. It returns a pair of the optimal solution and the value of the objective function at that point. On error it returns Left.

Errors that can happen in `solveQuadProg`.

Constructors

 QuadProgInfeasible The problem has no feasible solution. QuadProgSizeMismatch The given matrices and vectors have inconsistent dimensionalities. QuadProgOtherError String Other errors. Currently this is used for C++ exceptions thrown by QuadProg++.

Instances