weights can't be negative, else we end up with something not positive semi-definite
weights can't be negative, else we end up with something not positive semi-definite