diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml new file mode 100644 index 0000000..1e7ed7e --- /dev/null +++ b/.buildkite/pipeline.yml @@ -0,0 +1,14 @@ +env: + CODECOV_TOKEN: 61f19b8a-59a0-4120-b30a-6b0cb93452c2 + JULIA_NUM_THREADS: auto + QUANTUMSAVORY_PLOT_TEST: true + +steps: + - label: "CI Buildkite" + plugins: + - JuliaCI/julia#v1: + version: "1" + - QuantumSavory/julia-xvfb#v1: + - JuliaCI/julia-test#v1: ~ + - JuliaCI/julia-coverage#v1: + codecov: true \ No newline at end of file diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a1f1d9a..6a15e35 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -36,6 +36,10 @@ jobs: ${{ runner.os }}-test-${{ env.cache-name }}- ${{ runner.os }}-test- ${{ runner.os }}- + - uses: cjdoris/julia-downgrade-compat-action@v1 + if: ${{ matrix.version == '1.9' }} + with: + skip: Pkg, Random - uses: julia-actions/julia-buildpkg@v1 - uses: julia-actions/julia-runtest@v1 env: diff --git a/.github/workflows/spelling.yml b/.github/workflows/spelling.yml new file mode 100644 index 0000000..d9ee073 --- /dev/null +++ b/.github/workflows/spelling.yml @@ -0,0 +1,15 @@ +name: Spell Check + +on: [pull_request] + +jobs: + typos-check: + name: Spell Check with Typos + runs-on: ubuntu-latest + steps: + - name: Checkout Actions Repository + uses: actions/checkout@v4 + - name: Check spelling + uses: crate-ci/typos@master + with: + config: .typos.toml \ No newline at end of file diff --git a/.typos.toml b/.typos.toml new file mode 100644 index 0000000..7364886 --- /dev/null +++ b/.typos.toml @@ -0,0 +1,2 @@ +[default.extend-words] +ket = "ket" \ No newline at end of file diff --git a/Project.toml b/Project.toml index 5fcd92b..7df64d1 100644 --- a/Project.toml +++ b/Project.toml @@ -1,7 +1,7 @@ name = "BPGates" uuid = "2c1a90cd-bec4-4415-ae35-245016909a8f" -authors = ["ShuGe-MIT ", "Stefan Krastanov "] -version = "1.0.0" +authors = ["Shu Ge ", "Stefan Krastanov "] +version = "1.0.1" [deps] QuantumClifford = "0525e862-1e90-11e9-3e4d-1b39d7109de1" @@ -9,4 +9,5 @@ Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" [compat] QuantumClifford = "0.8" +Random = "1" julia = "1.9" \ No newline at end of file diff --git a/README.md b/README.md index 53e8db7..f26e4a5 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,8 @@ Continuous integration - GitHub Workflow Status + GitHub Workflow Status + Buildkite Workflow Status diff --git a/docs/make.jl b/docs/make.jl index 1f52122..33a7fc2 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -12,6 +12,7 @@ makedocs( #bib, doctest = false, clean = true, +warnonly = :missing_docs, sitename = "BPGates.jl", format = Documenter.HTML(), modules = [BPGates], diff --git a/docs/src/index.md b/docs/src/index.md index ee0fdd7..662052c 100644 --- a/docs/src/index.md +++ b/docs/src/index.md @@ -65,7 +65,7 @@ All of these methods would require a Monte Carlo Quantum Trajectories simulation ## Short Example -You can initialize a Bell State by specifing the phases and convert it to stabilizer representation. +You can initialize a Bell State by specifying the phases and convert it to stabilizer representation. ``` julia> bell_state = BellState([0,1,1,0]) BellState(Bool[0, 1, 1, 0]) diff --git a/src/BPGates.jl b/src/BPGates.jl index 3231a54..facaaec 100644 --- a/src/BPGates.jl +++ b/src/BPGates.jl @@ -158,7 +158,7 @@ end """ Coincidence measurement on Bell pairs. -The first argument, `midx`, spefies the X, Y, Z basis respectively. +The first argument, `midx`, specifies the X, Y, Z basis respectively. The second argument, `sidx`, indicates which Bell pair is being measured. The state will be reset to `00` after being applied measurement. @@ -371,7 +371,7 @@ end # Typically good operations ############################## -"""A bilateral CNOT preceeded by permutations on each of the pairs that map the `00` state to itself.""" +"""A bilateral CNOT preceded by permutations on each of the pairs that map the `00` state to itself.""" struct CNOTPerm <: BellOp single1::Int single2::Int @@ -611,7 +611,7 @@ end ############################## """ -Convert a Bell perserving gate from `BPGates` representation to a sequence of Clifford gate from `QuantumClifford`. +Convert a Bell preserving gate from `BPGates` representation to a sequence of Clifford gate from `QuantumClifford`. Translating [`BellMeasure`](@ref) is not precise, because a real Bell measurement would destroy the Bell pair,