私は最近quadprogパッケージからsolve.QPを呼び出すスクリプトを削除しました(私は現在バージョン1.5-5を持っています)。これで、 "object '.QP_qpgen2' not found"というエラーが生成されます。なぜか分からない。quadprogで '.QP_qpgen2'が見つからないのはなぜですか?
このオブジェクトは私によっては作成されませんが、quadprogのsolve.QP関数によって作成されます。 GithubのQuadprog.Rで コード(ライン117)を有する:
res1 <- .Fortran(.QP_qpgen2,
as.double(Dmat), dvec=as.double(dvec),
as.integer(n), as.integer(n),
sol=as.double(sol), lagr=as.double(lagr),
crval=as.double(crval),
as.double(Amat), as.double(bvec), as.integer(n),
as.integer(q), as.integer(meq),
iact=as.integer(iact), nact=as.integer(nact),
iter=as.integer(iter), work=as.double(work),
ierr=as.integer(factorized))
エラーがsolve.QPためdocumentationから採取されたコードから生成することができる。
##
## Assume we want to minimize: -(0 5 0) %*% b + 1/2 b^T b
## under the constraints: A^T b >= b0
## with b0 = (-8,2,0)^T
## and (-4 2 0)
## A = (-3 1 -2)
## (0 0 1)
## we can use solve.QP as follows:
##
Dmat <- matrix(0,3,3)
diag(Dmat) <- 1
dvec <- c(0,5,0)
Amat <- matrix(c(-4,-3,0,2,1,0,0,-2,1),3,3)
bvec <- c(-8,2,0)
solve.QP(Dmat,dvec,Amat,bvec=bvec)
Iは、R v3.4.1を使用していそれが助けば。
私は同じ問題を抱えています。私が知る限り、R 3.4にはFortranでルーチンを登録する新しい方法があります(https://cran.r-project.org/doc/manuals/r-release/R-exts.html#Registering-native-ルーチン)。 quadprogパッケージはまだ更新されていません。 – pbr142