Skip to content

jolars/HessianScreening

Repository files navigation

Code for the Hessian Screening Rule

arXiv

Results

The results from the simulations, which were run on a dedicated HPC cluster, are stored in the results folder. The figures and tables in the paper, generated from these results, are stored in figures/ and tables/ respectively.

Reproducing the Results

The results from our paper were run through a singularity container. Check the releases for pre-built singularity containers that you can download and use.

To reproduce the results, always use the singularity container. To run an experiment from the singularity container, call

singularity run --bind results:/project/results container.sif <script>

where <script> should be a name of a script in the experiments folder, such as simulateddata.R.

Re-building the Singularity Container

If you want to re-build the singularity container from scratch (or simply want to clone the repo to your local drive), you can do so via the following steps.

  1. Make sure you have installed and enabled Git-LFS. On ubuntu, for instance, you can install Git-LFS by calling

    sudo apt update
    sudo apt install git-lfs

    Then activate git-lfs by calling

    git lfs install
  2. Clone the repository to your local hard drive. On linux, using SSH authentication, run

    git clone git@github.com:jolars/HessianScreening.git
  3. Navigate to the root of the repo and build the singularity container by calling

    cd HessianScreening
    sudo singularity build container.sif Singularity

Then proceed as in Reproducing the Results to run the experiments.

Running Experiments without Singularity (Not Recommended!)

Alternatively, you may also reproduce the results by cloning this repository, then either opening the HessianScreening.Rproj file in R Studio or starting R in the root directory of this folder (which will activate the renv repository) and then run

renv::restore()

to restore the project library. Then build the R package (see below) and run the simulations directly by running the scripts in the experiments folder. This is not recommended, however, since it, unlike the Singularity container approach, does not exactly reproduce the software environment used when these simulations where originally run and may result in discrepancies due to differences in for instance operating systems, compilers, and BLAS/LAPACK implementations.

R Package

If you want to build and experiment with the package, you can do so by calling

 R CMD INSTALL  .

provided you have cded to the root folder of this repository. First ensure, however, that you have enabled the renv project library by calling renv::restore() (see the section above).

Data

The datasets used in these simulations are stored in the data folder. Scripts to retrieve these datasets from their original sources can be found in data-raw/.

Forking and Git-LFS

Note that pushing large files using Git-LFS against forks of this repo counts against the bandwidth limits of this repo, and so may fail if these limits are exceeded. If you for some reason need to do this and it fails, please file as issue here.