optimize norm with underdetermined system equality constraint
Project description
sparsest-solution-underdetermined-linear-system
optimize norm with underdetermined system equality constraint
problem statement
Minimize ||x||_p
Given Ax=b
where x \in R^n
A \in R^{m \times n}
b \in R^m
p \in R_+
algorithm
unconstrained optimization (L_p norm, p >= 1)
Minimize ||Ax-b||_2^2 + ||x||_p^p
Let z \in R^{n-m} be an arbitrary vector.
Represent the solution of Ax=b by x = A* z + b* // see boyd convex optimization
The problem becomes minimizing ||A*z + b*||_p
linear programming (L_1 norm)
# idea
Let y \in R^{n} with 2 additional constraints
y \geq x and y \geq -x (element-wise)
Let u = [x, y] \in R^{2n}, the feasible set is a polyhedron.
Minimize sum of y, get x
# explanation
y \geq x and y \geq -x constraint y \geq |x|
Let u1 = [x1, y1] be the minimizer.
It is easy to prove that minimal y, y1 = |x1|
Hence, the LP formulation yeilds the same solution as the original problem.
results (m = 400, n = 2000, random A b)
L2 norm sparsity
L1.001 norm sparsity
L1 norm sparsity
Packaging
rm -rf dist/*
python setup.py sdist bdist_wheel
twine upload dist/*
Useful links
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
sparse_uls-6.2.tar.gz
(4.1 kB
view details)
Built Distribution
File details
Details for the file sparse_uls-6.2.tar.gz
.
File metadata
- Download URL: sparse_uls-6.2.tar.gz
- Upload date:
- Size: 4.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d8c6a8a497717b3d2f68bbc5b0449aad5323352eaffedfeed3c7046a0c287021 |
|
MD5 | ab66fe5291a84fb0bfb82a689901669f |
|
BLAKE2b-256 | 591c91c085ae822511f0ab0a6c1b87b1ef9e9a8adab9264b04a7fd4a7e526820 |
File details
Details for the file sparse_uls-6.2-py3-none-any.whl
.
File metadata
- Download URL: sparse_uls-6.2-py3-none-any.whl
- Upload date:
- Size: 4.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1d611e14d7e621ec73b3e79254c7791b5531d6ca4bc751436c2089de74089ae2 |
|
MD5 | 256e05127b25874179ef33f04476396a |
|
BLAKE2b-256 | 973a9d201ff028573a2a48c5628b6de12990d83d07222ce06a74bc82c961b897 |