The following video shows an implementation of A-SVM for learning multiple-attractor dynamics.
The current implementation is available as a C++ library, command-line utility and MATLAB-GUI from the above link. The GUI can be used to draw any multi-attractor data set and a number of algorithms including - SMO, Iterative Optimization (NLOPT/IPOPT) and nu-ASVM are available to choose for learning. The sofware has been tested on Ubuntu-11.10 and Windows 7.
On Unix systems, the software can be build by simply doing ccmake and make. You have the option to link with the NLOPT library if it is already make-install'ed on your system. Set/Unset the USE_NLOPT cmake variable from the ccmake gui for this. By default it is set to false. If you do not use the nlopt libraries, you will not be able to use some of the iterative methods from the GUI. Once ccmake succeeds, you may do make to compile the command-line utility in the bin folder and a shared library in the lib folder for linking with your own code. The make procedure also generates the make.m MATLAB scripts for compiling the mex interfaces which are used by the GUI. Once make succeeds, you should open MATLAB using the generated script run_matlab.sh. This takes care of setting some environment variables for properly finding the shared libraries for the mex files. Running the setup_widget script in the root folder adds the relevant folders to MATLAB path and builds the mex files. If the compilation goes smoothly, you are ready to launch svm_widget.
On Windows systems, the same basic procedure as above is used. However, one must make sure that the bitness (32/64) of your MATLAB must match the build that you choose in Visual Studio for ASVM as well as NLOPT. Note that the precompiled binaries of NLOPT are 32-bit only. Hence, if your MATLAB is 64-bit, you must compile NLOPT from sources by choosing the x64 configuration in Visual Studio. Also, if you are compiling the ASVM software in Release, NLOPT must also be compiled in the same configuration.