Skip to content

adeyemiadeoye/pySCSOpt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pySCSOpt: Self-Concordant Smooth Optimization in Python

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).

Installation

Install with pip:

pip install pyscsopt

Usage

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.

Tests

Run tests with:

pytest pyscsopt/test/

Citation

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}
}

About

A Python library for large-scale convex composite optimization.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages