UNIQG(1)
π NAME π
uniqg β bestie's manual page for uniqg version 2.9.3 π¦
β¨ SYNOPSIS β¨
uniqg [-q] [-xFILE] [-Xfile] [-hFILE] [-fxxx] [-u|-S|-t]
[-c] [-k] [-i# -I#:# -K#] [infile [outfile]]
πΈ DESCRIPTION πΈ
okay so picture this: you have a whole file of graphs (or digraphs) and some of them are literally the same graph wearing a different outfit. uniqg says not on my watch and removes the duplicates for you. π
The SHA256 cryptographic hash function is used for comparisons, so yeah, it's serious about it. π₯
π THE OPTIONS (still DESCRIPTION, but make it a moment) π
-Sβ use sparse representation internally. π«Ά
heads up bestie: this changes the canonical labelling. Multiple edges are not supported. One loop per vertex is ok.
-tβ use Traces</c>.-uβ no output, just count. it's giving "I only want the number" energy. π’-Hβ write hash codes (32 bytes), not graphs. note: this is binary output π
also note: the output depends on the endianness of the hardware, so-Hand-hcan only be used together on compatible endianness. mismatched endianness? tragedy. π
-Jβ write hash codes without newlines, followed by newlines. this output cannot be read with-h. π-kβ write the input graph exactly, not a canonical graph. keep it as-is, no glow-up. β¨-cβ assume graphs from infile are canonically labelled already. trust.-xFILEβ read a file of graphs and exclude them from the output. π«-XFILEβ like-xFILEbut assume they are already canonically labelled.-hFILEβ read a file of hash codes and exclude them from the output.-Fβ flush output for each new graph. (expensive if there are many π)-fxxxβ specify a partition of the vertex set. xxx is any string of ASCII characters except nul. this string is considered extended to infinity on the right with the character'z'. the sequence'x^N', where x is a character and N is a number, is equivalent to writing'x'N times. one character is associated with each vertex, in the order given. the labelling used obeys these rules:- the new order of the vertices is such that the associated characters are in ASCII ascending order
- if two graphs are labelled using the same string xxx, the output graphs are identical iff there is an associated-character-preserving isomorphism between them.
if a leading '-' is used, as in -f-xxx, the characters are assigned to the vertices starting at the last vertex, and the new order of the vertices respects decreasing ASCII order. π
-yβ write a 256-bit cryptographic hashcode to stderr. this depends on the set of isomorphism classes but not their order. it also depends on-i,-I,-K,-S,-tand-c. π-i#β select an invariant:1= twopaths2= adjtriang(K)3= triples4= quadruples5= celltrips6= cellquads7= cellquins8= distances(K)9= indsets(K)10= cliques(K)11= cellcliq(K)12= cellind(K)13= adjacencies14= cellfano15= cellfano216= refinvar(K)
-I#:#β select mininvarlevel and maxinvarlevel (default1:1). π-K#β select invararg (default3). β-qβ suppress auxiliary information. quiet mode, main character silence. π€«
that's the whole vibe, bestie β uniqg 2.9.3, September 2026, go dedupe those graphs and slay. periodt. πβ¨
π¦ 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