Desired:
A=2∣00⟩+∣11⟩The hardware generated:
90% chance for A=2∣00⟩+∣11⟩ 10% chance for a bit flip on Bob's qubit C=2∣01⟩+∣10⟩n pairsA⊗B…
010⋮0⎭⎬⎫O(2n)
++XXZZ⋱⎭⎬⎫O(n×n)
2n bits0011…
traits = [Qubit(), Qubit(), Qumode()]
reg = Register(traits)
A register "stores" the states being simulated.
graph = grid([2,3])
registers = [...]
net = RegisterNet(graph, registers)
A "graph" of registers can represent a network.
initialize!(reg[1], X₁)
A register's slot can be initialized to an arbitrary state, e.g. ∣x1⟩ an eigenstate of σ^x.
initialize!(reg[1], X₁) initialize!(reg[2], Z₁) apply!((reg[1], reg[2]), CNOT)
Arbitrary quantum gates or channels can be applied.
project_traceout!(reg[1], σˣ) # Projective measurement observable((reg[1],reg[2]), σᶻ⊗σˣ) # Calculate an expectation
project_traceout!(reg[1], σˣ) # Projective measurement observable((reg[1],reg[2]), σᶻ⊗σˣ) # Calculate an expectation
Measurements and expectation values...
julia> Z₁
|Z₁⟩
julia> ( Z₁⊗X₂+Y₁⊗Y₁ ) / √2
0.707 (|Y₁⟩|Y₁⟩+|Z₁⟩|X₂⟩)
julia> express( ( Z₁⊗X₂+Y₁⊗Y₁ ) / √2 )
Ket(dim=4)
basis: [Spin(1/2) ⊗ Spin(1/2)]
0.8535533905932736 + 0.0im
0.0 + 0.3535533905932737im
-0.49999999999999994 + 0.3535533905932737im
-0.3535533905932737 + 0.0im
julia> express( Y₁⊗Y₂, CliffordRepr() )
Rank 2 stabilizer
+ Z_
+ _Z
════
+ Y_
- _Y
════
Play with it at areweentangledyet.com
Declarative specification of "imperfections"
Discrete event scheduling
Traveling wavepackets modeling
More formalisms
More symbolic algebra
Digital twin / surrogate modeling
Better modeling and better optimization for entanglement exist
Try out QuantumClifford.jl - it is public and stable
Be an early tester for QuantumSavory.jl
Including work done by Vaishnavi Addala and Shu Ge, in coordination with Dirk Englund.
Consider gradschool or postdoc at UMass Amherst:
Design of optical/mechanical/spin devices with Sandia, Mitre, and MIT.
Working on practical LDPC ECC in networking and computing.
Creating new tools for the entire community.