# tred - Man Page

transitive reduction filter for directed graphs

## Examples (TL;DR)

- Construct the transitive reduction graph of one or more directed graphs:
`tred`

`path/to/input1.gv``path/to/input2.gv ...`>`path/to/output.gv` - Display help:
`tred -?`

## Synopsis

## Description

**tred** computes the transitive reduction of directed graphs, and prints the resulting graphs to standard output. This removes edges implied by transitivity. Nodes and subgraphs are not otherwise affected. The “meaning” and validity of the reduced graphs is application dependent. **tred** is particularly useful as a preprocessor to *dot* to reduce clutter in dense layouts.

Undirected graphs are silently ignored.

## Options

The following options are supported:

- -v
Verbose output to stderr.

- -r
Print information of removed edges to stderr.

- -?
Print usage information.

## Operands

The following operand is supported:

*files*Names of files containing 1 or more graphs in dot format. If no

*files*operand is specified, the standard input will be used.

## Bugs

Using bitmaps internally would substantially decrease running time.

## Diagnostics

If a graph has cycles, its transitive reduction is not uniquely defined. In this case *tred* emits a warning.

## Authors

Stephen C. North <north@research.att.com>

Emden R. Gansner <erg@research.att.com>

## See Also

gc(1), dot(1), acyclic(1), gvpr(1), gvcolor(1), ccomps(1), sccmap(1), libgraph(3)

## Referenced By

acyclic(1), bcomps(1), ccomps(1), gc(1), gvcolor(1), gvgen(1), nop(1), sccmap(1), unflatten(1).