# L1-norm approximation¶

The -norm approximation problem is given by

(1)¶

with variable and problem data and . The problem is equivalent to an LP

(2)¶

with variables and constraints. Yet another equivalent formulation is the problem

(3)¶

with variables , , and .

### Documentation

A custom solver for the -norm approximation problem is
available as a Python module `l1.py`

(or `l1_mosek6.py`

or `l1_mosek7.py`

for earlier
versions of CVXOPT that use either MOSEK 6 or 7). The module implements
the following four functions:

`l1blas`

(P,q)¶Solves the problem (2) using a custom KKT solver. This function implements the same custom KKT solver as

`l1()`

, but it uses BLAS routines instead of overloaded arithmetic.Returns the solution .

### Example

```
from l1 import l1
from cvxopt import normal
m, n = 500, 100
P, q = normal(m,n), normal(m,1)
u = l1(P,q)
```