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
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
A tictactoe where you never win, implemented using minimax algorithm

Unbeatable_TicTacToe A tictactoe where you never win, implemented using minimax algorithm Requirements Make sure you have the pygame module along with

Jessica Jolly 3 Jul 28, 2022
Esse repositório tem como finalidade expor os trabalhos feitos para disciplina de Algoritmos computacionais e estruturais do CEFET-RJ no ano letivo de 2021.

Exercícios de Python 🐍 Esse repositório tem como finalidade expor os trabalhos feitos para disciplina de Algoritmos computacionais e estruturais do C

Rafaela Bezerra de Figueiredo 1 Nov 20, 2021
Evol is clear dsl for composable evolutionary algorithms that optimised for joy.

Evol is clear dsl for composable evolutionary algorithms that optimised for joy. Installation We currently support python3.6 and python3.7 and you can

GoDataDriven 178 Dec 27, 2022
FLIght SCheduling OPTimization - a simple optimization library for flight scheduling and related problems in the discrete domain

Fliscopt FLIght SCheduling OPTimization 🛫 or fliscopt is a simple optimization library for flight scheduling and related problems in the discrete dom

33 Dec 17, 2022
Policy Gradient Algorithms (One Step Actor Critic & PPO) from scratch using Numpy

Policy Gradient Algorithms From Scratch (NumPy) This repository showcases two policy gradient algorithms (One Step Actor Critic and Proximal Policy Op

1 Jan 17, 2022
This is a Python implementation of the HMRF algorithm on networks with categorial variables.

Salad Salad is an Open Source Python library to segment tissues into different biologically relevant regions based on Hidden Markov Random Fields. The

1 Nov 16, 2021
There are some basic arithmatic in Pattern Recognization and Machine Learning writed in Python in this repository

There are some basic arithmatic in Pattern Recognization and Machine Learning writed in Python in this repository

1 Nov 19, 2021
This repository provides some codes to demonstrate several variants of Markov-Chain-Monte-Carlo (MCMC) Algorithms.

Demo-of-MCMC These files are based on the class materials of AEROSP 567 taught by Prof. Alex Gorodetsky at University of Michigan. Author: Hung-Hsiang

Sean 1 Feb 05, 2022
With this algorithm you can see all best positions for a Team.

Best Positions Imagine that you have a favorite team, and you want to know until wich position your team can reach With this algorithm you can see all

darlyn 4 Jan 28, 2022
Silver Trading Algorithm

Silver Trading Algorithm This project was done in the context of the Applied Algorithm Trading Course (FINM 35910) at the University of Chicago. Motiv

Laurent Lanteigne 1 Jan 29, 2022
All algorithms implemented in Python for education

The Algorithms - Python All algorithms implemented in Python - for education Implementations are for learning purposes only. As they may be less effic

1 Oct 20, 2021
Genetic algorithm which evolves aoe2 DE ai scripts

AlphaScripter Use the power of genetic algorithms to evolve AI scripts for Age of Empires II : Definitive Edition. For now this package runs in AOC Us

6 Nov 04, 2022
marching Squares algorithm in python with clean code.

Marching Squares marching Squares algorithm in python with clean code. Tools Python 3 EasyDraw Creators Mohammad Dori Run the Code Installation Requir

Mohammad Dori 3 Jul 15, 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
A custom prime algorithm, implementation, and performance code & review

Colander A custom prime algorithm, implementation, and performance code & review Pseudocode Algorithm 1. given a number of primes to find, the followi

Finn Lancaster 3 Dec 17, 2021
Nature-inspired algorithms are a very popular tool for solving optimization problems.

Nature-inspired algorithms are a very popular tool for solving optimization problems. Numerous variants of nature-inspired algorithms have been develo

NiaOrg 215 Dec 28, 2022
implementation of the KNN algorithm on crab biometrics dataset for CS16

crab-knn implementation of the KNN algorithm in Python applied to biometrics data of purple rock crabs (leptograpsus variegatus) to classify the sex o

Andrew W. Chen 1 Nov 18, 2021
Fedlearn algorithm toolkit for researchers

Fedlearn algorithm toolkit for researchers

89 Nov 14, 2022