Infomap is a network clustering algorithm based on the Map equation.

Overview

Infomap

Infomap is a network clustering algorithm based on the Map equation.

For detailed documentation, see mapequation.org/infomap.

For a list of recent changes, see CHANGELOG.md in the source directory.

Getting started

Infomap can be installed either from PyPI using pip or by compiling from source.

An experimental Javascript version for browsers is available on NPM.

Using pip

A pre-compiled version is available for macOS users.

Installing on other operating systems requires a working gcc or clang compiler.

To install, run:

pip install infomap

To upgrade, run:

pip install --upgrade infomap

When the Python package is installed, an executable called infomap (with lowercase i) is available from any directory.

To get started, read Infomap Python API.

Using Docker

There are currently two Docker images available on Docker Hub.

  • mapequation/infomap
  • mapequation/infomap:notebook based on jupyter/scipy-notebook

The image mapequation/infomap can be started with

docker run -it --rm \
    -v `pwd`:/data \
    mapequation/infomap
    [infomap arguments]

You can also use the supplied docker-compose.yml:

docker-compose run --rm infomap

The image mapequation/infomap:notebook can be started with

docker run \
    -v `pwd`:/home/jovyan/work \
    -p 8888:8888 \
    mapequation/infomap:notebook \
    start.sh jupyter lab

Or similarly, using docker-compose:

docker-compose up notebook

Compiling from source

Installing Infomap from source requires a working gcc or clang compiler.

To download and compile the newest version from Github, clone the repository by running

git clone [email protected]:mapequation/infomap.git
cd infomap
make

This creates the binary Infomap, run it using:

./Infomap [options] network_data destination

For a list of options, run:

./Infomap --help

Read the documentation to learn more about the different options.

Npm package

An experimental Javascript web worker is available on NPM.

To install it, run

npm install @mapequation/infomap

Feedback

If you have any questions, suggestions or issues regarding the software, please add them to GitHub issues.

Authors

Daniel Edler, Anton Eriksson, Martin Rosvall

For contact information, see mapequation.org/about.html.

Terms of use

Infomap is released under a dual licence.

To give everyone maximum freedom to make use of Infomap and derivative works, we make the code open source under the GNU Affero General Public License version 3 or any later version (see LICENSE_AGPLv3.txt).

For a non-copyleft license, please contact us.

