What is a “pattern” in QPatLib?
A QPatLib pattern is a measurement‑calculus program for MBQC expressed as an ASCII string in left‑to‑right order, with the canonical block structure:
Nodes → Edges → Measurements → Byproducts (left‑to‑right)→ Cliffords
Concretely, a valid pattern_ascii consists of tokens such as:
- N(i) … node declarations (added qubits/nodes),
- E(i,j) … entangling edges defining the underlying graph state,
- M(i, angle) and bracketed/conditional forms like [M(i, angle)]{signals} … measurements (including signal dependencies),
- terminal byproducts such as Z(out,{signals}) and X(out,{signals}) … output corrections.
- terminal Clifford command applied to qubit 𝑖 with single-qubit Clifford operator 𝑘
Details of the formatting are specified in the Graphix package
Submission format
Each Zenodo record submitted to the QPatLib community should contain one (1) JSONL file(s) that represents a collection of patterns (e.g., a family, benchmark set, paper companion dataset, or release). The JSONL files must be structured as:
- Dataset-level metadata header (first line): one JSON object describing the collection as a whole (schema version, collection title, authors/ORCIDs, generator/tool versions, references, license notes, optional global statistics).
- Pattern entries (subsequent lines): each line is one pattern JSON object containing:
- pattern identifier and short description,
- per‑pattern metadata (e.g., number of nodes, input/output nodes, resource/graph stats if available),
- pattern_ascii (required) in the canonical order nodes→edges→measurements→byproducts → Cliffords (if any)
Optional additional files (e.g., QASM, circuits, images) may be included, but the JSONL pattern collection files are the canonical contribution.
Documentation and discoverability
Zenodo record metadata (title, creators, keywords, description) is essential for discoverability; contributors are encouraged to use descriptive titles/keywords and include method/technical notes in the record’s Description. Zenodo supports a main description and additional description types (e.g., methods/technical info).
Versioning
Zenodo records are archival objects; if you need to update a published pattern collection, publish a new version of the record rather than modifying the published files.