Go to main content

man pages section 1: User Commands

Exit Print View

Updated: Wednesday, July 27, 2022

mm2gv (1)


mm2gv - DOT converters


mm2gv [ -cluv?  ] [ -Ui ] [ -ooutfile ] [ file ]


MM2GV(1)                    General Commands Manual                   MM2GV(1)

delim $$

       mm2gv - Matrix Market-DOT converters

       mm2gv [ -cluv?  ] [ -Ui ] [ -ooutfile ] [ file ]

       mm2gv  converts  a sparse matrix of the Matrix Market format to a graph
       in the GV (formerly DOT) format.  If the matrix M is  not  square,  the
       graph  is  considered bipartite and the matrix is viewed as a bipartite
       graph adjacency matrix, with the rows and columns of the matrix  speci-
       fying  the  two sets of vertices. Equivalently, the matrix is converted
       into a symmetric square matrix

           0       M
       $M sup T$   0
       a block matrix with square blocks of 0's in the upper  left  and  lower
       right, the upper right block being M and the lower left block being the
       transpose of M.  This matrix is then viewed as the adjacency matrix  of
       the graph.

       For  a  square matrix, mm2gv uses it directly as an adjacency matrix if
       its pattern of non-zero entries is symmetric; otherwise, it will  treat
       it  as  a bipartite graph as with the case of non-square matrices. This
       behavior can be modified by the -U flag.

       The following options are supported:

       -c     This flag causes mm2gv to assign colors to the edges. The matrix
              element  is scaled to the range [0,1] depending on where it lies
              between the minimum and maximum set matrix values.  This  scaled
              value  is  used as the "wt" attribute of the corresponding edge.
              In addition, this scalar value is mapped to an RGB value,  which
              is stored as the edge "color".

       -l     If  set, mm2gv attaches a label to the graph indicating the base
              name of the input file, and the number of nodes and edges.

       -u     If specified, the graph is assumed to be undirected. By default,
              the graph generated is directed.

       -v     This  flag  causes mm2gv to store the matrix values as the "len"
              attribute of the corresponding edge.

              Specifies how square matrices are handled.  If  bflag  is  0,  a
              square matrix will always be treated as an adjacency matrix.  If
              bflag is 1 (the default), a square matrix with a symmetric  pat-
              tern  of  non-zero  entries will be used as an adjacency matrix;
              otherwise, it will be used a bipartite graph.  If bflag is 2,  a
              symmetric matrix will be used as an adjacency matrix; otherwise,
              it will be used a bipartite graph.  If bflag  is  3,  any  input
              matrix will be treated like a bipartite graph.

              Prints output to the file outfile. If not given, mm2gv uses std-

              The following operand is supported:

       file    Name of the file in MatrixMarket format.  If no file operand is
               specified, the standard input will be used.

       Return  0  if there were no problems during conversion; and non-zero if
       any error occurred.

       Yifan Hu <yifanhu@yahoo.com>
       Emden R. Gansner <erg@graphviz.com>

       See http://math.nist.gov/MatrixMarket/ for description  of  the  format
       and  http://www.cise.ufl.edu/research/sparse/matrices/ for a large col-
       lection of sparse matrices in this format.

       See attributes(7) for descriptions of the following attributes:

       |Availability   | image/graphviz   |
       |Stability      | Volatile         |

       Source code for open source software components in Oracle  Solaris  can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-

       This    software    was    built    from    source     available     at
       https://github.com/oracle/solaris-userland.    The  original  community
       source was downloaded  from   http://gitlab.com/graphviz/graphviz/-/ar-

       Further information about this software can be found on the open source
       community website at http://www.graphviz.org/.

                                 31 July 2008                         MM2GV(1)