superflow/README.md
2025-03-31 13:25:04 +02:00

1.3 KiB

Superflow

To compile, simply run make.

The ./tools/ directory contains two python scripts with which we can transform the output of ./superflow to the DOT language for graph visualization. The require the NumPy package.

Usage

Usage: ./superflow [-o | -d] Reads adjacency vector of a simple digraph from stdin, and -o [o]utputs the superflow to stdout, -d [d]ecides if the superflow has nontrivial leafs.

All adjacency vectors are encoded as follows. An entry 1 in coordinate (u,v) denotes the presence of the arc u<-v. An entry 0 at said coordinate, denotes the absence of the arc u<-v. The coordinates are ordered lexicographically, with the entries (u,u) missing.

When using the -o option, the output as follows: <vertex lables of causal structure 0>:<adjacency vector 0> <vertex labels of causal structure 1>:<adjacency vector 1> ... :

When using the -d option, the output is informative. Additionally, the return code is 0 if all leafs are trivial, and 1 otherwise.

LIMITATION: The input graph has at most 9 vertices.