Efficient Solvers for SLOPE in R, Python, Julia, and C++

SLOPE
optimization
R
C++
Julia
Python
Authors

Johan Larsson

Malgorzata Bogdan

Krystyna Grzesiak

Mathurin Massias

Jonas Wallin

Published

5 November 2025

Details

arXiv, arXiv:2511.02430

Links
Abstract

We present a suite of packages in R, Python, Julia, and C++ that efficiently solve the Sorted L-One Penalized Estimation (SLOPE) problem. The packages feature a highly efficient hybrid coordinate descent algorithm that fits generalized linear models (GLMs) and supports a variety of loss functions, including Gaussian, binomial, Poisson, and multinomial logistic regression. Our implementation is designed to be fast, memory-efficient, and flexible. The packages support a variety of data structures (dense, sparse, and out-of-memory matrices) and are designed to efficiently fit the full SLOPE path as well as handle cross-validation of SLOPE models, including the relaxed SLOPE. We present examples of how to use the packages and benchmarks that demonstrate the performance of the packages on both real and simulated data and show that our packages outperform existing implementations of SLOPE in terms of speed.

 

Citation

BibTeX citation:
@misc{larsson2025,
  author = {Larsson, Johan and Bogdan, Malgorzata and Grzesiak, Krystyna
    and Massias, Mathurin and Wallin, Jonas},
  publisher = {arXiv},
  title = {Efficient {Solvers} for {SLOPE} in {R,} {Python,} {Julia,}
    and {C++}},
  number = {arXiv:2511.02430},
  date = {2025-11-05},
  url = {https://jolars.co/publications/slope-package-paper/},
  doi = {10.48550/arXiv.2511.02430},
  langid = {en},
  abstract = {We present a suite of packages in R, Python, Julia, and
    C++ that efficiently solve the Sorted L-One Penalized Estimation
    (SLOPE) problem. The packages feature a highly efficient hybrid
    coordinate descent algorithm that fits generalized linear models
    (GLMs) and supports a variety of loss functions, including Gaussian,
    binomial, Poisson, and multinomial logistic regression. Our
    implementation is designed to be fast, memory-efficient, and
    flexible. The packages support a variety of data structures (dense,
    sparse, and out-of-memory matrices) and are designed to efficiently
    fit the full SLOPE path as well as handle cross-validation of SLOPE
    models, including the relaxed SLOPE. We present examples of how to
    use the packages and benchmarks that demonstrate the performance of
    the packages on both real and simulated data and show that our
    packages outperform existing implementations of SLOPE in terms of
    speed.}
}
For attribution, please cite this work as:
Larsson, Johan, Malgorzata Bogdan, Krystyna Grzesiak, Mathurin Massias, and Jonas Wallin. 2025. “Efficient Solvers for SLOPE in R, Python, Julia, and C++.” arXiv. https://doi.org/10.48550/arXiv.2511.02430.