Comments
  • A question about 'initial_partition' property.

    A question about 'initial_partition' property.

    Hi, I'm a little confused about the effect of initial_partition of infomap.

    I set the initial_partition for partial nodes folloing the example does in this link and it indeed improves the clustering performance.

    There is a note in that link, i.e. 'The initial partition is saved between runs. If you want to use an initial partition for one run only, use run(initial_partition=partition)'. In my understanding, if I set initial partition with im.initial_partition = {1: 0, 2:0}, the final module ID of node1 and node2 will be kept same, right?

    However, in my experiment, I found some module ID of nodes, which belongs to the same initial partition, are not same in the final results. For example, providing the initial partitions 1: 0, 2: 0, 3: 0, 4: 0, 5: 1, 6: 1, 7: 1 to im.initial_partition, the final module ID of 1, 2, 3 is 123, while the one of 4, 5 is 78 (different from 123). Of course, the frequency of such changing is not high.

    Did I take a wrong way to provide the initial partitions, which results in the inconsistency? Or, maybe the initial_partition property cannot guarantee that the partition does not change?

    opened by xiangyh9988 18
  • windows python pip install infomap error: failed building the wheel

    windows python pip install infomap error: failed building the wheel

    Hello! I am using a windows 10 machine and I am trying to build infomap for python. I used both anaconda and the windows sub machine for Ubuntu and I used the command "pip install infomap" and "pip install --upgrade infomap", both give me the exact same error : failed to build the wheel. I am not sure the reason why, I have gcc installed and made sure that it is in the system variable. Would you mind explaining why this happened? Thank you!!

    opened by hexie1995 9
  • Doesn't give communities with a weighted network.

    Doesn't give communities with a weighted network.

    Hi, I have a undirected, fully-connected, weighted network with 264 nodes. The edge weights represent weights (importance of links) and not the distance between nodes. I ran the algorithm, but it gives me 264 clusters even after 100 trials. I am attaching the adjacency matrix for your consideration. Can you pinpoint what the issue might be?

    averaged_matrix_weighted.csv.zip

    opened by isukrit 8
  • cpp example compiling error : ‘Infomap’ is not a member of ‘infomap’

    cpp example compiling error : ‘Infomap’ is not a member of ‘infomap’

    My OS is Ubuntu 18.04 The g++ and make version as below

    make --version
    GNU Make 4.1
    Built for x86_64-pc-linux-gnu
    
    g++ --version
    g++ (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
    

    I was trying to make cpp examples to work

    unzip infomap-1.9.0.zip
    cd infomap-1.9.0/examples/cpp/minimal
    make
    

    Make the static library

    make -C ../../.. lib
    make[1]: Entering directory '/home/jeff/Downloads/infomap-1.9.0'
    g++ -Wall -Wextra -Wno-unused-parameter -std=c++14 -O4 -fopenmp -DNS_INFOMAP -DAS_LIB -c src/io/version.cpp -o build/lib/io/version.o
    g++ -Wall -Wextra -Wno-unused-parameter -std=c++14 -O4 -fopenmp -DNS_INFOMAP -DAS_LIB -c src/io/ProgramInterface.cpp -o build/lib/io/ProgramInterface.o
    g++ -Wall -Wextra -Wno-unused-parameter -std=c++14 -O4 -fopenmp -DNS_INFOMAP -DAS_LIB -c src/io/Config.cpp -o build/lib/io/Config.o
    g++ -Wall -Wextra -Wno-unused-parameter -std=c++14 -O4 -fopenmp -DNS_INFOMAP -DAS_LIB -c src/io/Network.cpp -o build/lib/io/Network.o
    g++ -Wall -Wextra -Wno-unused-parameter -std=c++14 -O4 -fopenmp -DNS_INFOMAP -DAS_LIB -c src/Infomap.cpp -o build/lib/Infomap.o
    g++ -Wall -Wextra -Wno-unused-parameter -std=c++14 -O4 -fopenmp -DNS_INFOMAP -DAS_LIB -c src/core/InfomapIterator.cpp -o build/lib/core/InfomapIterator.o
    g++ -Wall -Wextra -Wno-unused-parameter -std=c++14 -O4 -fopenmp -DNS_INFOMAP -DAS_LIB -c src/core/ClusterMap.cpp -o build/lib/core/ClusterMap.o
    g++ -Wall -Wextra -Wno-unused-parameter -std=c++14 -O4 -fopenmp -DNS_INFOMAP -DAS_LIB -c src/core/MapEquation.cpp -o build/lib/core/MapEquation.o
    g++ -Wall -Wextra -Wno-unused-parameter -std=c++14 -O4 -fopenmp -DNS_INFOMAP -DAS_LIB -c src/core/InfomapBase.cpp -o build/lib/core/InfomapBase.o
    g++ -Wall -Wextra -Wno-unused-parameter -std=c++14 -O4 -fopenmp -DNS_INFOMAP -DAS_LIB -c src/core/MetaMapEquation.cpp -o build/lib/core/MetaMapEquation.o
    g++ -Wall -Wextra -Wno-unused-parameter -std=c++14 -O4 -fopenmp -DNS_INFOMAP -DAS_LIB -c src/core/BiasedMapEquation.cpp -o build/lib/core/BiasedMapEquation.o
    g++ -Wall -Wextra -Wno-unused-parameter -std=c++14 -O4 -fopenmp -DNS_INFOMAP -DAS_LIB -c src/core/MemMapEquation.cpp -o build/lib/core/MemMapEquation.o
    g++ -Wall -Wextra -Wno-unused-parameter -std=c++14 -O4 -fopenmp -DNS_INFOMAP -DAS_LIB -c src/core/StateNetwork.cpp -o build/lib/core/StateNetwork.o
    g++ -Wall -Wextra -Wno-unused-parameter -std=c++14 -O4 -fopenmp -DNS_INFOMAP -DAS_LIB -c src/core/InfoNode.cpp -o build/lib/core/InfoNode.o
    g++ -Wall -Wextra -Wno-unused-parameter -std=c++14 -O4 -fopenmp -DNS_INFOMAP -DAS_LIB -c src/utils/Log.cpp -o build/lib/utils/Log.o
    g++ -Wall -Wextra -Wno-unused-parameter -std=c++14 -O4 -fopenmp -DNS_INFOMAP -DAS_LIB -c src/utils/FileURI.cpp -o build/lib/utils/FileURI.o
    g++ -Wall -Wextra -Wno-unused-parameter -std=c++14 -O4 -fopenmp -DNS_INFOMAP -DAS_LIB -c src/utils/FlowCalculator.cpp -o build/lib/utils/FlowCalculator.o
    Creating static library...
    ar rcs lib/libInfomap.a build/lib/io/version.o build/lib/io/ProgramInterface.o build/lib/io/Config.o build/lib/io/Network.o build/lib/Infomap.o build/lib/core/InfomapIterator.o build/lib/core/ClusterMap.o build/lib/core/MapEquation.o build/lib/core/InfomapBase.o build/lib/core/MetaMapEquation.o build/lib/core/BiasedMapEquation.o build/lib/core/MemMapEquation.o build/lib/core/StateNetwork.o build/lib/core/InfoNode.o build/lib/utils/Log.o build/lib/utils/FileURI.o build/lib/utils/FlowCalculator.o Makefile
    Wrote static library to lib/ and headers to include/
    make[1]: Leaving directory '/home/jeff/Downloads/infomap-1.9.0'
    

    The building and error message as below

    g++ -Wall -O3 -std=c++14 -DNS_INFOMAP example.cpp -o example -I../../../include -L../../../lib -lInfomap
    In file included from ../../../include/core/InfomapCore.h:17:0,
                     from ../../../include/Infomap.h:13,
                     from example.cpp:28:
    ../../../include/core/InfomapOptimizer.h:749:0: warning: ignoring #pragma omp parallel [-Wunknown-pragmas]
     #pragma omp parallel for schedule(dynamic) // Use dynamic scheduling as some threads could end early
     
    ../../../include/core/InfomapOptimizer.h:899:0: warning: ignoring #pragma omp critical [-Wunknown-pragmas]
     #pragma omp critical(moveUpdate)
     
    example.cpp:30:29: error: variable or field ‘printClusters’ declared void
     void printClusters(infomap::Infomap& infomap)
                                 ^~~~~~~
    example.cpp:30:29: error: ‘Infomap’ is not a member of ‘infomap’
    example.cpp:30:29: note: suggested alternative: ‘InfomapRun’
     void printClusters(infomap::Infomap& infomap)
                                 ^~~~~~~
                                 InfomapRun
    example.cpp:30:45: error: expected primary-expression before ‘)’ token
     void printClusters(infomap::Infomap& infomap)
                                                 ^
    example.cpp: In function ‘int main(int, char**)’:
    example.cpp:45:11: error: ‘Infomap’ is not a member of ‘infomap’
      infomap::Infomap infomapWrapper("--two-level -N2");
               ^~~~~~~
    example.cpp:45:11: note: suggested alternative: ‘InfomapRun’
      infomap::Infomap infomapWrapper("--two-level -N2");
               ^~~~~~~
               InfomapRun
    example.cpp:47:18: error: ‘infomapWrapper’ was not declared in this scope
      auto& network = infomapWrapper.network();
                      ^~~~~~~~~~~~~~
    example.cpp:66:2: error: ‘printClusters’ was not declared in this scope
      printClusters(infomapWrapper);
      ^~~~~~~~~~~~~
    Makefile:10: recipe for target 'example' failed
    make: *** [example] Error 1
    
    build 
    opened by mikethreeacer 6
  • 'pip install infomap';  No module named 'package_meta'

    'pip install infomap'; No module named 'package_meta'

    Is the infomap package on PyPi built properly?

    Complete output (5 lines): Traceback (most recent call last): File "", line 1, in File "C:\Users\alexc\AppData\Local\Temp\pip-install-bw0bw2ol\infomap\setup.py", line 10, in import package_meta ModuleNotFoundError: No module named 'package_meta'

    opened by AlexChaloner 6
  • Conda release

    Conda release

    Hi,

    I'm using this package as a dependency to another one I have forked. I'm trying to build a conda release for it and being able to install infomap through conda would help me.

    I'll be attempting one myself but if others are keen, it would be extremely helpful.

    Thank you for any assistance you can provide,

    V

    python 
    opened by vinisalazar 6
  • Time complexity of v1/grassberger-jelena

    Time complexity of v1/grassberger-jelena

    Describe the bug I am curious to know if the time complexity of the v1/grassberger branches is to blame for the extremely long projected run times for larger graphs (>100k nodes, millions of edges).

    Using the master branch the graph in question is successfully clustered in around 30 minutes using 10 trials. However, for v1/grassberger-jelena, I aborted the clustering run after accruing 8 hours without the first trial being completed.

    This was for a undirected, weighted graph defined in link-list format. The graph is highly modular, with perhaps 300 communities which become increasing sparse as subject become less frequently observed. (microbial community data)

    I did not employ inner loop parallelization in either case.

    To Reproduce

    ./Infomap edges.in -v -u -z -i link-list out_dir

    Desktop (please complete the following information):

    • OS: Linux, kernel > 5.2 (Fedora or Ubuntu)
    • Version v1/grassberger-jelena
    • Compiler: Gcc >7
    opened by cerebis 6
  • addLink function missing from Infomap

    addLink function missing from Infomap

    hi - I am trying to use the pip installed version of the python package, but the code from the jupyter notebook doesn't seem to work. First, the initial import fails:

    In [6]: from infomap import infomap
       ...:
    ---------------------------------------------------------------------------
    ImportError                               Traceback (most recent call last)
    <ipython-input-6-0c8597e1552c> in <module>()
    ----> 1 from infomap import infomap
    
    ImportError: cannot import name 'infomap'
    
    

    However, it works with from infomap import Infomap

    The bigger problem is that the addLink function seems to be missing from Infomap:

    In [7]: infomapWrapper = infomap.Infomap("--two-level")
       ...:
       ...: # Add link weight as an optional third argument
       ...: infomapWrapper.addLink(0, 1)
       ...:
       ...:
    ---------------------------------------------------------------------------
    AttributeError                            Traceback (most recent call last)
    <ipython-input-7-3febb79f95d2> in <module>()
          2
          3 # Add link weight as an optional third argument
    ----> 4 infomapWrapper.addLink(0, 1)
    
    ~/anaconda3/envs/py3/lib/python3.6/site-packages/infomap.py in <lambda>(self, name)
       2834     for _s in [InfomapBase]:
       2835         __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
    -> 2836     __getattr__ = lambda self, name: _swig_getattr(self, Infomap, name)
       2837     __repr__ = _swig_repr
       2838
    
    ~/anaconda3/envs/py3/lib/python3.6/site-packages/infomap.py in _swig_getattr(self, class_type, name)
         78     if method:
         79         return method(self)
    ---> 80     raise AttributeError("'%s' object has no attribute '%s'" % (class_type.__name__, name))
         81
         82
    
    AttributeError: 'Infomap' object has no attribute 'addLink'
    

    This is also evident from a listing of the object attributes. Has the API changed for the wrapper?

    opened by poldrack 6
  • python3 can't install and return some error

    python3 can't install and return some error

    Hi, I download this tools and can make successful, But when I enter examples/python, and make some error come out,Here is the error: ./infomap_wrap.cpp:2452: error: ‘PyCObject_Import’ was not declared in this scope ./infomap_wrap.cpp: In function ‘void SWIG_Python_SetModule(swig_module_info*)’: ./infomap_wrap.cpp:2521: error: ‘PyCObject_FromVoidPtr’ was not declared in this scope ./infomap_wrap.cpp:2512: warning: unused variable ‘swig_empty_runtime_method_table’ ./infomap_wrap.cpp: In function ‘swig_type_info* SWIG_Python_TypeQuery(const char*)’: ./infomap_wrap.cpp:2544: error: ‘PyCObject_AsVoidPtr’ was not declared in this scope ./infomap_wrap.cpp:2549: error: ‘PyCObject_FromVoidPtr’ was not declared in this scope ./infomap_wrap.cpp: In function ‘std::vector<std::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::basic_string<char, std::char_traits, std::allocator > > >* std_vector_Sl_std_string_Sg____getitem____SWIG_0(std::vector<std::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::basic_string<char, std::char_traits, std::allocator > > >, PySliceObject)’: ./infomap_wrap.cpp:4462: error: cannot convert ‘PySliceObject*’ to ‘PyObject*’ for argument ‘1’ to ‘int PySlice_GetIndices(PyObject*, Py_ssize_t, Py_ssize_t*, Py_ssize_t*, Py_ssize_t*)’ ./infomap_wrap.cpp: In function ‘void std_vector_Sl_std_string_Sg____setitem____SWIG_0(std::vector<std::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::basic_string<char, std::char_traits, std::allocator > > >, PySliceObject, const std::vector<std::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::basic_string<char, std::char_traits, std::allocator > > >&)’: ./infomap_wrap.cpp:4471: error: cannot convert ‘PySliceObject*’ to ‘PyObject*’ for argument ‘1’ to ‘int PySlice_GetIndices(PyObject*, Py_ssize_t, Py_ssize_t*, Py_ssize_t*, Py_ssize_t*)’ ./infomap_wrap.cpp: In function ‘void std_vector_Sl_std_string_Sg____delitem____SWIG_1(std::vector<std::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::basic_string<char, std::char_traits, std::allocator > > >, PySliceObject)’: ./infomap_wrap.cpp:4480: error: cannot convert ‘PySliceObject*’ to ‘PyObject*’ for argument ‘1’ to ‘int PySlice_GetIndices(PyObject*, Py_ssize_t, Py_ssize_t*, Py_ssize_t*, Py_ssize_t*)’ ./infomap_wrap.cpp: In function ‘std::deque<unsigned int, std::allocator >* std_deque_Sl_unsigned_SS_int_Sg____getitem____SWIG_0(std::deque<unsigned int, std::allocator >, PySliceObject)’: ./infomap_wrap.cpp:5026: error: cannot convert ‘PySliceObject*’ to ‘PyObject*’ for argument ‘1’ to ‘int PySlice_GetIndices(PyObject*, Py_ssize_t, Py_ssize_t*, Py_ssize_t*, Py_ssize_t*)’ ./infomap_wrap.cpp: In function ‘void std_deque_Sl_unsigned_SS_int_Sg____setitem____SWIG_0(std::deque<unsigned int, std::allocator >, PySliceObject, const std::deque<unsigned int, std::allocator >&)’: ./infomap_wrap.cpp:5035: error: cannot convert ‘PySliceObject*’ to ‘PyObject*’ for argument ‘1’ to ‘int PySlice_GetIndices(PyObject*, Py_ssize_t, Py_ssize_t*, Py_ssize_t*, Py_ssize_t*)’ ./infomap_wrap.cpp: In function ‘void std_deque_Sl_unsigned_SS_int_Sg____delitem____SWIG_1(std::deque<unsigned int, std::allocator >, PySliceObject)’: ./infomap_wrap.cpp:5044: error: cannot convert ‘PySliceObject*’ to ‘PyObject*’ for argument ‘1’ to ‘int PySlice_GetIndices(PyObject*, Py_ssize_t, Py_ssize_t*, Py_ssize_t*, Py_ssize_t*)’ error: command 'gcc' failed with exit status 1 make[1]: *** [python] Error 1 make[1]: Leaving directory `/usr/local/infomap' My computer is centos, python version is 3.5.1, gcc 4.4.6, how to solve this problem?Thanks very much

    opened by XiaoXiao2015 6
  • Segmentation fault when running (Python examples) with overlapping option.

    Segmentation fault when running (Python examples) with overlapping option.

    Hi,

    I've been messing around with examples in Python and managed to cause seg-fault. When running default example for NetworkX (example-networkx.py) but with --overlapping option this happens:

    =======================================================
      Infomap v0.19.0 starts at [2017-06-10 16:00:52]
      -> Configuration: overlapping
                        two-level
      -> Use undirected flow and 2nd order Markov dynamics
    =======================================================
    Building Infomap network from a NetworkX graph...
    Find communities with Infomap...
    Finalizing network...
    Segmentation fault (core dumped)
    

    My GCC version: gcc (Ubuntu 6.2.0-5ubuntu12) 6.2.0 20161005

    Cheers!

    opened by IwoHerka 6
  • Poor performance using the Southern women bipartite network

    Poor performance using the Southern women bipartite network

    Good morning. I'm trying to run infomap on the online version. Since I didn't know how to get results with my work data, I have started with the well known and documented example of the "southern women".I intend to find clusters in this example and then move it into my own data, but I haven't managed to do so yet. I have created the example data of the sw.txt file to copy it to https://www.mapequation.org/infomap/ and I run it with all kind of parameters, for example -i bipartite --ftree --clu , but I have not achieved the expected result, which according to several consulted papers should be something similar to the attached sw.jgp file. I'm sure that something is wrong with the infomap execution process, but I can't find it, if you would be so kind to give me some clue of what is wrong I would be very grateful. Thank you very much in advance for your answers.

    sw

    sw.txt

    opened by nicnaorgarcia 5
  • Wrong codelength calculation with recorded teleportation if no optimization

    Wrong codelength calculation with recorded teleportation if no optimization

    Replicate in python:

    edges = [
        [1,2],
        [2,3],
        [3,1],
        [3,4],
        [4,5],
        [5,6],
        [6,4],
    ]
    G = nx.DiGraph()
    G.add_edges_from(edges)
    py.find_communities(G, recorded_teleportation=True, num_trials=1) # gives index codelength 0.102
    py.find_communities(G, recorded_teleportation=True, num_trials=2) # gives index codelength 0.251
    
    bug algorithm 
    opened by danieledler 0
  • Macos M1 OpenMP installation problem

    Macos M1 OpenMP installation problem

    My aim is to run the following command from Matlab. [failed, message] = system([infomapfolder '/Infomap-2.6.0/Infomap --clu -2 -s' num2str(randnum) ' -N' num2str(reps) ' ' pajekfilename ' ' pathstr]);

    I am working on MacOS (M1 processor...) and I have been able to successfully install infomap with pip install infomap as signalled by the messages on the terminalInstallling collected packages: infomap and Successfully installed infomap-2.6.0

    However, I am unable to import the package and I get this message:

    ---------------------------------------------------------------------------
    ImportError                               Traceback (most recent call last)
    Input In [1], in <cell line: 1>()
    ----> 1 import infomap
    
    File ~/opt/anaconda3/lib/python3.9/site-packages/infomap.py:38, in <module>
         36     from . import _infomap
         37 else:
    ---> 38     import _infomap
         40 try:
         41     import builtins as __builtin__
    
    ImportError: dlopen(/Users/matilde/opt/anaconda3/lib/python3.9/site-packages/_infomap.cpython-39-darwin.so, 0x0002): Library not loaded: /usr/local/opt/libomp/lib/libomp.dylib
      Referenced from: /Users/matilde/opt/anaconda3/lib/python3.9/site-packages/_infomap.cpython-39-darwin.so
      Reason: tried: '/usr/local/opt/libomp/lib/libomp.dylib' (no such file), '/usr/local/lib/libomp.dylib' (no such file), '/usr/lib/libomp.dylib' (no such file)
    

    If the infomap was correctly installed, I could use pyrunfile from Matlab in order to run infomap.

    I am able to import infomap when working on an old Mac. Hence, I strongly suspect the problem is related to M1 and I would welcome any advice on possible ways forward.

    I tried as an alternative to compile from source with the following (always considering that I am on macOS Monterey, version 12.2.1)

    git clone [email protected]:mapequation/infomap.git
    cd infomap
    make
    

    However, I get an error here as well as

    c++ -Wall -Wextra -pedantic -Wnon-virtual-dtor -std=c++14 -Wshadow -O3 -Xpreprocessor -fopenmp -c src/core/MetaMapEquation.cpp -o build/Infomap/core/MetaMapEquation.o
    c++ -Wall -Wextra -pedantic -Wnon-virtual-dtor -std=c++14 -Wshadow -O3 -Xpreprocessor -fopenmp -c src/core/MemMapEquation.cpp -o build/Infomap/core/MemMapEquation.o
    c++ -Wall -Wextra -pedantic -Wnon-virtual-dtor -std=c++14 -Wshadow -O3 -Xpreprocessor -fopenmp -c src/core/InfoEdge.cpp -o build/Infomap/core/InfoEdge.o
    c++ -Wall -Wextra -pedantic -Wnon-virtual-dtor -std=c++14 -Wshadow -O3 -Xpreprocessor -fopenmp -c src/core/BiasedMapEquation.cpp -o build/Infomap/core/BiasedMapEquation.o
    c++ -Wall -Wextra -pedantic -Wnon-virtual-dtor -std=c++14 -Wshadow -O3 -Xpreprocessor -fopenmp -c src/core/StateNetwork.cpp -o build/Infomap/core/StateNetwork.o
    c++ -Wall -Wextra -pedantic -Wnon-virtual-dtor -std=c++14 -Wshadow -O3 -Xpreprocessor -fopenmp -c src/core/iterators/InfomapIterator.cpp -o build/Infomap/core/iterators/InfomapIterator.o
    c++ -Wall -Wextra -pedantic -Wnon-virtual-dtor -std=c++14 -Wshadow -O3 -Xpreprocessor -fopenmp -c src/core/InfomapBase.cpp -o build/Infomap/core/InfomapBase.o
    src/core/InfomapBase.cpp:35:10: fatal error: 'omp.h' file not found
    #include <omp.h>
             ^~~~~~~
    1 error generated.
    make: *** [build/Infomap/core/InfomapBase.o] Error 1
    

    Thank you, Matilde

    python build macos 
    opened by MatildeVaghi 13
  • Initial partition is consolidated without optimization on first level

    Initial partition is consolidated without optimization on first level

    Running -T1 -L 1 with --cluster-data doesn't run any optimization.

    Unless --no-infomap, continue with optimization after initial partition before consolidation of first level.

    bug algorithm 
    opened by danieledler 0
Releases(v2.6.1)
:computer: Data Structures and Algorithms in Python

Algorithms in Python Implementations of a few algorithms and datastructures for fun and profit! Completed Karatsuba Multiplication Basic Sorting Rabin

Prakhar Srivastav 2.9k Jan 01, 2023
A calculator to test numbers against the collatz conjecture

The Collatz Calculator This is an algorithm custom built by Kyle Dickey, used to test numbers against the simple rules of the Collatz Conjecture. Get

Kyle Dickey 2 Jun 14, 2022
Algoritmos de busca:

Algoritmos-de-Buscas Algoritmos de busca: Abaixo está a interface da aplicação: Ao selecionar o tipo de busca e o caminho, então será realizado o cálc

Elielson Barbosa 5 Oct 04, 2021
Using Bayesian, KNN, Logistic Regression to classify spam and non-spam.

Make Sure the dataset file "spamData.mat" is in the folder spam\src Environment: Python --version = 3.7 Third Party: numpy, matplotlib, math, scipy

0 Dec 26, 2021
RRT algorithm and its optimization

RRT-Algorithm-Visualisation This is a project that aims to develop upon the RRT

Sarannya Bhattacharya 7 Mar 06, 2022
Implementation of an ordered dithering algorithm used in computer graphics

Ordered Dithering Project In this project, we use an ordered dithering method to turn an RGB image, first to a gray scale image and then, turn the gra

1 Oct 26, 2021
This project consists of a collaborative filtering algorithm to predict movie reviews ratings from a dataset of Netflix ratings.

Collaborative Filtering - Netflix movie reviews Description This project consists of a collaborative filtering algorithm to predict movie reviews rati

Shashank Kumar 1 Dec 21, 2021
Programming Foundations Algorithms With Python

Programming-Foundations-Algorithms Algorithms purpose to solve a specific proplem with a sequential sets of steps for instance : if you need to add di

omar nafea 1 Nov 01, 2021
A* (with 2 heuristic functions), BFS , DFS and DFS iterativeA* (with 2 heuristic functions), BFS , DFS and DFS iterative

Descpritpion This project solves the Taquin game (jeu de taquin) problem using different algorithms : A* (with 2 heuristic functions), BFS , DFS and D

Ayari Ahmed 3 May 09, 2022
Distributed algorithms, reimplemented for fun and practice

Distributed Algorithms Playground for reimplementing and experimenting with algorithms for distributed computing. Usage Running the code for Ring-AllR

Mahan Tourkaman 1 Oct 16, 2022
A collection of Python Scripts made for fun, while exploring Python 🐍

JFF-Python-Scripts A collection of Python Scripts made for fun, while exploring Python 🐍 Inspiration 💡 Many of the programs in this repository are i

Pushkar Patel 16 Oct 07, 2022
Algorithms written in different programming languages

Data Structures and Algorithms Clean example implementations of data structures and algorithms written in different languages. List of implementations

Zoran Pandovski 1.3k Jan 03, 2023
A simple python implementation of A* and bfs algorithm solving Eight-Puzzle

A simple python implementation of A* and bfs algorithm solving Eight-Puzzle

2 May 22, 2022
🧬 Performant Evolutionary Algorithms For Python with Ray support

🧬 Performant Evolutionary Algorithms For Python with Ray support

Nathan 49 Oct 20, 2022
HashDB is a community-sourced library of hashing algorithms used in malware.

HashDB HashDB is a community-sourced library of hashing algorithms used in malware. How To Use HashDB HashDB can be used as a stand alone hashing libr

OALabs 216 Jan 06, 2023
Using A * search algorithm and GBFS search algorithm to solve the Romanian problem

Romanian-problem-using-Astar-and-GBFS Using A * search algorithm and GBFS search algorithm to solve the Romanian problem Romanian problem: The agent i

Mahdi Hassanzadeh 6 Nov 22, 2022
A priority of preferences for teacher assignment problem

Genetic-Algorithm-for-Assignment-Problem A priority of preferences for teacher assignment problem Keywords k-partition; clustering; education 4.0 Abst

hades 2 Oct 31, 2022
zoofs is a Python library for performing feature selection using an variety of nature inspired wrapper algorithms. The algorithms range from swarm-intelligence to physics based to Evolutionary. It's easy to use ,flexible and powerful tool to reduce your feature size.

zoofs is a Python library for performing feature selection using a variety of nature-inspired wrapper algorithms. The algorithms range from swarm-intelligence to physics-based to Evolutionary. It's e

Jaswinder Singh 168 Dec 30, 2022
PathPlanning - Common used path planning algorithms with animations.

Overview This repository implements some common path planning algorithms used in robotics, including Search-based algorithms and Sampling-based algori

Huiming Zhou 5.1k Jan 08, 2023