The OpenD Programming Language

solveBoxQP

Solves: argmin_x(xPx + qx) : l <= x <= u

  1. BoxQPStatus solveBoxQP(Slice!(T*, 2, Canonical) P, Slice!(const(T)*) q, Slice!(const(T)*) l, Slice!(const(T)*) u, Slice!(T*) x, BoxQPSettings!T settings)
    @safe pure nothrow @nogc
    solveBoxQP
    (
    T
    )
    (
    Slice!(T*, 2, Canonical) P
    ,
    Slice!(const(T)*) q
    ,
    Slice!(const(T)*) l
    ,
    Slice!(const(T)*) u
    ,
    Slice!(T*) x
    ,)
    if (
    is(T == float) ||
    is(T == double)
    )
  2. BoxQPStatus solveBoxQP(BoxQPSettings!T settings, Slice!(T*, 2, Canonical) P, Slice!(const(T)*) q, Slice!(const(T)*) l, Slice!(const(T)*) u, Slice!(T*) x, bool unconstrainedSolution, Slice!(T*) work, Slice!(lapackint*) iwork, bool restoreUpperP)

Parameters

P Slice!(T*, 2, Canonical)

Positive-definite Matrix, NxN

q Slice!(const(T)*)

Linear component, N

l Slice!(const(T)*)

Lower bounds in [-inf, +inf$(RPAREN), N

u Slice!(const(T)*)

Upper bounds in $(LPAREN)-inf, +inf], N

x Slice!(T*)

solutoin, N

settings BoxQPSettings!T

Iteration settings (optional)

Meta