Some nice graph/group theory tools.
Two cabal projects are included: the tools themselves (CayleyOps) and output
functions and executables (GraphOut). Also includes a Python file
(compute_spectrum.py) for running eigenvalue algorithms on files composed
of edge lists.
While there are executables included in the builds, I intended it mainly to be some study tools to be used from the GHCi REPL.
This package is composed of the following modules:
- Cayley
- Cayley.Algebra
- Cayley.Matrix
- Cayley.Graph
- Cayley.Symmetric
- Cayley.GraphAlg
- Cayley.Examples
Abstract algebra types and manipulations. Supports finite groups and rings (over a numeric type) with fully-generic multiplications, specified by Cayley table.
Matrix operations pertinent to Graph theory, particularly direct sums, tensor products, and box products.
Various graph manipulations based on Data.Graph. Includes adjacency matrix
and edge list conversions, medial graphs, partitioning nodes by radii from a
particular node, weak vs. strong regularity testing.
Definitions and tools useful in building groups out of permutations, particularly symmetric group of a certain order.
Graph- and group-theoretical operations, like Cayley graph generation. Can also build probability (fusion?) algebras from graphs, where the elements of the algebra are steps on the graph of a particular size.
Some example graph families and graphs. Includes complete graphs, paths, cycles, wheels, and skeleta of Platonic solids.
This package is composed of the following modules:
- Cayley.SymOut
- PythonNX
Various file-writing capabilities for both edge lists and adjacency matrices.
Tools for launching a Python REPL from Haskell. These scripts depend on
NetworkX and compute_spectrum.py. Move the latter file around if it's not
found by cabal repl.