Skip to main content

A Python library for self-concordant smooth optimization (Python port of SelfConcordantSmoothOptimization.jl)

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyscsopt-0.1.4.tar.gz (23.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyscsopt-0.1.4-py3-none-any.whl (25.1 kB view details)

Uploaded Python 3

File details

Details for the file pyscsopt-0.1.4.tar.gz.

File metadata

  • Download URL: pyscsopt-0.1.4.tar.gz
  • Upload date:
  • Size: 23.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pyscsopt-0.1.4.tar.gz
Algorithm Hash digest
SHA256 415b5223e894d717ee36eb67e78e8163dd4fb64a840a85b1d1dd636ad29e55ef
MD5 c620f4c33d435c5f37e5c6dd3f2aa39b
BLAKE2b-256 a9027bb85acf84dde7986a5c4042efe8e2fa1a8ec7a40bdb46c0741bb935d79c

See more details on using hashes here.

File details

Details for the file pyscsopt-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: pyscsopt-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 25.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pyscsopt-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 6cc2ccd8e70ae61bebdf2ca6676ff0c105e31353e918afb4a9e9ce4958461413
MD5 73f08ec75ca71c23a3bacf37b854fe3c
BLAKE2b-256 a1a870a9805608070b51fe56c8a4877fbaafe8c54a3358e47ae243cec5b030b9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page