mnarayan / matlab-cliquer

A MATLAB interface to the C program Cliquer: quickly find cliques in graphs.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Description

This project contains a MATLAB package containing a MEX interface to the C program Cliquer, which contains a collection of optimized routines for finding cliques in graphs. A (very slightly) modified version of the Cliquer project is included here for convenience (and because a slight modification was required to make the MEX compiler happy on my machine).

Additional README and LICENSE files for Cliquer can be found in the directory +Cliquer/cliquer/. This project currently utilizes only a small subset of Cliquer's functionality (specifically a portion dealing with unweighted graphs).

Usage

  1. Ensure that your MEX compiler is functioning. You can test this by entering the directory +Cliquer/mex_test/ in MATLAB and executing the command mex hello_world.c. If that command produces an error, then your MEX compiler is not functioning properly. Otherwise, the command should produce a MEX function hello_world.mex<suffix>, where <suffix> depends on your OS; now, executing the MATLAB command hello_world should produce the output Hello, World!.

  2. Ensure that the +Cliquer directory is a subdirectory of a directory in your MATLAB path. Do not add the +Cliquer directory to your MATLAB path.

  3. Execute make.m from within this repository to compile the mex files

% Running make.m
make
  1. Cliquer's functionality can now be accessed with the command Cliquer.FindAll, and documentation can be accessed with help Cliquer.FindAll.

  2. Check installation using the following example

A = eye(10);
[ncliques mtxcliques] = Cliquer.FindAll(A,2,2,false,1000);
  1. Be sure to make check that your input is a symmetric matrix using issymmetric(A). Otherwise running this program results in a segmentation fault.

About

A MATLAB interface to the C program Cliquer: quickly find cliques in graphs.

License:Other


Languages

Language:C 54.4%Language:Objective-C 39.6%Language:C++ 4.6%Language:MATLAB 0.9%Language:Makefile 0.6%