GVGEN(1)
π GVGEN β bestie edition π
okay so. you know how sometimes you just need a graph. like, a structured one. not a "draw it by hand and cry" one. well, gvgen is literally that girl. she generates graphs. lots of them. regularly-structured abstract ones. slay.
β¨ NAME β¨
gvgen β generate graphs π¦ (yes that's the whole vibe, she makes graphs, she's an icon, she's been doing this since 2012)
πΈ SYNOPSIS πΈ
gvgen [ -dv? ] [ -in ] [ -cn ] [ -Cx,y ] [ -g[f]x,y ] [ -G[f]x,y ] [
-hn ] [ -kn ] [ -bx,y ] [ -Bx,y ] [ -mn ] [ -Mx,y ] [ -pn ] [ -rx,y ] [
-Rx ] [ -sn ] [ -Sn ] [ -Sn,d ] [ -tn ] [ -td,n ] [ -Tx,y ] [ -Tx,y,u,v
] [ -useed ] [ -wn ] [ -nprefix ] [ -Nname ] [ -ooutfile ]
π DESCRIPTION π
so gvgen generates a whole variety of simple, regularly-structured abstract graphs. that's it. that's the whole job. she's not complicated, she's just good at it. no cap. π
π OPTIONS π
the following options are supported, bestie, and there are a lot of them, so buckle up:
-cn β makes a cycle with n vertices and edges. cute little loop-de-loop energy. π-Cx,y β makes an x by y cylinder. this is gonna have x*y vertices and 2*x*y - y edges. it's giving "toilet paper tube but make it math". π§»-g[f]x,y β makes an x by y grid. if f is given, the grid is folded, with an edge attaching each pair of opposing corner vertices (like folding a paper and stapling the corners, unhinged but ok). this will have x*y vertices, and 2*x*y - y - x edges if unfolded, or 2*x*y - y - x + 2 edges if folded. yes the math is mathing. β¨-G[f]x,y β makes an x by y partial grid. if f is given, the grid is folded, with an edge attaching each pair of opposing corner vertices. this one will have x*y vertices. that's the whole tea. π΅-hn β makes a hypercube of degree n. this will have 2^n vertices and n*2^(n-1) edges. hypercube said "I contain multitudes" and honestly? she does. π§-kn β makes a complete graph on n vertices with n*(n-1)/2 edges. everyone knows everyone. the group chat where literally every person is mutuals. π-bx,y β makes a complete x by y bipartite graph. this will have x+y vertices and x*y edges. two friend groups who all know each other across the aisle. π€-Bx,y β makes an x by y ball, i.e., an x by y cylinder with two "cap" nodes closing the ends. this will have x*y + 2 vertices and 2*x*y + y edges. the cylinder got a little hat on each end. π©-mn β makes a triangular mesh with n vertices on a side. this will have (n+1)*n/2 vertices and 3*(n-1)*n/2 edges. triangle girlies rise up. πΊ-Mx,y β makes an x by y Moebius strip. this will have x*y vertices and 2*x*y - y edges. one side, one edge, zero chill. βΎοΈ-pn β makes a path on n vertices. this will have n-1 edges. just a lil line of nodes holding hands. π«Ά-rx,y β makes a random graph π. the number of vertices will be the largest value of the form 2^n-1 less than or equal to x. larger values of y increase the density of the graph. so y is basically the "how much chaos do you want" dial. π-Rx β makes a random rooted tree on x vertices. π³-sn β makes a star on n vertices. this will have n-1 edges. one main character, everyone else is a supporting role. β-Sn β makes a Sierpinski graph of order n. this will have 3*(3^(n-1) + 1)/2 vertices and 3^n edges. fractal excellence, we love to see it. πΊπΊπΊ-Sn,d β makes a d-dimensional Sierpinski graph of order n. at present, d must be 2 or 3. for d equal to 3, there will be 4*(4^(n-1) + 1)/2 vertices and 6 * 4^(n-1) edges. > ngl bestie, only 2 and 3 are valid right now β don't try to be cute and pass d = 7, it will not go how you want. π-tn β makes a binary tree of height n. this will have 2^n-1 vertices and 2^n-2 edges. π²-th,n β makes an n-ary tree of height h.-Tx,y-Tx,y,u,v β makes an x by y torus. this will have x*y vertices and 2*x*y edges. if u and v are given, they specify twists of that amount in the horizontal and vertical directions, respectively. donut shaped. torus girlies, this one's for you. π©-useed β specify the initial state for the random number generator. if this option is not given, the current time is used to derive a seed. so if you want reproducible randomness (iconic oxymoron, I know), this is your girl. π²-wn β makes a path on n vertices. this will have n-1 edges. (yes, same energy as-p. she contains multitudes.) π«Ά-in β generate n graphs of the requested type. at present, only available if the-Rflag is used. so like, it's conditional, it's exclusive, it's giving "you can't sit with us unless you brought-R". π-nprefix β normally, integers are used as node names. if prefix is specified, this will be prepended to the integer to create the name. boom, your nodes have last names now. π·οΈ-Nname β use name as the name of the graph. by default, the graph is anonymous. she's mysterious, she's elusive, she's unlabeled. πΆοΈ-ooutfile β if specified, the generated graph is written into the file outfile. otherwise, the graph is written to standard out. π-dβ make the generated graph directed. arrows. direction. drama. β‘οΈ-vβ verbose output. she will tell you things. lots of things. π£οΈ-?β print usage information. the "help me bestie" flag. β
π¦ EXIT STATUS π¦
gvgen exits with 0 on successful completion, and exits with 1 if given an ill-formed or incorrect flag, or if the specified output file could not be opened. so like, 0 is the slay, 1 is the "bestie what did you type". π
π AUTHOR π
Emden R. Gansner <erg@research.att.com> β the icon, the legend, the moment. π
π SEE ALSO π
gc(1), acyclic(1), gvpr(1), gvcolor(1), ccomps(1), sccmap(1), tred(1), libgraph(3)
go read those too, they're all part of the same friend group. iykyk. π
okay bestie that's the whole page!! π this was the GVGEN(1) manual, dated 5 June 2012 β yeah she's a vintage queen and she still eats, no cap. go generate something iconic. mwah. πβ¨
π¦ where this page comes from
- arch rolling: graphviz 16.1.0-2 Β· EPL
- fedora 43: graphviz 13.1.1-3.fc43 Β· epl-1.0 AND cpl-1.0 AND bsd-3-clause AND mit AND gpl-3.0-or-later WITH bison-exception-2.2 AND apache-1.1 AND lgpl-2.0-or-later WITH libtool-exception AND smlnj AND hpnd-uc
- fedora 43: graphviz 13.1.1-3.fc43 Β· epl-1.0 AND cpl-1.0 AND bsd-3-clause AND mit AND gpl-3.0-or-later WITH bison-exception-2.2 AND apache-1.1 AND lgpl-2.0-or-later WITH libtool-exception AND smlnj AND hpnd-uc
- fedora 43: graphviz 13.1.2-3.fc43 Β· epl-1.0 AND cpl-1.0 AND bsd-3-clause AND mit AND gpl-3.0-or-later WITH bison-exception-2.2 AND apache-1.1 AND lgpl-2.0-or-later WITH libtool-exception AND smlnj AND hpnd-uc
- fedora 43: graphviz 13.1.2-3.fc43 Β· epl-1.0 AND cpl-1.0 AND bsd-3-clause AND mit AND gpl-3.0-or-later WITH bison-exception-2.2 AND apache-1.1 AND lgpl-2.0-or-later WITH libtool-exception AND smlnj AND hpnd-uc
- fedora 44: graphviz 14.1.2-2.fc44 Β· epl-1.0 AND cpl-1.0 AND bsd-3-clause AND mit AND gpl-3.0-or-later WITH bison-exception-2.2 AND apache-1.1 AND lgpl-2.0-or-later WITH libtool-exception AND smlnj AND hpnd-uc
- fedora 44: graphviz 14.1.2-2.fc44 Β· epl-1.0 AND cpl-1.0 AND bsd-3-clause AND mit AND gpl-3.0-or-later WITH bison-exception-2.2 AND apache-1.1 AND lgpl-2.0-or-later WITH libtool-exception AND smlnj AND hpnd-uc
- fedora 44: graphviz 14.1.4-2.fc44 Β· epl-1.0 AND cpl-1.0 AND bsd-3-clause AND mit AND gpl-3.0-or-later WITH bison-exception-2.2 AND apache-1.1 AND lgpl-2.0-or-later WITH libtool-exception AND smlnj AND hpnd-uc
- fedora 44: graphviz 14.1.4-2.fc44 Β· epl-1.0 AND cpl-1.0 AND bsd-3-clause AND mit AND gpl-3.0-or-later WITH bison-exception-2.2 AND apache-1.1 AND lgpl-2.0-or-later WITH libtool-exception AND smlnj AND hpnd-uc
- nixpkgs unstable: graphviz 15.1.1
- ubuntu resolute: graphviz-tools 14.1.2-1ubuntu1 Β· EPL-1.0
- ubuntu stonking: graphviz-tools 14.1.2-1ubuntu2 Β· EPL-1.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms