All Projects → kul-forbes → Proximaloperators.jl

kul-forbes / Proximaloperators.jl

Licence: other
Proximal operators for nonsmooth optimization in Julia

Programming Languages

julia
2034 projects

Projects that are alternatives of or similar to Proximaloperators.jl

Angler
Frequency-domain photonic simulation and inverse design optimization for linear and nonlinear devices
Stars: ✭ 75 (-18.48%)
Mutual labels:  optimization
Training Material
A collection of code examples as well as presentations for training purposes
Stars: ✭ 85 (-7.61%)
Mutual labels:  optimization
Jplusone
Tool for automatic detection and asserting "N+1 SELECT problem" occurences in JPA based Spring Boot Java applications and finding origin of JPA issued SQL statements in general
Stars: ✭ 91 (-1.09%)
Mutual labels:  optimization
Hiop
HPC solver for nonlinear optimization problems
Stars: ✭ 75 (-18.48%)
Mutual labels:  optimization
Esbuild Loader
⚡️ Speed up your Webpack build with esbuild
Stars: ✭ 1,245 (+1253.26%)
Mutual labels:  optimization
Csso Rails
CSS Optimizer(csso) ruby wrapper for Rails Asset pipeline
Stars: ✭ 86 (-6.52%)
Mutual labels:  optimization
Poodle
Poodle - Python framework for AI Planning and automated programming
Stars: ✭ 73 (-20.65%)
Mutual labels:  optimization
Deep Learning Drizzle
Drench yourself in Deep Learning, Reinforcement Learning, Machine Learning, Computer Vision, and NLP by learning from these exciting lectures!!
Stars: ✭ 9,717 (+10461.96%)
Mutual labels:  optimization
Maze
Maze Applied Reinforcement Learning Framework
Stars: ✭ 85 (-7.61%)
Mutual labels:  optimization
Safeopt
Safe Bayesian Optimization
Stars: ✭ 90 (-2.17%)
Mutual labels:  optimization
Hyperlearn
50% faster, 50% less RAM Machine Learning. Numba rewritten Sklearn. SVD, NNMF, PCA, LinearReg, RidgeReg, Randomized, Truncated SVD/PCA, CSR Matrices all 50+% faster
Stars: ✭ 1,204 (+1208.7%)
Mutual labels:  optimization
Current
C++ framework for realtime machine learning.
Stars: ✭ 81 (-11.96%)
Mutual labels:  optimization
Beautiful React Redux
Redux 🚀, Redux 🤘, Redux 🔥 - and the magic optimization
Stars: ✭ 87 (-5.43%)
Mutual labels:  optimization
Mlbox
MLBox is a powerful Automated Machine Learning python library.
Stars: ✭ 1,199 (+1203.26%)
Mutual labels:  optimization
Faster
SIMD for humans
Stars: ✭ 1,304 (+1317.39%)
Mutual labels:  optimization
Awesome System For Machine Learning
A curated list of research in machine learning system. I also summarize some papers if I think they are really interesting.
Stars: ✭ 1,185 (+1188.04%)
Mutual labels:  optimization
Auxpack
A dashboard for monitoring Webpack build stats.
Stars: ✭ 86 (-6.52%)
Mutual labels:  optimization
Rinsim
RinSim is a logistics simulator written in Java. RinSim supports (de)centralized algorithms for dynamic pickup-and-delivery problems (PDP). The simulator is developed at the imec-DistriNet group at the dept. of Computer Science, KU Leuven, Belgium.
Stars: ✭ 91 (-1.09%)
Mutual labels:  optimization
Go Perfbook
Thoughts on Go performance optimization
Stars: ✭ 9,597 (+10331.52%)
Mutual labels:  optimization
Quantum Learning
This repository contains the source code used to produce the results presented in the paper "Machine learning method for state preparation and gate synthesis on photonic quantum computers".
Stars: ✭ 89 (-3.26%)
Mutual labels:  optimization

ProximalOperators.jl

Build status codecov Gitter DOI

Proximal operators for nonsmooth optimization in Julia. This package can be used to easily implement proximal algorithms for convex and nonconvex optimization problems such as ADMM, the alternating direction method of multipliers.

See the documentation on how to use the package.

Installation

To install the package, hit ] from the Julia command line to enter the package manager, then

pkg> add ProximalOperators

Usage

With using ProximalOperators the package exports the prox and prox! methods to evaluate the proximal mapping of several functions.

A list of available function constructors is in the documentation.

For example, you can create the L1-norm as follows.

julia> f = NormL1(3.5)
description : weighted L1 norm
type        : Array{Complex}  Real
expression  : x  λ||x||_1
parameters  : λ = 3.5

Functions created this way are, of course, callable.

julia> x = randn(10) # some random point
julia> f(x)
32.40700818735099

prox evaluates the proximal operator associated with a function, given a point and (optionally) a positive stepsize parameter, returning the proximal point y and the value of the function at y:

julia> y, fy = prox(f, x, 0.5) # last argument is 1.0 if absent

prox! evaluates the proximal operator in place, and only returns the function value at the proximal point:

julia> fy = prox!(y, f, x, 0.5) # in-place equivalent to y, fy = prox(f, x, 0.5)

Related packages

References

  1. N. Parikh and S. Boyd (2014), Proximal Algorithms, Foundations and Trends in Optimization, vol. 1, no. 3, pp. 127-239.

  2. S. Boyd, N. Parikh, E. Chu, B. Peleato and J. Eckstein (2011), Distributed Optimization and Statistical Learning via the Alternating Direction Method of Multipliers, Foundations and Trends in Machine Learning, vol. 3, no. 1, pp. 1-122.

Credits

ProximalOperators.jl is developed by Lorenzo Stella and Niccolò Antonello at KU Leuven, ESAT/Stadius, and Mattias Fält at Lunds Universitet, Department of Automatic Control.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].