Skip to content
Draft
Show file tree
Hide file tree
Changes from 21 commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
fe3ae66
initial commit
sagnikpal2004 Jul 23, 2025
f1f22ab
fixed more gates
sagnikpal2004 Jul 23, 2025
adc4eb2
complete single-qubit
sagnikpal2004 Jul 23, 2025
5b1c6da
updated names
sagnikpal2004 Jul 25, 2025
3a5f82a
complete two-qubit gates
sagnikpal2004 Jul 26, 2025
e3e84d8
initial commit
sagnikpal2004 Jul 24, 2025
2d349a5
minor fixes
sagnikpal2004 Jul 25, 2025
09f9f44
fix collapse_z phase randomness
sagnikpal2004 Jul 25, 2025
9663a0f
collapse_x fixes
sagnikpal2004 Jul 25, 2025
b4cda36
sMY and sMRY
sagnikpal2004 Jul 25, 2025
4abcabc
reset
sagnikpal2004 Jul 25, 2025
4fbcdc9
better method for calcuting number of qubits required
sagnikpal2004 Jul 25, 2025
1bec6dd
naming changes
sagnikpal2004 Jul 25, 2025
c34c6b4
pauli measurements for backtraj
sagnikpal2004 Jul 26, 2025
06cdd26
naming changes
sagnikpal2004 Jul 26, 2025
82d5e8d
remove sSQRTZ, update tests
sagnikpal2004 Jul 26, 2025
0daec50
Merge remote-tracking branch 'origin/apply_right' into backtraj
sagnikpal2004 Jul 26, 2025
f7fda1b
switch to using registers
sagnikpal2004 Jul 27, 2025
848642b
add tests
sagnikpal2004 Jul 28, 2025
21dd0dd
updated function names
sagnikpal2004 Aug 6, 2025
21031c0
fix mctrajectory_keepstates counting issue
sagnikpal2004 Aug 8, 2025
e3a7c62
resets are now measure-reset aliases
sagnikpal2004 Aug 10, 2025
1ea084f
rename to `BacktrackingRegister`
sagnikpal2004 Aug 10, 2025
7c8a89d
set initial state
sagnikpal2004 Aug 11, 2025
26cb1d5
Merge branch 'master' of https://github.com/QuantumSavory/QuantumClif…
sagnikpal2004 Aug 11, 2025
1d44505
implement noise, rename to BacktrackRegister
sagnikpal2004 Nov 25, 2025
c219720
remove redundant resets
sagnikpal2004 Nov 25, 2025
4b00700
tests - not working
sagnikpal2004 Nov 25, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions docs/src/references.bib
Original file line number Diff line number Diff line change
Expand Up @@ -816,3 +816,15 @@ @article{Higgott_2023
year={2023},
month=may
}

@article{gidney-2021,
author = {Gidney, Craig},
journal = {Quantum},
month = {7},
pages = {497},
title = {{Stim: a fast stabilizer circuit simulator}},
volume = {5},
year = {2021},
doi = {10.22331/q-2021-07-06-497},
url = {https://quantum-journal.org/papers/q-2021-07-06-497/},
}
11 changes: 8 additions & 3 deletions src/QuantumClifford.jl
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ module QuantumClifford
import LinearAlgebra
using LinearAlgebra: inv, mul!, rank, Adjoint, dot, tr
import DataStructures
using DataStructures: DefaultDict, Accumulator
using DataStructures: DefaultDict, Accumulator, counter
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

double check that the recent 0.19 does not break this

using Combinatorics: combinations
using Base.Cartesian
using DocStringExtensions
Expand Down Expand Up @@ -40,7 +40,7 @@ export
# Linear Algebra
tensor, tensor_pow,
logdot, expect,
apply!, apply_inv!,
apply!, apply_inv!, apply_right!,
permutesystems, permutesystems!,
# Low Level Function Interface
generate!, project!, reset_qubits!, traceout!,
Expand All @@ -60,7 +60,8 @@ export
sSQRTZZ, sInvSQRTZZ, sSQRTXX, sInvSQRTXX, sSQRTYY, sInvSQRTYY,
# Misc Ops
SparseGate,
sMX, sMY, sMZ, PauliMeasurement, Reset, sMRX, sMRY, sMRZ,
sMX, sMY, sMZ, PauliMeasurement,
Reset, sMRX, sMRY, sMRZ, # sRX, sRY, sRZ,
BellMeasurement, ClassicalXOR,
VerifyOp,
Register,
Expand Down Expand Up @@ -91,6 +92,8 @@ export
mctrajectory!, mctrajectories, applywstatus!,
# petrajectories
petrajectories, applybranches,
# backtrajectory
backtrajectory,
# nonclifford
GeneralizedStabilizer, UnitaryPauliChannel, PauliChannel, pcT, pcPhase,
# makie plotting -- defined only when extension is loaded
Expand Down Expand Up @@ -1436,6 +1439,7 @@ include("operator_traits.jl")
include("mctrajectory.jl")
include("petrajectory.jl")
include("misc_ops.jl")
include("backtrajectory.jl")
include("classical_register.jl")
include("noise.jl")
include("affectedqubits.jl")
Expand All @@ -1460,5 +1464,6 @@ include("grouptableaux.jl")
include("plotting_extensions.jl")
#
include("gpu_adapters.jl")
include("apply_right.jl")

end #module
1 change: 1 addition & 0 deletions src/affectedqubits.jl
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ affectedqubits(n::NoiseOp) = n.indices
affectedqubits(g::PauliMeasurement) = 1:length(g.pauli)
affectedqubits(p::PauliOperator) = 1:length(p)
affectedqubits(m::Union{AbstractMeasurement,sMRX,sMRY,sMRZ}) = (m.qubit,)
affectedqubits(m::AbstractReset) = (m.qubit,)
affectedqubits(v::VerifyOp) = v.indices
affectedqubits(c::CliffordOperator) = 1:nqubits(c)
affectedqubits(c::ClassicalXOR) = ()
Expand Down
Loading