Abb. INB-Logo

Tools + Demos

Zurück / back

Sparse Coding Neural Gas:

A method for learning overcomplete data representations and performing overcomplete noisy Blind Source Separation


Sparse Coding Neural Gas is an unsupervised learning method that is closely connected to the Neural Gas method for vector quantization. It can be used in order to learn overcomplete data representations or to perform overcomplete noisy blind source separation.


We provide a pure MATLAB implementation of Sparse Coding Neural Gas and Orthogonal Matching Pursuit. Additionally, we also offer an OCTAVE/MATLAB package containing an optimized implementation of the method:


(1) Download the Sparse Coding Neural Gas package.

(2) Extract the tar archive: tar -xzf SCNG.tar.gz

The archive contains precompiled MATLAB binaries for linux x86-32 and x86-64 architecture. There are also OCTAVE binaries for linux x86-64 architecture included. For other platforms/operating systems, you have to compile the sources:

(3) Add the -msse2 compiler option to the CFLAGS variable of the MATLAB MEX compiler (

(4) Enter the SCNG directory

(5) Compile the C sources by typing make. Note that the MATLAB MEX compiler has to be in the path.

Note 1: If you don't want to use SSE2 you can disable it by removing the __USE_SSE__ compiler option in the make file.

Note 2: It is possible to compile the package for octave usage. In order to obtain octave compatible mex files modify the CC variable in the make file (replace mex by mkoctfile, see make file for more information).

Note 3: On x86-64 architecture use the __USE_SSE64__ compiler option (see make file).

Please contact if you have further questions.