View full-text article in PMC Vision (Basel). 2019 Sep 16;3(3):47. doi: 10.3390/vision3030047 Search in PMC Search in PubMed View in NLM Catalog Add to search Copyright and License information © 2019 by the author. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/). PMC Copyright notice Algorithm 1 Generalized Matching Pursuit: ak=S(yk;Ψ={Φ,z,N0}) 1:set the sparse vector ak to zero, 2:initialize a¯k,i=〈yk,Φi〉 for all i 3:while||ak||0<N0do: 4: select the best match: i∗=errori[zi(a¯k,i)] 5: update the sparse coefficient: ak,i∗=ak,i∗+a¯k,i∗, 6: update residual: ∀i,a¯k,i←a¯k,i−ak,i∗〈Φi∗,Φi〉.