Expand description
Convex analysis, proximal operators, and constrained optimisation.
Implements convex sets (hyperplane, halfspace, ball, polytope), projection operators, proximal maps, dual decomposition with subgradient updates, ADMM, Frank-Wolfe / conditional gradient, and the ellipsoid method.
Structs§
- Admm
Result - Result returned by the ADMM solver.
- Admm
Solver - Alternating Direction Method of Multipliers (ADMM) for problems of the form:
- Dual
Decomposition - Lagrangian relaxation with subgradient updates for dual decomposition.
- Ellipsoid
Method - Ellipsoid method for convex feasibility problems.
- Ellipsoid
Result - Result from the ellipsoid method.
- Frank
Wolfe Optimizer - Frank-Wolfe (conditional gradient) method for constrained convex problems.
- Frank
Wolfe Result - Result from the Frank-Wolfe algorithm.
- Morse
Envelope - Moreau envelope (inf-convolution) smoothing of a convex function.
- Projection
Operator - Collection of projection operators onto standard convex sets.
- Proximal
Operator - A proximal operator parameterised by a regularisation strength
lambda. - Subgradient
Method - Configuration for subgradient descent.
- Support
Function - Support function of a convex polygon given by its vertices in ℝ².
Enums§
- Convex
Set - A representation of a convex set in ℝⁿ.
Functions§
- conjugate_
function_ 1d - Compute the Legendre–Fenchel conjugate
f*(y) = sup_{x ∈ domain} (y·x - f(x))via a grid search overnequally-spaced points ondomain = (lo, hi). - dykstra_
projection - Project
xonto the intersection of convex sets using Dykstra’s algorithm. - is_
convex_ 1d - Check whether a discretely sampled 1-D function is (approximately) convex.
- moreau_
envelope_ l1 - Moreau envelope of the L1 norm: smooth approximation to
|x|. - proj_
box - Project
xonto the axis-aligned box[lo, hi]component-wise. - proj_
simplex - Project
xonto the probability simplex Δ = {z ≥ 0 : sum z = 1}. - prox_
huber - Proximal operator of the Huber loss with parameter
delta. - prox_l1
- Soft-thresholding (proximal operator of the L1 norm):
prox_{λ|·|}(x). - prox_
l2_ sq - Proximal operator of the squared L2 norm (ridge):
x / (1 + λ). - subgradient_
descent - Run
iterssteps of subgradient descent ongrad_ffromx0with step sizelr.