We introduce...
The FGλT library has been tested under Ubuntu 18.04 and macOS Catalina
v10.15.6. The only prerequisite is a C++ compiler (optionally, with cilk support, see Installation)
To generate the FGλT library and program:
mkdir build; cd build
../configure
make all
To specify the C++ compiler:
./configure CXX=<compiler-executable>
Note: If the specified compiler supports cilk, the compiled
program will automatically use cilk for parallelism. Otherwise, the
program will run in sequential mode.
If you wish to install the executable fglt, issue:
make install
Note: Depending on your setup, you might need sudo privileges for
this operation.
To generate the documentation (assuming Doxygen is installed on your
machine):
cd docs
make
open html/index.html
The FGλT executable is named fglt. Usage:
fglt <filename>
where <filename> is the path to a sparse matrix stored in symmetric,
coordinate, MatrixMarket format. The graphlet frequencies are exported
in freq_net.txt. For example,
wget https://suitesparse-collection-website.herokuapp.com/MM/Pajek/GD96_c.tar.gz --no-check-certificate
tar -xzvf GD96_c.tar.gz
fglt GD96_c/GD96_c.mtx
less freq_net.csv
To build the MATLAB interface to FGλT, issue
fgtmake
in MATLAB command window, under MATLAB directory.
A MATLAB demo script is provided under MATLAB:
demo.m
which showcases the use of FGλT on a couple of test graphs.
You can use FGλT with Julia with the FGLT.jl package.
You can use Meson to build a shared library and link the demo executable against it. You need to build the shared library to use FGλT with Julia or Python.
After installing meson and ninja, you can simply run:
meson build
cd build
ninja
sudo ninja install # optional: install the shared library system-wide
The FGlT library is licensed under the GNU general public license v3.0. To contribute to FGlT or report any problem, follow our contribution guidelines and code of conduct.
Design and development:
Dimitris Floros1, Nikos Pitsianis1,2,
Xiaobai Sun2\
Development of Julia and Python wrappers:
Jason Barmparesos1
1 Department of Electrical and Computer Engineering,
Aristotle University of Thessaloniki, Thessaloniki 54124, Greece
2 Department of Computer Science, Duke University, Durham, NC
27708, USA
