I won't comment on the C/C++ option, as I'm not expert in that. However, R users and developers should know that Nocedal et al. who developed L-BFGS-B released an update to correct a fault in 2011. It was important enough that an ACM TOMS article was used for the announcement.
I recently implemented a wrapper to the new Fortran code. As it is a reverse communication code, the main task was getting rid of all the Fortran WRITE() statements (not a happy experience!). Maybe Dirk has ideas on how to make the wrapper more efficient and the call from C or C++ direct for those who need that. The code will be incorporated eventually in the optimx package, but for now an experimental (NOTE - EXPERIMENTAL) version lbfgsb3 is up on r-forge under the optimizer project. I'd be happy to exchange ideas off-list on this. Here's the reference to the TOMS announcement: @Article{Morales:2011:FSL, author = "Jos\'e Luis Morales and Jorge Nocedal", title = "Remark on ``{Algorithm} 778: {L-BFGS-B}: {Fortran} Subroutines for Large-Scale Bound Constrained Optimization''", journal = "{ACM} Transactions on Mathematical Software", accepted = "15 April 2011", volume = "38", number = "1", month = nov, URL = "http://doi.acm.org/10.1145/2049662.2049669", pages = "7:1--7:4", year = "2011", abstract = " This remark describes an improvement and a correction to Algorithm 778. It is shown that the performance of the algorithm can be improved significantly by making a relatively simple modification to the subspace minimization phase. The correction concerns an error caused by the use of routine dpmeps to estimate machine precision.", } John Nash ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel