.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "gallery/pattern_generation.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end ` to download the full example code. .. rst-class:: sphx-glr-example-title .. _sphx_glr_gallery_pattern_generation.py: Lowering a Labelled Graph State ================================== This example starts from a labelled graph state and an explicit feedforward map, then lowers them to an executable MBQC pattern. .. GENERATED FROM PYTHON SOURCE LINES 9-17 .. code-block:: Python import sys from pathlib import Path from graphqomb.pattern import print_pattern from graphqomb.ptn_format import dump from graphqomb.qompiler import qompile from graphqomb.random_objects import generate_random_flow_graph .. GENERATED FROM PYTHON SOURCE LINES 18-19 Generate a labelled graph state and its X-correction map. .. GENERATED FROM PYTHON SOURCE LINES 19-38 .. code-block:: Python graphstate, xflow = generate_random_flow_graph(width=3, depth=5) print("graph nodes:", len(graphstate.physical_nodes)) print("graph edges:", len(graphstate.physical_edges)) # Lower the graph/feedforward IRs to an executable pattern. pattern = qompile(graphstate, xflow) print("pattern depth:", pattern.depth) print("pattern max space:", pattern.max_space) print_pattern(pattern) # Dump the pattern in GraphQOMB's text format. script_path = Path(globals().get("__file__", sys.argv[0])).resolve() example_dir = script_path.parent output_dir = example_dir / "generated" output_dir.mkdir(exist_ok=True) ptn_path = output_dir / "pattern_generation.ptn" dump(pattern, ptn_path) print("wrote pattern:", ptn_path) .. rst-class:: sphx-glr-script-out .. code-block:: none graph nodes: 15 graph edges: 16 pattern depth: 5 pattern max space: 15 N: node=3 N: node=4 N: node=5 N: node=6 N: node=7 N: node=8 N: node=9 N: node=10 N: node=11 N: node=12 N: node=13 N: node=14 E: nodes=(10, 11) E: nodes=(3, 4) E: nodes=(5, 8) E: nodes=(7, 10) E: nodes=(0, 3) E: nodes=(9, 12) E: nodes=(1, 4) E: nodes=(10, 13) E: nodes=(6, 7) E: nodes=(2, 5) E: nodes=(7, 8) E: nodes=(3, 6) E: nodes=(11, 14) E: nodes=(6, 9) E: nodes=(4, 7) E: nodes=(8, 11) TICK M: node=0, plane=Plane.XY, angle=0.0 M: node=1, plane=Plane.XY, angle=0.0 M: node=2, plane=Plane.XY, angle=0.0 TICK M: node=3, plane=Plane.XY, angle=0.0 M: node=4, plane=Plane.XY, angle=0.0 M: node=5, plane=Plane.XY, angle=0.0 TICK M: node=8, plane=Plane.XY, angle=0.0 M: node=6, plane=Plane.XY, angle=0.0 M: node=7, plane=Plane.XY, angle=0.0 11 more commands truncated. Change lim argument of print_pattern() to show more wrote pattern: /home/docs/checkouts/readthedocs.org/user_builds/graphqomb/checkouts/stable/examples/generated/pattern_generation.ptn .. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 0.013 seconds) .. _sphx_glr_download_gallery_pattern_generation.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: pattern_generation.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: pattern_generation.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: pattern_generation.zip ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_