# Obtaining directed graphs associated to matrices

Let $M$ be an $n \times n$-matrix with entries only 0 or 1 and all diagonal entries equal to 1. (usually $M$ is upper triangular) Let $R$ be the same matrix as $M$ but with all diagonal entries set to zero. Let $U=(u_{i,j})$ be the matrix with 1 as an entry if $R^2$ (the matrix product of $R$ with itself) has a non-zero entry in the same position and let $U$ have 0 in this entry if $R^2$ has 0 as an entry in this position. Let $C=(c_{i,j})$ be the matrix $R-U$. Let $G_M$ be the directed graph with $n$ vertices and there is an arrow from $i$ to $j$ if and only if $c_{i,j}$ is 1.

For example when $M$ is the matrix with rows $[1,1,1],[0,1,1],[0,0,1]$ then the graph $G_M$ has 3 vertices with an arrow from 1 to 2 and an arrow from 2 to 3.

My question is whether there is a quick method to obtain all such 0-1 matrices with Sage for a given $n$ and the associated graph $G_M$ displayed as a picture (and as a graph in sage).

In your example, R^2 will have a single nonzero entry, in entry (1, 3). So why does $G_M$ have two arrows?

Thank you for your comment. I forgot that the graph is defined via the matrix $R-U$ instead of $U$. I hope it it correct now.