hypergraph

Crates.iohypergraph
lib.rshypergraph
version
sourcesrc
created_at2020-11-03 22:51:55.419172
updated_at2024-11-19 10:41:29.812205
descriptionHypergraph is data structure library to create a directed hypergraph in which an hyperedge can join any number of vertices.
homepage
repositoryhttps://github.com/yamafaktory/hypergraph
max_upload_size
id308467
Cargo.toml error:TOML parse error at line 24, column 1 | 24 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include`
size0
Davy Duperron (yamafaktory)

documentation

README

graph


GitHub Workflow Status Crates.io docs.rs

Hypergraph is a data structure library to generate directed hypergraphs.

A hypergraph is a generalization of a graph in which a hyperedge can join any number of vertices.

📣 Goal

This library aims at providing the necessary methods for modeling complex, multiway (non-pairwise) relational data found in complex networks. One of the main advantages of using a hypergraph model over a graph one is to provide a more flexible and natural framework to represent entities and their relationships (e.g. Alice uses some social network, shares some data to Bob, who shares it to Carol, etc).

🎁 Features

This library enables you to represent:

  • non-simple hypergraphs with two or more hyperedges - with different weights - containing the exact same set of vertices
  • self-loops - i.e., hyperedges containing vertices directed to themselves one or more times
  • unaries - i.e., hyperedges containing a unique vertex

⚗️ Implementation

  • 100% safe Rust
  • Proper error handling
  • Stable indexes assigned for each hyperedge and each vertex
  • Parallelism (with Rayon)

🛠️ Installation

Add this to your Cargo.toml (replace current_version with the latest version of the library):

[dependencies]
hypergraph = "curent_version"

⚡️ Usage

Please read the documentation to get started.

Commit count: 105

cargo fmt