graphinvariants.jl

A Julia package for computing graph invariants

https://github.com/somacdivad/graphinvariants.jl

Science Score: 18.0%

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

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.3%) to scientific vocabulary
Last synced: 10 months ago · JSON representation ·

Repository

A Julia package for computing graph invariants

Basic Info
  • Host: GitHub
  • Owner: somacdivad
  • License: mit
  • Language: Julia
  • Default Branch: main
  • Size: 135 KB
Statistics
  • Stars: 9
  • Watchers: 2
  • Forks: 0
  • Open Issues: 8
  • Releases: 0
Created almost 4 years ago · Last pushed over 2 years ago
Metadata Files
Readme License Citation

README.md

GraphInvariants.jl

Dev Build Status Coverage Code Style: Blue ColPrac: Contributor's Guide on Collaborative Practices for Community Packages <!-- PkgEval -->

Overview

The goal of GraphInvariants.jl is to provide a wide range of functions for computing invariants on graphs, and is inspired by the GrinPy Python library.

GraphInvariants.jl computes invariants for any graph type that implements the Graphs.jl AbstractGraph interface.

Installation

Currently, GraphInvariants.jl is not a registered Julia package, but can be installed from this repository's URL:

julia-repl pkg> add https://github.com/somacdivad/GraphInvariants.jl

We plan to register GraphInvariants.jl as soon as version 0.1.0 is released.

Basic use

To compute an invariant, pass an AbstractGraph object to the invariant's function. For instance, the following code creates a cycle graph on five vertices and computes its independence number:

```julia-repl julia> using Graphs

julia> using GraphInvariants

julia> g = cycle_graph(5) {5, 5} undirected simple Int64 graph

julia> independence_number(g) 2 ```

Documentation

The full documentation is a work in progress, but is available on GitHub Pages. You can also access documentation for methods using Julia's help system.

Project Status

This project is still in its early stages. We plan to implement the following invariants for the version 0.1.0 release:

  • [ ] Chromatic number
  • [x] Clique number
  • [x] Independence number
  • [ ] Domination number
  • [ ] Total domination number
  • [ ] Connected domination number
  • [ ] Independent domination number
  • [ ] Matching number

More invariants will be added in later versions, including:

  • Zero forcing number
  • Topological indices, like the Randić and Zagreb indices
  • Residue
  • And more...

Owner

  • Name: David Amos
  • Login: somacdivad
  • Kind: user
  • Location: Houston, TX
  • Company: RelationalAI

Python, Julia, Graphs. Technical writer @RelationalAI.

Citation (CITATION.bib)

@misc{GraphInvariants.jl,
	author  = {David Amos <somacdivad@gmail.com> and contributors},
	title   = {GraphInvariants.jl},
	url     = {https://github.com/somacdivad/GraphInvariants.jl},
	version = {v0.1.0},
	year    = {2022},
	month   = {8}
}

GitHub Events

Total
Last Year