⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 aboutsparselab.tex

📁 SparseLab is a Matlab software package designed to find sparse solutions to systems of linear equati
💻 TEX
📖 第 1 页 / 共 3 页
字号:
% AboutSparseLab.tex\documentclass{article}\addtolength{\textwidth}{1in}\addtolength{\oddsidemargin}{-0.5in}\addtolength{\textheight}{1.6in}\addtolength{\topmargin}{-0.8in}\usepackage{epsf}\usepackage{graphicx}\begin{document}\input SparseMacros.tex\title{About SparseLab}\author{\bigskip \\David Donoho, Victoria Stodden, Yaakov Tsaig\\Stanford University}\date{Version 2.0\\March, 2007}\maketitle\begin{abstract}{\bf Changes and Enhancements for Release 2.0}: 4 papers have been added to Sparselab 200: "FastSolution of l1-norm Minimization Problems When the Solutions May be Sparse"; "Why Simple Shrinkageis Still Relevant For Redundant Representations"; "Stable Recovery of Sparse OvercompleteRepresentations in the Presence of Noise"; "On the Stability of Basis Pursuit in the Presence ofNoise."\WaveLab\ is a library of \Matlab\ routines for finding sparse solutions to underdeterminedsystems. The library is available free of charge over the Internet. Versions are provided forMacintosh, UNIX and Windows machines. Downloading and installation instructions are given here.\WaveLab\ has over 400 \dotm\ files which are documented, indexed and cross-referenced in variousways.  In this document we suggest several ways to get started using \WaveLab: (a) trying out thepedagogical examples, (b) running the demonstrations, which illustrate the use of SparseLab inpublished papers, and (c) browsing the extensive collection of source files, which areself-documenting.\WaveLab\ makes available, in one package, all the code to reproduce all the figures in theincluded published articles. The interested reader can inspect the source code to see exactly whatalgorithms were used, and how parameters were set in producing our figures, and can then modify thesource to produce variations on our results. \WaveLab\ has been developed, in part, because ofexhortations by Jon Claerbout of Stanford that computational scientists should engage in ``reallyreproducible'' research.This document helps with installation and getting started, as well as describing the philosophy,limitations and rules of the road for this software.\end{abstract}{\bf Acknowledgment of Support.} This work was partially supportedby NSF DMS-05-05303 (Stanford).\pagebreak\tableofcontents\pagebreak\section{Introduction}\WaveLab\ is a library of \Matlab\ routines for finding sparse solutions to underdeterminedsystems. The library provides the research community with open source tools for sparserepresentation, as well as being the basis for research by the authors, and may be used toreproduce the figures in their published articles, and to redo those figures with variations in theparameters.The library is available free of charge over the Internet by WWW access; instructions are givenbelow.  The material is, however, copyrighted, so that advance permission is required for anycommercial use.The package approaches the problem of sparse representation from both signal processing andstatistical viewpoints. The user is free to choose the terminology he or she is comfortable with.SparseLab incorporates software for several published solvers, for example Michael Saunders'Primal-Dual method for Optimization with Convex Objectives, Mallat and Zhang's Matching Pursuit,Donoho and Johnstone's Iterative Hard and Soft Thresholding, Efron et al's Least Angle Regression,and a number of others.In addition to routines finding sparse solutions to systems, the library contains scripts whichgive a quick examples in a variety of different settings. We believe that by studying these scriptsone can quickly learn the practical aspects of sparse representation and one can learn how to usethe \WaveLab\ software libraryIn this guide we give information which will help you access and install the software on yourmachine and get started in exploring the resources contained in the \WaveLab\ distribution. We alsoexplain the philosophy which underlies our distribution of the software, and some of the fine printassociated with the software.There are other resources for obtaining information about \WaveLab. First, there is a {\itSparseLab Architecture} guide which gives details about how \WaveLab\ is constructed andmaintained. Secondly, we give more information on the SparseLab website.This body of software is under continuing development by a team of researchers supported by a grantfrom the NSF, and from other sponsors. We conduct our research with the idea, from the beginning,that we will implement our tools in \WaveLab. We believe that the discipline this entails makes ourresearch of a higher quality than otherwise possible.We welcome your suggestions for further enhancements, and any contributions you might make.\pagebreak\section{Access and Installation}The \WaveLab\ library contains \dotm\ files (\Matlab\ code), datasets, documentation scripts andworkouts (both also \dotm\ files) for reproducing the figures in articles by the authors.The whole library consists of over 400 files. It requires more than \MinSize\ and less than\MaxSize\ space on disk once it is downloaded, decompressed and installed. The largest data filesfor two demos are included in separate packages: Sparselab100\_DataSupplementExtCS.zip andSparselab100\_DataSupplementStOMP.zip -- the majority of the size comes from these components.This documentation refers to Version \WLVersion\ of \WaveLab.\subsection{Platform-Specific Information}\WaveLab\ is available for use in \Matlab\ 6.x or 7.x on threedifferent platforms: Windows XP or 2000, UNIX/Linux and Macintosh.The package is made available as a compressed archive, in a \dotzip\format.\\ You do have to know about one convention used in thedocumentation. We always use the UNIX pathname conventions ratherthan PC or Macintosh, e.g.\ {\tt Matlab/Toolbox/\WLDir} rather than{\tt Matlab\BS Toolbox\BS SparseLab} or {\ttMatlab:Toolbox:WaveLab}. You have to transliterate what we say intothe version appropriate for your platform.\subsection {WEB Acess}To download the compressed archive from the web, point your webbrowser to \WLWEB\ to access the \WaveLab\ web-page. Once there,mouse click the "Download" link in the left frame.\subsection{Installation}In this section we first describe the installation process in narrative form,and later give a step-by-step checklist.Once the appropriate compressed archive has been transferred to yourmachine, it should be decompressed and installed. You will need anappropriate software to decompress \dotzip\ file \WLName \dotzip. Ona personal computer (Macintosh or Windows), the archives should bedecompressed and installed as a subdirectory of the {\tt Toolbox}directory inside the {\tt matlab} folder. On a UNIX workstation orserver, the archives could either be installed in the systemwide{\tt matlab} directory, if you have permission to do this, or inyour own personal {\tt matlab} directory, if you do not.Once the actual files are installed, you should have a number of files andsubdirectories in the directory \WLDir. If you look in the files\Contents\ inside of the \WLDir\ directory, you will see a plan of what is inside:\begin{verbatim}% SparseLab Main Directory, Version 100%% This is the main directory of the SparseLab package.%%              .m files in this directory%%   Contents.m           -    This file%   SparsePath.m         -    Sets up global variables and pathnames%%              Subdirectories%   Documentation        -    System-Wide Documentation%     /About SparseLab%     /SparseLab Architecture%   Examples             -    Detailed examples of SparseLab finding sparse solutions%     /nnfEX             -    Nonnegative Factorization Example%     /reconstructionEx  -    Signal Reconstruction Example%     /RegEx             -    Regression Example%     /TFDecompEx        -    Time-Frequency Reconstruction Example%   Papers               -    Scripts for reproducing figures in published articles%     /ExtCS             -    figures for "Extensions of Compressed Sensing"%     /HDCPNPD           -    figures for "High-Dimensional Centrosymmetric%                             Polytopes with Neighborliness Proportional to Dimension"%     /NPSSULE           -    table in "Neighborly Polytopes and Sparse%                             Solutions of Underdetermined Linear Equations"%     /NRPSHD            -    figures for "Neighborliness of%                             Randomly-Projected Simplices in High Dimensions"%     /SNSULELP          -    figures for "Sparse Nonnegative Solutions of%                             Underdetermined Linear Equations by Linear Programming"%   Solvers              -    Sparse solver packages%   Tests                -    Simple pedagogical workouts%   Utilities            -    General tools for developers and users%   shell_tools          -    Tools for use during the SparseLab build process%% Part of SparseLab Version:100% Created Tuesday March 28, 2006% This is Copyrighted Material% For Copying permissions see COPYING.m% Comments? e-mail sparselab@stanford.edu\end{verbatim}Make a local directory listing to see if your hard disk actually hasthese files and subdirectories.\subsection{Pathnames}\Matlab\ can automatically, at startup time, make all the \WaveLab\ softwareavailable. The script \WavePath\ is provided as part of \WaveLab\ to enable thisfeature. It should be invoked from the user's \Startup\ file.\begin{itemize}\item[PC] \Startup\ is located in the {\tt matlab\BS local} directory on MS-Windows.Insert the line {\tt SparsePath} in that file, and put a copy of\WavePath\ in that directory.\item[Mac] \Startup\ may be located anywhere inside the {\tt Matlab} directoryon Macintosh. Insert the line {\tt SparsePath} in that file. Since\WaveLab\ contains a \Startup\ file, if you have no other \Startup\file, there is nothing to do once \WaveLab\ is installed.\item[Unix] This file is located in the  {\tt matlab} subdirectory of your homedirectory on UNIX. If you don't have such a subdirectory, use {\ttmkdir $\sim$/matlab} to make one. Create a file named \Startup\ andinsert the line {\tt SparsePath} in that file.  Then put a copy of\WavePath\ in that directory.\end{itemize}\subsection{Checklists}To reinforce the above points, we furnish here step-by-step installationchecklists.\subsubsection{UNIX Checklist}\begin{enumerate}\item[1.] Binary Download the archive to the directory you want\WaveLab\ to reside.\item[2.] Uncompress the archive: {\tt SparseLab100.zip}\item[3.] Decide where you want the \WaveLab\ directory to reside. It will havea number of subdirectories and occupy at least \MinSize\ disk space.\item[4.] After you decompress the file for your machine, you shouldhave the following directory structure.\\\WLName \\\WLName / Solvers\\\WLName / Datasets \\\WLName / Documentation\\\WLName / Papers\\\WLName / Examples\\\WLName / Utilities \\\item[5.] Copy all the SparseLab files from the place you put the original SparseLab archive (for example /tmp) to their final destination, for example in your home directory    \~ user/matlab/\WLName.\item[6.] Launch Matlab; In Matlab set the current path tomatlabroot/toolbox/\WLName\ or alternatively copy the file\WavePath\ from $<$ MatlabToolboxPath $>$ /\WLName\ to$<$MatlabToolboxPath$>$ /local\item[7.] Run \WavePath; If the default pathname is not right theprogram will ask you to enter the correct path.\item[8.] Type {\tt installMEX} to compile and install the \dotmex\ files.\end{enumerate}{\it Trouble-Shooting UNIX:} Compare the output of {\tt ls -rSparseLab100} with {\tt Documentation}  to see if you have all thefiles. Compare the output of the \Matlab\ command {\tt path} withthe list above to see if you have all the directories in your path.\subsubsection{Macintosh Checklist}To follow these instructions you will need:\begin{itemize}\item[(1)] A Macintosh running MacOS 10.3 or later.\item[(2)] A program which can unzip \dotzip\bfile.\item[(3)] Matlab 6.x or 7.x for Mac.\end{itemize}Steps:\\\begin{itemize}\item[1.] Binary Download the file {\tt \WLName \dotzip} to yourMacintosh.\item[2.] Extract the archive to the Toolbox folder of your Matlabfolder. After you extract the file you should have the followingsubdirectory structure: \\\WLName \\\WLName / Solvers\\\WLName / Datasets \\\WLName / Documentation\\\WLName / Papers\\\WLName / Examples\\\WLName / Utilities \\\item[3.] Launch Matlab; In Matlab set the current path tomatlabroot/toolbox/\WLName\ or alternatively copy the file\WavePath\ from $<$ MatlabToolboxPath $>$/\WLName\ to$<$MatlabToolboxPath$>$/local\item[4.] Run \WavePath\ at the command prompt to start \WaveLab.You will see a "Welcome to SparseLab" message as shown in the section Success below.\end{itemize}Note: \\\begin{enumerate}\item If you want to automatically load \WLName\ upon the start-upcopy the file \WavePath\ from the folder \WLName\ to the folderMatlab/Toolbox/local. Determine if you have any file named startup.mbesides the one that is in \WLName\ directory. If you don't, go tostep 3.\\ \item if you have \Startup\ , then copy the contents of \WavePath\ into this file. \item If you don't have any \Startup\ , then copy the file \Startup\ from \WLName\ directory to $<$MatlabToolboxPath$>$/local \end{enumerate}\subsubsection{PC Checklist}To follow these instructions you will need:\begin{itemize}\item[(1)] An Intel Platform running Windows 2000 or XP.\item[(2)] A program such as Winzip which can unzip \dotzip\file.\item[(3)] Matlab 6.x or 7.x for Windows.\end{itemize}\begin{enumerate}\item[1.] Binary Download the file {\tt \WLName \dotzip} to yourPC.\item[2.] Extract the archive to the Toolbox folder of your Matlabfolder. After you extract the file you should have the followingsubdirectory structure: \\\WLName \\\WLName / Solvers\\\WLName / Datasets \\\WLName / Documentation\\\WLName / Papers\\\WLName / Examples\\\WLName / Utilities \\\item[3.] Launch Matlab; In Matlab set the current path tomatlabroot\BS toolbox \BS \WLName\ or alternatively copy the file

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -