https://github.com/cqcl/clifford_bfs

A Julia library for generating small Clifford circuits that perform input stabiliser transformations with the minimum number of gates.

https://github.com/cqcl/clifford_bfs

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (7.5%) to scientific vocabulary
Last synced: 6 months ago · JSON representation

Repository

A Julia library for generating small Clifford circuits that perform input stabiliser transformations with the minimum number of gates.

Basic Info
  • Host: GitHub
  • Owner: CQCL
  • License: apache-2.0
  • Language: Julia
  • Default Branch: main
  • Size: 57.6 KB
Statistics
  • Stars: 1
  • Watchers: 5
  • Forks: 2
  • Open Issues: 1
  • Releases: 0
Created about 3 years ago · Last pushed over 1 year ago
Metadata Files
Readme License

README.md

Clifford_BFS

This is a slight upgrade of a script I used to show that a hand-derived circuit contains the least CNots of any possible circuit that non-fault-tolerantly prepares the transversal logical $\left \vert + \right \rangle$ state of the smallest interesting colour code.

How to Replicate The Paper

In order to generate a circuit for non-fault-tolerant preparation of the $\left \vert \overline{+}\overline{+}\overline{+} \right \rangle$ state, we do the following:

``julia _ _ _ _(_)_ | Documentation: https://docs.julialang.org (_) | (_) (_) | _ _ _| |_ __ _ | Type "?" for help, "]?" for Pkg help. | | | | | | |/ _ | | | | || | | | (| | | Version 1.8.5 (2023-01-08) / |_'|||_'| | Official https://julialang.org/ release |_/ |

julia> include("CNotBFS.jl") Main.CNotBFS

julia> include("CNotBFSSandbox.jl") WARNING: replacing module CNotBFS. planarcube_prep

julia> circuit = allpartitionscubeprep() 10-element Vector{QuantumClifford.sCNOT}: Symbolic two-qubit gate on qubit 1 and 5 X₁ ⟼ + XX X₂ ⟼ + _X Z₁ ⟼ + Z Z₂ ⟼ + ZZ Symbolic two-qubit gate on qubit 1 and 6 X₁ ⟼ + XX X₂ ⟼ + X Z₁ ⟼ + Z Z₂ ⟼ + ZZ Symbolic two-qubit gate on qubit 1 and 7 X₁ ⟼ + XX X₂ ⟼ + X Z₁ ⟼ + Z Z₂ ⟼ + ZZ Symbolic two-qubit gate on qubit 2 and 5 X₁ ⟼ + XX X₂ ⟼ + X Z₁ ⟼ + Z Z₂ ⟼ + ZZ Symbolic two-qubit gate on qubit 3 and 6 X₁ ⟼ + XX X₂ ⟼ + X Z₁ ⟼ + Z Z₂ ⟼ + ZZ Symbolic two-qubit gate on qubit 4 and 7 X₁ ⟼ + XX X₂ ⟼ + X Z₁ ⟼ + Z Z₂ ⟼ + ZZ Symbolic two-qubit gate on qubit 6 and 8 X₁ ⟼ + XX X₂ ⟼ + X Z₁ ⟼ + Z Z₂ ⟼ + ZZ Symbolic two-qubit gate on qubit 2 and 6 X₁ ⟼ + XX X₂ ⟼ + X Z₁ ⟼ + Z Z₂ ⟼ + ZZ Symbolic two-qubit gate on qubit 4 and 6 X₁ ⟼ + XX X₂ ⟼ + X Z₁ ⟼ + Z Z₂ ⟼ + ZZ Symbolic two-qubit gate on qubit 6 and 1 X₁ ⟼ + XX X₂ ⟼ + X Z₁ ⟼ + Z Z₂ ⟼ + ZZ

```

We wound up using a hand-derived gatelist that had easier-to-understand fault tolerance properties, and we used a flag circuit to detect high-weight errors. After running the experiment, we noticed that there was a bug in the code, and the end result is that we could have run a circuit with two fewer CNots, and it would still have been fault-tolerant. To derive that circuit (which is what you should do in the future, rather than replicate the minor mistake in the paper), use the commands in circuit_analysis_sandbox.jl.

Owner

  • Name: Cambridge Quantum
  • Login: CQCL
  • Kind: organization
  • Location: Cambridge, UK

Quantum Software and Technologies

GitHub Events

Total
  • Watch event: 2
  • Member event: 1
  • Push event: 7
  • Fork event: 1
Last Year
  • Watch event: 2
  • Member event: 1
  • Push event: 7
  • Fork event: 1

Issues and Pull Requests

Last synced: 11 months ago

All Time
  • Total issues: 0
  • Total pull requests: 2
  • Average time to close issues: N/A
  • Average time to close pull requests: 11 days
  • Total issue authors: 0
  • Total pull request authors: 2
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 1
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
  • Cobord (2)
  • ss2165 (1)
Top Labels
Issue Labels
Pull Request Labels