Skip to content

This repository contains the code for computing the proximal operator of the mixed L1,oo norm as described in the paper: B. Bejar et al., "The fastest L1,oo prox in the west".

License

Notifications You must be signed in to change notification settings

bbejar/prox-l1oo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

README

This README describes the steps to compile and run the code, as well as to use wrappers for MATLAB and Python.

Quick summary

This project implements algorithms for the computation of the proximal operator of induced l1 matrix norms (a.k.a., mixed l1,oo norm). A preprint describing the method can be found at:

B. Béjar, Ivan Dokmanić, and René Vidal. The fastest L1oo in the west.

Version

1.0

How to use this software

C programs -- See main() function in prox_ind_l1_norm.c

MATLAB

  1. Inside mex_prox_ind_l1_norm.c uncomment the line corresponding to the implementation you would like to run (e.g., column sort)

...

prox_l1_norm_column_sort(X,V,*lambda);

//prox_l1_norm_active_set(X,V,*lambda);

...

  1. Inside MATLAB's command window type:

mex -output prox_l1_column_sort mex_prox_ind_l1_norm.c

  1. Run it

LAMBDA = 1; V = randn(5); X = prox_l1_column_sort(V,LAMBDA);

Python

  1. Compile source C code into a dynamic library:

gcc -fPIC -shared -o libprox.so prox_ind_l1_norm.c

  1. Run and see prox_ind_l1_norm.py for an example of how to use.

About

This repository contains the code for computing the proximal operator of the mixed L1,oo norm as described in the paper: B. Bejar et al., "The fastest L1,oo prox in the west".

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published