Coverage for src/proximal_lq/__init__.py: 100%

5 statements  

« prev     ^ index     » next       coverage.py v7.15.4, created at 2026-08-25 05:26 +0000

1"""Proximal optimization library for simplex-constrained least squares. 

2 

3This package provides efficient solvers for optimization problems of the form: 

4 

5 minimize 0.5 ||mat @ x - vec||^2 

6 subject to x >= 0, sum(x) = 1 

7 

8These problems arise in portfolio optimization, machine learning, and signal processing. 

9 

10Functions 

11--------- 

12proj_simplex 

13 Project a vector onto the probability simplex. 

14prox_gradient 

15 Solve simplex-constrained least squares via proximal gradient descent. 

16 

17Examples: 

18-------- 

19>>> import numpy as np 

20>>> from proximal_lq import prox_gradient 

21>>> mat = np.array([[1.0, 0.5], [0.5, 1.0]]) 

22>>> vec = np.ones(2) 

23>>> result = prox_gradient(mat, vec) 

24>>> print(np.round(result, 4)) 

25[0.5 0.5] 

26 

27""" 

28 

29import importlib.metadata 

30 

31__version__ = importlib.metadata.version("proximal-lq") 

32__all__ = ["__version__", "proj_simplex", "prox_gradient"] 

33 

34from .proximal import proj_simplex as proj_simplex 

35from .proximal import prox_gradient as prox_gradient