我尝试使用 quadprog 包解决 R 中的以下问题:
min: vec %*% p + t(p) %*% mat %*% p
st: p >= 0
在哪里
mat <- matrix(c(1162296,0,0,0,0,1,0,0,951.7089,0,1,0,-951.7089,0,0,1),4)
vec <- c(6341934541.1,175800.1,-356401.7,14398073047.1)
我用过
libary(quadprog)
solve.QP(2*mat,-vec, diag(4), integer(4))
但我不断收到以下错误:
Error in solve.QP(2*mat, -vec, diag(4), integer(4)) :
matrix D in quadratic function is not positive definite!
然而,清
> eigen(mat)$values > 0
[1] TRUE TRUE TRUE TRUE
我究竟做错了什么?这个错误怎么一直出现?