readme

PURPOSE ^

----------L1 Homotopy Package-------------+

SYNOPSIS ^

This is a script file.

DESCRIPTION ^

----------L1 Homotopy Package-------------+

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 %----------L1 Homotopy Package-------------+
0002 
0003 Created by: Salman Asif @ Georgia Tech.
0004 Email: sasif@gatech.edu
0005 
0006   
0007 Code website: http://users.ece.gatech.edu/~sasif/homotopy
0008 and
0009 Github repository: https://github.com/sasif/L1-homotopy
0010   
0011     (let's say this is)
0012       Version 2.0 released June 2013
0013       
0014     Previous versions: 
0015       v1.1 release:    July 2012
0016       v1.0 release:     April 2009
0017     
0018 %------------------------------------------+
0019 
0020 References: 
0021 
0022 - M. Salman Asif and Justin Romberg, "Sparse recovery of streaming signals using L1-homotopy," preprint available at http://users.ece.gatech.edu/~sasif/ and ???  
0023 
0024 - M. Salman Asif, "Dynamic compressive sensing: Sparse recovery algorithms for streaming signals and video." Doctoral Thesis, Georgia Institute of Technology, 2013. 
0025 
0026 %------------------------------------------------------------
0027 
0028 l1homotopy is a highly versatile homotopy program that can solve a variety of L1-norm minimization problems using a warm start. 
0029 
0030 l1homotopy.m is the main function that solves the following homotopy program: 
0031 
0032 minimize_x  \|W x\|_1 + 1/2*\|Ax-y\|_2^2 + (1-epsilon)u'x,
0033 
0034 u is defined as u = -W*sign(xh_old)-A'*(A*xh_old-y) 
0035 xh_old is an arbitrary warm-start vector (or a zero vector if no warm-start is available)
0036 
0037 The homotopy is solved by changing epsilon from 0 to 1 using the algorithm described in the paper and the thesis.
0038 
0039 
0040 Scripts for different problems are also included in this package to demonstrate the use of l1homotopy: 
0041  
0042 demo_BPDN -- solves LASSO/BPDN problem from scratch
0043 demo_posBPDN -- solves BPDN problem with positive sign constraint on the estimate
0044 demo_dynamicX -- updates the solution for BPDN as the signal changes
0045 demo_dynamicSeq -- updates the signal as sequential measurements are added
0046 demo_rwtL1-- solves iterative reweighting for BPDN
0047 demo_dynamicRWT -- iteratively updates weights in the L1-norm cost while estimating a time-varying signal
0048 demo_streamingLOT -- iteratively estimates a streaming signal using lapped orthogonal transform as the representation basis
0049 demo_KalmanRWT -- iteratively estimates a streaming signal that follows a linear dynamic model
0050 and more... 
0051 
0052 
0053 You may need to compile mex codes for
0054 1. matrix-vector product of the form A_Gamma x_Gamma and A_Gamma^T y
0055 2. realnoiselet
0056 3. Wavelets
0057 
0058 See compile.m for further details. 
0059 Add all the folders in MATLAB path or only those that are required for each solver. 
0060 
0061 This code is in development stage; any comments or bug reports are very welcome.
0062 
0063 %------------------------------------------------------------
0064 
0065 This file is part of L1 homotopy toolbox.
0066 Copyright (C) 2013, M. Salman Asif, all rights reserved.
0067 
0068 Redistribution and use of this code, with or without modification, are permitted provided that the following conditions are met:
0069 
0070 The software is provided under the terms of this license strictly for academic, non-commercial, not-for-profit purposes. Redistributions of source code must retain the above copyright notice, this list of conditions (license) and the following disclaimer. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. 
0071 
0072 This software is being provided "as is", without any express or implied warranty. In particular, the authors do not make any representation or warranty of any kind concerning the merchantability of this software or its fitness for any particular purpose.
0073 
0074 %------------------------------------------------------------
0075 
0076 
0077 
0078 %------------------------------------------------------------
0079 
0080 Parts of old releases
0081 
0082 %------------------------------------------------------------
0083 
0084 
0085 Other than L1 decoding and adaptive reweighting methods, these homotopy programs can also be solved using l1homotopy.m (for the LASSO/BPDN formulation).
0086 
0087 
0088 %---------------
0089 % Pursuits_Homotopy (Standard homotopy solvers)
0090 %---------------
0091 
0092 % Basis pursuit denoising (BPDN) homotopy
0093 BPDN_homotopy_function.m
0094 BPDN_homotopy_demo.m
0095 
0096 % Dantzig selector (DS) homotopy based on primal-dual pursuit
0097 DS_homotopy_function.m
0098 DS_homotopy_demo.m
0099 
0100 %---------------
0101 % DynamicX (Homotopy update for time-varying sparse signals)
0102 %---------------
0103 
0104 % BPDN
0105 DynamicX_BPDN_function.m
0106 DynamicX_BPDN_demo.m
0107 DynamicX_BPDN_Visual_demo.m
0108 
0109 % DS
0110 DynamicX_DS_function.m
0111 DynamicX_DS_demo.m
0112 
0113 % Simulations (use functions from GPSR and FPC_AS)
0114 Simulation_DynamicX_BPDN.m
0115 Simulation_DynamicX_BPDN_Pathological.m
0116 Simulation_DynamicX_BPDN_Wavelet.m % This script uses WaveLab functions.
0117 
0118 %---------------
0119 % DynamicSeq (Homotopy update for sequential measurements)
0120 %---------------
0121 
0122 % BPDN
0123 DynamicSeq_BPDN_function.m
0124 DynamicSeq_BPDN_demo.m
0125 
0126 % DS
0127 DynamicSeq_DS_function.m
0128 DynamicSeq_DS_demo.m
0129 
0130 % Simulations (use functions from GPSR and FPC_AS)
0131 Simulation_DynamicSeq_BPDN.m
0132 
0133 %---------------
0134 % Decoding (Correct sparse errors in an encoded signals)
0135 %---------------
0136 
0137 % L1 decoding
0138 l1Decode_homotopy_fast.m
0139 l1Decode_homotopy_qr.m
0140 Simulation_l1Decode.m
0141 
0142 % Robust error correction
0143 DynamicSeq_REC_function.m
0144 DynamicSeq_REC_demo.m
0145 Simulation_DynamicSeq_REC.m
0146 
0147 
0148 %-----------------
0149 % Iterative and adaptive reweighting (WeightedBPDN folder)
0150 %-----------------
0151 The codes are based on iterative and adaptive reweighting methods described in the following paper:
0152 "Fast and accurate algorithms for re-weighted L1 norm minimization," by M. Salman Asif and Justin Romberg
0153 
0154 More details in the readme.txt file inside the folder

Generated on Mon 10-Jun-2013 23:03:23 by m2html © 2005