Open lbelzile opened 2 years ago
A list of comments is given below regarding what could be extracted and how the code can be a simplified if it was a standalone implementation of the likelihood approximation:
mvt.f
file contains the code by Genz to permute the variables and simultaneously compute the Cholesky decomposition. It could be nice to re-write this in C++ (you already have two implementations for this).new-mvt.h
contains the high level code to use the randomized Korobov rules and the scrambled Sobol sequences.sobol.[h]/[cpp]
contains code to construct the scrambled Sobol sequences incrementally. It is faster than the original code.find-tilting-param.[h]/[cpp]
contains code to find the minimax tilting parameters. It currently depends on mypsqn
package but this dependence can be replaced by another non-linear optimizer. I have not yet handled the case where the solution is not in the interior.cdfaprx.h
contains code for the running the importance sampling. This can be greatly simplified if you only need the likelihood.- There is a number of other smaller files that are required but these should be easy to copy.
- There is a dependence on Armadillo, R's C API and Boost. The Armadillo dependence could be removed by using a few BLAS and LAPACK functions.
- The code can be simplified if the C++ code is never run in parallel from C++.
Reduce memory usage, increase speed through lower level language, handle higher dimensional models with sparse matrices.
The
pedmod
package by Benjamin Christoffersen has many of these features developed. Would need extensions for the Student model.Extract from an email sent by Christoffersen on March 3rd, 2022