An open API service indexing awesome lists of open source software.

https://github.com/adeyemiadeoye/pyscsopt

A Python library for large-scale convex composite optimization.
https://github.com/adeyemiadeoye/pyscsopt

convex-optimization l-bfgs lbfgs nonsmooth-optimization optimization python quasi-newton

Last synced: 5 months ago
JSON representation

A Python library for large-scale convex composite optimization.

Awesome Lists containing this project

README

          

# pySCSOpt: Self-Concordant Smooth Optimization in Python




This package is a Python port of most parts of the Julia package [SelfConcordantSmoothOptimization.jl](https://github.com/adeyemiadeoye/SelfConcordantSmoothOptimization.jl). It includes:

- `ProxLQNSCORE` a limited-memory version of ProxQNSCORE of the Julia package
- `ProxGGNSCORE`
- `ProxNSCORE`
- Smoothing and regularization (utility) functions

## Installation

Install with pip:

```sh
pip install pyscsopt
```

## Usage

See the [`examples/`](https://github.com/adeyemiadeoye/pySCSOpt/tree/main/examples) directory for a usage example.

For more information on how to set up problems (especially choosing regularizers), see Julia's [SelfConcordantSmoothOptimization.jl](https://github.com/adeyemiadeoye/SelfConcordantSmoothOptimization.jl).

## Tests

Run tests with:

```sh
pytest pyscsopt/test/
```

## Citation

If you use this package for research, please cite:

```bibtex
@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}
}
```