##  We will report a case where qp's output  violates lbound/ubound, by some good margin!. Yet, it reports full convergence. It also reports a feasible and convex problem.

## (I have seen numerous such cases. This is just one of them.)

## I have also seen cases where I supply it a non-singular matrix, and it reports full convergence while actually violating lbound/ubound.

## We ask qp to minimize x'Hx where constraints: sum(x)=1, and each x should lie in [0,1/3], giving each x_i plenty of room to bounce around.

## Since the results are very sensitive to minor numerical variations in input arguments, I saved them carefully in a file which I am attaching.

## NOTE that the initial X is in fact qp's own prior result. (In other words, we didn't hand-construct it to violate any constraint.)
## And, in fact, it does sum to 1.

## Also note that we supplied a singular Hessian in this case. Yet, qp reported feasibily, full convergence, while actually violating lbound/ubound.

argcell = {...
ones(15,1)/15,
   [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
    0 50231 0 0 -1396 0 0 -1665 8060 -2224 0 0 0 17185 0
    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
    0 -1396 0 0 85865 0 0 12652 4505 6800 0 0 0 13149 0
    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
    0 -1665 0 0 12652 0 0 47064 12319 8069 0 0 0 10705 0
    0 8060 0 0 4505 0 0 12319 129832 12332 0 0 0 38968 0
    0 -2224 0 0 6800 0 0 8069 12332 35004 0 0 0 7337 0
    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
    0 17185 0 0 13149 0 0 10705 38968 7337 0 0 0 347070 0
    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0],
zeros(15,1),
ones(1,15),
1,
zeros(15,1),
ones(15,1)/3}

[X, OBJ, INFO, LAMBDA] = qp (argcell{:});

INFO
X([3,6])

## INFO reports a full convergence on a feasible, convex solution!
## INFO =
##   scalar structure containing the fields:
##     solveiter =  33
##     info = 0

## These X's violate lbound and ubound.
## ans =
##    1.907459701005344e+00
##   -9.074597010053456e-01

## On octave 5.2.0 (compiled from source), debian 10. 
