Python package for solving large scale L1 regularizedleast squares problems.
This is a large scale L1 regularized Least Square (L1-LS) solver written in Python. The code is based on the MATLAB code made available on Stephen Boyd’s l1_ls page.
You can install the bleeding edge directly from the source:
pip install git+https://github.com/musically-ut/l1-ls.py.git@master#egg=l1ls
This package is also available on PyPi.
pip install l1ls
The module exposes two functions:
They can be used as follows:
import l1ls as L import numpy as np A = np.array([[1, 0, 0, 0.5], [0, 1, 0.2, 0.3], [0, 0.1, 1, 0.2]]) x0 = np.array([1, 0, 1, 0], dtype='f8') # Original signal y = A.dot(x0) # noise free signal lmbda = 0.01 # regularization parameter rel_tol = 0.01 [x, status, hist] = L.l1ls(A, y, lmbda, tar_gap=rel_tol) # answer_x = np.array([0.993010, 0.00039478, 0.994096, 0.00403702])
If your matrix A is sparse, pass it in CSR format format for best performance.