Package: dwave-tikz
d-wave tikz: tools for generating TikZ pictures of various D-Wave topologiesWhat is this??A collection of Python-based command line utilities that can generate
standalone LateX documents with TikZ pictures of all currently available
D-Wave annealers' topologies. The pictures contain minimum styling and
should serve only for defining the "skeleton" of the graph.The generated pictures heavily utilize TikZ styles, so you can adjust the looks
of the pictures by tweaking style definitions at the very beginning of your
TikZ picture.What is this not?Thedwave-tikzis not designed for producing pretty pictures. Yes, it
contains basic styling, but the assumption is that you tweak the style
definition in the produced .tex file. Writing a comprehensive CLI allowing
one to control every single aspect of TikZ picture would be time consuming
beyond the point of being useful.InstallationPython >= 3.8 is required. Other Python dependencies will be downloaded
during installation. The--compileflag assumes thatlatexmkis
available in yourPATHvariable.To install the latest version just run:pipinstalldwave-tikzThis should install thedwavetikzscript in your path. To verify, rundwavetikz-hUsageThe CLI invocation looks as follows:dwavetikz <topology> <size> [options]Some options are common to all topologies, others are specific to only given
topology. Anyway, you can always rundwavetikz <topology> -hto learn about all arguments available for given topology (both common and
specific). For instance,dwavetikz pegasus -hwill give you all available
options for pegasus topoloy.By default, the output is printed to stdout. You can either redirect it as
usually, or use--outputparameter to provide a file name.Additionally, if--compileflag is provided, an attempt will be made to
compile the output .tex file. Obviously, this only works in conjunction with--outputflag.ExamplesWarningIf you are using dark Github theme, the SVG pictures presented in this section may look
slightly unreadable, because they have transparent backgrounds.Example 1: simple C2 Chimera, output to chimera.texdwavetikzchimera2--outputchimera.texExample 2: the same Chimera, but with labels.dwavetikzchimera2--outputchimera2.tex--with-labelsExample 3: the same Chimera, with labels, and after changing styles.dwavetikzchimera2--outputchimera3.tex--with-labelsThe styles were modified as follows (relevant part ofchimera3.tex):\begin{tikzpicture}[
        scale=1,
        coupler/.style={draw},
        qubit/.style={circle, line width=2pt, font={\large\bfseries}, fill=White,draw=darkgray,minimum size=7mm, inner sep=0.5mm},
        hidden/.style={opacity=0.0},
        internal/.style={color=RoyalBlue, ultra thick, dashed},
        external/.style={color=Tan, ultra thick},
    ]Example 4: Chimera with 2 rows, 3 columns and nonstandard shore size of 8 (unit cells of
such Chimera are ports of the Zephyr topology). It also uses larger scaling of coordinates to
spread out nodes further away from each other (otherwise the nodes would overlap).dwavetikzchimera2-n3-t8--outputchimera4.tex--scale40--compileExample 5: The P3 Pegasus using the default L-layout for Chimera unit cells.dwavetikzpegasus3--outputpegasus.texExample 6: The P3 Pegasus using the cross layout for Chimera unit cells.dwavetikzpegasus3--cross--outputpegasus2.texExample 7: The Z3 Zephyr graph.dwavetikzzephyr3--cross--outputzephyr.tex