fPortfolio ERRORs (caused by quadprog?)
Berwin A Turlach
berwin at maths.uwa.edu.au
Wed Apr 7 15:30:17 CEST 2010
G'day all,
On Wed, 07 Apr 2010 11:29:21 +0200
Uwe Ligges <ligges at statistik.tu-dortmund.de> wrote:
> Dear Rmetrics team,
>
> fPortfolio is failing under Windows these days:
> It either crashes or hangs these days under all flavors of R under
> check. Please see the CRAN check summaries (R-release results are not
> yet available there), e.g.
> http://www.r-project.org/nosvn/R.check/r-prerel-windows-ix86/fPortfolio-00check.html
>
> It seems to be related to the recent quadprog update. Hence CCing
> Berwin Turlach.
>
> Any ideas?
The FORTRAN code in quadprog was modified to return the Lagrangian
multipliers too. I see in fPortfolio's solveRquadprog.R that in the
function .rquadprog the FORTRAN code of quadprog is called directly
instead of using quadprog's R interface.
Changing
optim = .Fortran("qpgen2",
as.double(Dmat),
dvec = as.double(dvec),
as.integer(n),
as.integer(n),
sol = as.double(rep(0, n)),
crval = as.double(0),
as.double(Amat),
as.double(bvec),
as.integer(n),
as.integer(q),
as.integer(meq),
iact = as.integer(rep(0, q)),
nact = as.integer(0),
iter = as.integer(rep(0, 2)),
work = as.double(work),
ierr = as.integer(0),
PACKAGE = "quadprog")
to
optim = .Fortran("qpgen2",
as.double(Dmat),
dvec = as.double(dvec),
as.integer(n),
as.integer(n),
sol = as.double(rep(0, n)),
lagr = as.double(rep(0, q)), ### here is the change
crval = as.double(0),
as.double(Amat),
as.double(bvec),
as.integer(n),
as.integer(q),
as.integer(meq),
iact = as.integer(rep(0, q)),
nact = as.integer(0),
iter = as.integer(rep(0, 2)),
work = as.double(work),
ierr = as.integer(0),
PACKAGE = "quadprog")
should do the trick.
HTH.
Cheers,
Berwin
More information about the Rmetrics-core
mailing list