PICKG(1)

πŸ“¦
version 2.9.3 Β· 3 versions
, in fedora 43, fedora 44

πŸ‘‘ PICKG β€” okay bestie, let's get into it πŸ’…

So this is the manual page for pickg, and it's serving version 2.9.3. Two icons, one page: pickg and countg. Let's gooo πŸ¦‹


✨ SYNOPSIS ✨

[pickg|countg] [-fp#:#q -V -X] [--keys] [-constraints -v] [ifile [ofile]]

🌸 DESCRIPTION 🌸

Okay so, two whole tools live in here:

  • countg β€” counts graphs according to their properties. It's giving census energy, fr fr. πŸ”’
  • pickg β€” selects graphs according to their properties. Curated. Hand-picked. Very main character. πŸŽ€

Then the files:

  • ifile, ofile β€” input and output files.
  • '-' and missing names imply stdin and stdout. No cap. If you ghost the filenames, it just talks to your terminal. 🫢

🧚 Miscellaneous switches 🧚

  • -p#, -p#:# β€” specify range of input lines (first is 1). Heads up though: it may fail if input is incremental. Not me warning you in advance 😭
  • -f β€” with -p, assume input lines of fixed length (only used with a file in graph6/digraph6 format).
  • -v β€” negate all constraints (but not -p). Flipping the whole vibe, but -p is staying exactly where it is.
  • -X β€” reverse selection (but -p still observed). Choose the other ones. So valid.
  • -V β€” list properties of every input matching constraints. Full receipts on each graph. πŸ’–
  • -l β€” put a blank line whenever the first parameter changes, if there are at least two parameters.
  • -1 β€” write output as lines of numbers separated by spaces, with 0/1 for boolean and both endpoints of ranges given separately even if they are the same, and the count at the end of the line. Also, no total is written.
  • -2 β€” the same as -1 but counts are not written.
  • -9 β€” flush the output after each graph (expensive if many graphs). Dramatic but pricey πŸ’€
  • -q β€” suppress informative output. Quiet luxury. 🀫

⭐ Constraints ⭐

Numerical constraints (shown here with a following #) can take a single integer value, or a range like #:#, #:, or :#. Each can also be preceded by '~', which negates it. (For example, -~D2:4 will match any maximum degree which is _not_ 2, 3, or 4.) Constraints are applied to all input graphs, and only those which match all constraints are counted or selected. It's giving ✨all or nothing✨.

  • -n# β€” number of vertices
  • -e# β€” number of edges
  • -ee# β€” number of non-edges (including loops for digraphs)
  • -L# β€” number of loops
  • -C β€” strongly connected
  • -LL# β€” number of 2-cycles
  • -cc# β€” number of components
  • -d# β€” minimum (out-)degree
  • -D# β€” maximum (out-)degree
  • -m# β€” vertices of min (out-)degree
  • -M# β€” vertices of max (out-)degree
  • -u# β€” minimum (in-)degree
  • -U# β€” maximum (in-)degree
  • -s# β€” vertices of min (in-)degree
  • -S# β€” vertices of max (in-)degree
  • -r β€” regular
  • -b β€” bipartite
  • -z# β€” radius
  • -Z# β€” diameter
  • -g# β€” girth (0=acyclic)
  • -Y# β€” total number of cycles
  • -h# β€” maximum independent set
  • -k# β€” maximum clique
  • -T# β€” number of triangles
  • -K# β€” number of maximal cliques
  • -TT# β€” number independent 3-sets
  • -P# β€” number of 5-cycles
  • -B# β€” smallest possible first side of a bipartition (0 if nonbipartite)
  • -H# β€” number of induced cycles
  • -W# β€” number of 4-cycles
  • -E β€” Eulerian (all degrees are even, connectivity not required)
  • -a# β€” group size
  • -o# β€” orbits
  • -F# β€” fixed points
  • -t β€” vertex-transitive
  • -O# β€” number of orbits of edges
  • -OO# β€” number of orbits of arcs
  • -tt# β€” 1 = edge transitive, 2 = arc transitive, 0 = neither
  • -c# β€” connectivity (2 means 2 or more).
  • -kk# β€” #-tree, otherwise 0. The complete graph K_n is tabulated as an n-tree, but matches either n-1 or n,
  • -i# β€” min common nbrs of adjacent vertices; -ii# β€” maximum
  • -j# β€” min common nbrs of non-adjacent vertices; -jj# β€” maximum
  • -x# β€” number of sources; -xx# β€” number of sinks
  • -WW# β€” number of diamonds; -HH# β€” number of hexagons
  • -N# β€” chromatic number (limited to WORDSIZE colours)
  • -NN# β€” chromatic index (limited to max degree WORDSIZE-1)
  • -A# β€” class (chromatic index - maximum degree + 1)
  • -G# β€” connectivity
  • -GG# β€” edge connectivity

πŸ¦‹ Sort keys πŸ¦‹

Counts are made for all graphs passing the constraints. Counts are given separately for each combination of values occurring for the properties listed as sort keys. A sort key is introduced by '--' and uses one of the letters known as constraints. These can be combined: --n --e --r is the same as --ne --r and --ner. The order of sort keys is significant. A comma can be used as a separator.

The sort key ':' has a special purpose: the values of sort keys following ':' are given as ranges rather than creating a separate line for each value. For example --e:zZ will give the ranges of radius and diameter that occur for each number of edges. The output format matches the input, except that sparse6 is used to output an incremental graph whose predecessor is not output.

Some sort keys have boolean variants with parameters:

  • --N# β€” #-colourable (i.e. chromatic number <= #)
  • --NN# β€” #-edge colourable
  • --G# β€” #-connected (i.e. connectivity >= #)
  • --GG# β€” #-edge connected

And that's the whole page, bestie 🫢 this was pickg 2.9.3, from September 2026, and honestly? iconic. Go count some graphs. Slay πŸ’–βœ¨

πŸ“¦ where this page comes from
  • fedora 43: nauty 2.9.3-3.fc43 Β· Apache-2.0 AND LicenseRef-Fedora-Public-Domain AND Knuth-CTAN AND GPL-1.0-or-later
  • fedora 44: nauty 2.9.3-4.fc44 Β· Apache-2.0 AND LicenseRef-Fedora-Public-Domain AND Knuth-CTAN AND GPL-1.0-or-later
  • πŸ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms