We have made the following (breaking) changes:
SimpleGraph
has been renamedUndirectedGraph
.SimpleDigraph
has been renamedDirectedGraph
.SimpleHypergraph
has been renamedHyperGraph
(note the captial G).
These may be abbreviated as UG
, DG
, and HG
, respectively
These changes were made to help this SimpleGraphs
module be interoperable with Julia's Graphs
module that defines the type SimpleGraph
(formerly Graph
in the LightGraphs
module).
Conversion between these two types (UndirectedGraph
in this module and SimpleGraph
in the Graphs
module) is supported; see the file graph_converter.jl
in the extras
directory.
This module defines three data types for working with graphs:
- The
UndirectedGraph
type represents undirected graphs without loops or multiple edges. - The
DirectedGraph
type represents directed graphs in which there may be at most one directed edge(u,v)
from a vertexu
to a vertexv
. There may also be a directed edge in the opposite direction,(v,u)
. - The
HyperGraph
type representing hypergraphs in which edges may be any subset of the vertex set.
Additional functionality can be found in these modules:
DrawSimpleGraphs
for visualization.SimpleGraphAlgorithms
for functions relying on [integer] linear programming.
In addition, we have:
- A nascent
SimplePlanarGraphs
module with extremely limited functionality. - An older
SimpleGraphRepresentations
module that I am not currently maintaining.
Please see the Wiki for
extensive information pertaining to the UndirectedGraph
type.
The DirectedGraph
type is not so well developed nor documented. See the
source files in the src
directory. Likewise, documentation and support for the HyperGraph
type is limited.
The extras
directory contains some additional functionality that may be
useful. See the README
file therein.
This software is part of a larger suite of tools for graph theory. More information can be found right after my explanation that this code is postcardware.
Thank you to JHU students Tara Abrishami and Laura Bao for contributions to this project.
This is a work in process with a lot of more features that can/should be added. If you're interested in contributing, please contact me. I'm especially interested in JHU undergraduates getting involved.
Ed Scheinerman (ers@jhu.edu)