This package is a Python port of most parts of the Julia package SelfConcordantSmoothOptimization.jl. It includes:
- Proximal L-BFGS-SCORE (a limited-memory version of ProxQNSCORE of the Julia package)
- Proximal GGN-SCORE
- Proximal Gradient-SCORE
- Proximal Newton-SCORE
- Smoothing and regularization (utility) functions
NB: The Julia package remains the main implementation and is more feature-complete for now (with the exemption of the "limited-memory" QN).
Install with pip:
pip install pyscsopt
See the examples/
directory for a usage example. The main entry point is the pyscsopt
package.
For more information on how to set up problems (especially choosing regularizers), see Julia's SelfConcordantSmoothOptimization.jl.
Run tests with:
pytest pyscsopt/test/
If you use this package for research, please cite:
@article{adeoye2023self,
title={Self-concordant Smoothing for Large-Scale Convex Composite Optimization},
author={Adeoye, Adeyemi D and Bemporad, Alberto},
journal={arXiv preprint arXiv:2309.01781},
year={2024}
}