https://github.com/alphal00p/linnet

https://github.com/alphal00p/linnet

Science Score: 49.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.5%) to scientific vocabulary
Last synced: 8 months ago · JSON representation

Repository

Basic Info
  • Host: GitHub
  • Owner: alphal00p
  • Language: Rust
  • Default Branch: main
  • Size: 977 KB
Statistics
  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • Open Issues: 1
  • Releases: 21
Created over 1 year ago · Last pushed 8 months ago
Metadata Files
Readme Changelog

README.md

crates.io DOI

Linnet

Linnet is a graph library, specifically designed and developed to represent tensor networks and Feynman diagrams as used in projects like gammaloop and spenso.

The choice of a half-edge data structure is central to Linnet's design. This structure is exceptionally well-suited for these applications because it intrinsically supports the definition and manipulation of subgraphs that can be cleanly and efficiently "split" along edges (so that node degree is preserved).

All of the graph algorithms, iterators and graph manipulations operate at the level of subgraphs (which can also be the whole graph).

Key Features

  • Efficient Half-Edge Data Structure: Utilizes a half-edge representation, enabling efficient graph traversal, easy graph modifications like:
    • node identification
    • subgraph excision (splitting graphs in two)
    • graph joining along sewn along half edges
    • edge contraction
  • Subgraph Manipulation: Provides capabilities for defining, extracting, and analyzing various types of subgraphs, such as those induced by node properties, connectivity patterns (e.g., cycles, biconnected components), or graph cuts.
  • Graph Drawing & Visualization: Includes functionalities for generating visual representations of graphs. Provides graph layouting based on simulated annealing of pseudo spring forces.
  • Dot Parsing Integrates dot-parser curtesy of Martin Vassor integrated in a macro.

Getting Started

To start using Linnet in your Rust project, add it as a dependency in your Cargo.toml:

toml [dependencies] linnet = "0.6.2"

Acknowledgement

This crate was written by Lucien Huber

Owner

  • Name: alphaLoop
  • Login: alphal00p
  • Kind: organization
  • Email: valentin.hirschi@gmail.com
  • Location: Switzerland

Projects relating to Local Unitarity

GitHub Events

Total
  • Release event: 11
  • Watch event: 1
  • Delete event: 21
  • Push event: 157
  • Pull request event: 30
  • Create event: 52
Last Year
  • Release event: 11
  • Watch event: 1
  • Delete event: 21
  • Push event: 157
  • Pull request event: 30
  • Create event: 52

Dependencies

Cargo.lock cargo
  • 103 dependencies
Cargo.toml cargo