Reticula is a general-purpose complex network analysis tool, supporting static networks as well as hypergraphs, temporal networks. It allows you to study randomise networks, calculate static or temporal network reachability and form event graphs.
Reticula (singular: reticulum) is a word with Latin origin meaning networks or network-like (i.e., reticulate) structures.
The documentation is available at reticula.network
Reticula relies heavily on certain C++20 features, such as concepts and ranges. If you intend on using Reticula in your project, you need a compiler with decent support of C++20 features.
You can use FetchContent to include Reticula in your C++ project. For example:
include(FetchContent)
FetchContent_Declare(
reticula
GIT_REPOSITORY https://github.com/reticula-network/reticula.git
GIT_TAG ${COMMIT_HASH})
FetchContent_MakeAvailable(reticula)
If you want to fetch other content using CMake FetchContent module, you can
include those in FetchContent_MakeAvailable
call or call this function
separately for each content.
Finally, link your target and Reticula like this:
target_link_libraries(${TARGET_NAME} PRIVATE reticula)
Clone the library:
$ git clone https://github.com/reticula-network/reticula.git
Compile and run the tests:
$ cd reticula
$ mkdir build
$ cd build
$ cmake ..
$ cmake --build . --target reticula_tests
$ ./reticula_tests