Analysis of Quantum Entanglement in Quantum Programs using Stabilizer Formalism
The University of Tokyo Kentaro Honda
Analysis of Quantum Entanglement in Quantum Programs using - - PowerPoint PPT Presentation
Analysis of Quantum Entanglement in Quantum Programs using Stabilizer Formalism The University of Tokyo Kentaro Honda Purpose Analyse how separated the output of a program are. q0 := | 0 i ; q1 := | 0 i ; q2 := | 0 i ; q3 := | 1 i ; H q3; H
The University of Tokyo Kentaro Honda
Analyse how separated the output of a program are. q0 := |0i; q1 := |0i; q2 := |0i; q3 := |1i; H q3; H q2; CX q2, q3; H q1; CX q1, q3; H q0; CCX q0, q2, q3;
Analyse how separated the output of a program are. q0 q1 q2 q3 q0 := |0i; q1 := |0i; q2 := |0i; q3 := |1i; H q3; H q2; CX q2, q3; H q1; CX q1, q3; H q0; CCX q0, q2, q3;
Analyse how separated the output of a program are. q0 q1 q2 q3 q0 := |0i; q1 := |0i; q2 := |0i; q3 := |1i; H q3; H q2; CX q2, q3; H q1; CX q1, q3; H q0; CCX q0, q2, q3; |0001i
Analyse how separated the output of a program are. q0 q1 q2 q3 q0 := |0i; q1 := |0i; q2 := |0i; q3 := |1i; H q3; H q2; CX q2, q3; H q1; CX q1, q3; H q0; CCX q0, q2, q3; 1 p 2(|0000i |0001i)
Analyse how separated the output of a program are. q0 q1 q2 q3 q0 := |0i; q1 := |0i; q2 := |0i; q3 := |1i; H q3; H q2; CX q2, q3; H q1; CX q1, q3; H q0; CCX q0, q2, q3; 1 2( |0000i |0001i + |0010i |0011i)
Analyse how separated the output of a program are. q0 q1 q2 q3 q0 := |0i; q1 := |0i; q2 := |0i; q3 := |1i; H q3; H q2; CX q2, q3; H q1; CX q1, q3; H q0; CCX q0, q2, q3; 1 2( |0000i |0001i + |0011i |0010i)
Analyse how separated the output of a program are. q0 q1 q2 q3 q0 := |0i; q1 := |0i; q2 := |0i; q3 := |1i; H q3; H q2; CX q2, q3; H q1; CX q1, q3; H q0; CCX q0, q2, q3; 1 p 8( |0000i + |0100i |0001i |0101i + |0011i + |0111i |0010i |0110i)
Analyse how separated the output of a program are. q0 q1 q2 q3 q0 := |0i; q1 := |0i; q2 := |0i; q3 := |1i; H q3; H q2; CX q2, q3; H q1; CX q1, q3; H q0; CCX q0, q2, q3; 1 p 8( |0000i + |0101i |0001i |0100i + |0011i + |0110i |0010i |0111i)
Analyse how separated the output of a program are. q0 q1 q2 q3 q0 := |0i; q1 := |0i; q2 := |0i; q3 := |1i; H q3; H q2; CX q2, q3; H q1; CX q1, q3; H q0; CCX q0, q2, q3; 1 4( |0000i + |1000i + |0101i + |1101i |0001i |1001i |0100i |1100i + |0011i + |1011i + |0110i + |1110i |0010i |1010i |0111i |1111i)
Analyse how separated the output of a program are. q0 q1 q2 q3 q0 := |0i; q1 := |0i; q2 := |0i; q3 := |1i; H q3; H q2; CX q2, q3; H q1; CX q1, q3; H q0; CCX q0, q2, q3; 1 4( |0000i + |1000i + |0101i + |1101i |0001i |1001i |0100i |1100i + |0011i + |1010i + |0110i + |1111i |0010i |1011i |0111i |1110i)
Analyse how separated the output of a program are. q0 q1 q2 q3 q0 := |0i; q1 := |0i; q2 := |0i; q3 := |1i; H q3; H q2; CX q2, q3; H q1; CX q1, q3; H q0; CCX q0, q2, q3; 1 p 2(|0i + |1+i)
Analyse how separated the output of a program are. q0 q1 q2 q3 q0 := |0i; q1 := |0i; q2 := |0i; q3 := |1i; H q3; H q2; CX q2, q3; H q1; CX q1, q3; H q0; CCX q0, q2, q3; 1 p 2(|0i + |1+i) approximation of
Analyse how separated the output of a program are. q0 q1 q2 q3 q0 := |0i; q1 := |0i; q2 := |0i; q3 := |1i; H q3; H q2; CX q2, q3; H q1; CX q1, q3; H q0; CCX q0, q2, q3; 1 p 2(|0i + |1+i) approximation of
Analyse how separated the output of a program are. q0 q1 q2 q3 q0 := |0i; q1 := |0i; q2 := |0i; q3 := |1i; H q3; H q2; CX q2, q3; H q1; CX q1, q3; H q0; CCX q0, q2, q3; 1 p 2(|0i + |1+i) approximation of may be entangled
Analyse how separated the output of a program are. q0 q1 q2 q3 q0 := |0i; q1 := |0i; q2 := |0i; q3 := |1i; H q3; H q2; CX q2, q3; H q1; CX q1, q3; H q0; CCX q0, q2, q3; 1 p 2(|0i + |1+i) approximation of
|±i |0i |1i
[Perdrix07] [Perdrix08] [Prost&Zerrari09]
|±i |0i |1i
[Perdrix07] [Perdrix08] [Prost&Zerrari09]
meas q0;
|±i |0i |1i
[Perdrix07] [Perdrix08] [Prost&Zerrari09]
|±i |0i |1i
[Perdrix07] [Perdrix08] [Prost&Zerrari09]
U q0 q1;
|±i |0i |1i
[Perdrix07] [Perdrix08] [Prost&Zerrari09]
|±i |0i |1i
[Perdrix07] [Perdrix08] [Prost&Zerrari09]
|±i |0i |1i
[Perdrix07] [Perdrix08] [Prost&Zerrari09]
x := 312; y := -251; z := y * 31; x := x + y * z; if x > 0 then y := -y; else y := x + y; fi z := z * y; Concrete domain Z3 x 312 y
z
x := 312; y := -251; z := y * 31; x := x + y * z; if x > 0 then y := -y; else y := x + y; fi z := z * y; Concrete domain Z3 x 1953343 y 251 z 1953031
x := 312; y := -251; z := y * 31; x := x + y * z; if x > 0 then y := -y; else y := x + y; fi z := z * y; Concrete domain Z3 x 1953343 y 251 z 1953031 z > 0?
x := 312; y := -251; z := y * 31; x := x + y * z; if x > 0 then y := -y; else y := x + y; fi z := z * y; Concrete domain Z3 x 1953343 y 251 z 1953031 {+, −, ±}3 x + y
−
z
−
Abstract domain
x := 312; y := -251; z := y * 31; x := x + y * z; if x > 0 then y := -y; else y := x + y; fi z := z * y; Concrete domain Z3 x 1953343 y 251 z 1953031 {+, −, ±}3 x + y + z + Abstract domain
C, C0 ::= skip | C;C0 | X(qi) | Y(qi) | Z(qi) | H(qi) | S(qi) | T(qi) | CX(qi,qj) | if qi then C else C0 fi | while qi do C od JCK: {partial density matrix} → {partial density matrix}
q0 q2 q1 q0 Z q1 > q2 > b: {variables} ! {I, X, Z, >} π: partition (π, b) ∈ AQ [Perdrix08]
q0 q2 q1 q0 Z q1 > q2 > b: {variables} ! {I, X, Z, >} π: partition (π, b) ∈ AQ [Perdrix08] ρ = p0|0i h0|q0 ⌦ σ0
q1,q2 + p1 |1i
h1|q0 ⌦ σ1
q1,q2
JCK\ : AQ → AQ q0 q2 q1 q0 Z q1 > q2 > b: {variables} ! {I, X, Z, >} π: partition (π, b) ∈ AQ [Perdrix08] ρ = p0|0i h0|q0 ⌦ σ0
q1,q2 + p1 |1i
h1|q0 ⌦ σ1
q1,q2
q0 q2 q1 q0
−
q1
−
q2
−
ρ
q0 := |1i; q1 := |0i; q2 := |0i; H q2; T q1; H q0; T q2; CX q1, q2; CX q2, q0; CX q0, q1;
|100i q0 q2 q1 q0 Z q1 Z q2 Z
q0 := |1i; q1 := |0i; q2 := |0i; H q2; T q1; H q0; T q2; CX q1, q2; CX q2, q0; CX q0, q1;
|10+i q0 q2 q1 q0 Z q1 Z q2 X
q0 := |1i; q1 := |0i; q2 := |0i; H q2; T q1; H q0; T q2; CX q1, q2; CX q2, q0; CX q0, q1;
|10+i q0 q2 q1 q0 Z q1 Z q2 X
q0 := |1i; q1 := |0i; q2 := |0i; H q2; T q1; H q0; T q2; CX q1, q2; CX q2, q0; CX q0, q1;
|0+i q0 q2 q1 q0 X q1 Z q2 X
q0 := |1i; q1 := |0i; q2 := |0i; H q2; T q1; H q0; T q2; CX q1, q2; CX q2, q0; CX q0, q1;
1 p 2 |0i (|0i + ei π
4 |1i)
q0 q2 q1 q0 X q1 Z q2 >
q0 := |1i; q1 := |0i; q2 := |0i; H q2; T q1; H q0; T q2; CX q1, q2; CX q2, q0; CX q0, q1;
1 p 2 |0i (|0i + ei π
4 |1i)
q0 q2 q1 q0 X q1 Z q2 >
q0 := |1i; q1 := |0i; q2 := |0i; H q2; T q1; H q0; T q2; CX q1, q2; CX q2, q0; CX q0, q1;
1 p 2 |0i (|0i ei π
4 |1i)
q0 q2 q1 q0 X q1 Z q2 >
q0 := |1i; q1 := |0i; q2 := |0i; H q2; T q1; H q0; T q2; CX q1, q2; CX q2, q0; CX q0, q1;
q0 := |1i; q1 := |0i; q2 := |0i; H q2; T q1; H q0; T q2; CX q1, q2; CX q2, q0; CX q0, q1; 1 2(|00i |11i)(|0i ei π
4 |1i)
q0 q2 q1 q0 > q1 > q2 >
∀ρ: quantum state ∀C : program ∀(π, b) ∈ AQ (π, b) ✏ ρ ⇒ JCK\(π, b) ✏ JCK(ρ) [Perdrix08]
∀ρ: quantum state ∀C : program ∀(π, b) ∈ AQ (π, b) ✏ ρ ⇒ JCK\(π, b) ✏ JCK(ρ) [Perdrix08] valid approximation valid approximation
q0 := |1i; q1 := |0i; q2 := |0i; H q2; T q1; H q0; T q2; CX q1, q2; CX q2, q0; CX q0, q1; 1 2(|00i |11i)(|0i ei π
4 |1i)
q0 q2 q1 q0 > q1 > q2 >
1 2(|00i |11i)(|0i ei π
4 |1i)
q0 q2 q1 q0 > q1 > q2 >
q0 := |1i; q1 := |0i; q2 := |0i; H q2; T q1; H q0; T q2; CX q1, q2; CX q2, q0; CX q0, q1; CX q1, q0; CX q1, q2;
|±i |0i |1i
[Perdrix07] [Perdrix08] [Prost&Zerrari09]
1 2(|00i |11i)(|0i ei π
4 |1i)
q0 q2 q1 q0 > q1 > q2 >
q0 := |1i; q1 := |0i; q2 := |0i; H q2; T q1; H q0; T q2; CX q1, q2; CX q2, q0; CX q0, q1; CX q1, q0; CX q1, q2;
q0 q2 q1 q0 > q1 > q2 >
1 p 2 |0i (|0i ei π
4 |1i)
q0 := |1i; q1 := |0i; q2 := |0i; H q2; T q1; H q0; T q2; CX q1, q2; CX q2, q0; CX q0, q1; CX q1, q0; CX q1, q2;
q0 q2 q1 q0 > q1 > q2 >
q0 := |1i; q1 := |0i; q2 := |0i; H q2; T q1; H q0; T q2; CX q1, q2; CX q2, q0; CX q0, q1; CX q1, q0; CX q1, q2; 1 2 |0i ( |00i ei π
4 |01i
+ ei π
4 |10i |11i)
|±i |0i |1i
[Perdrix07] [Perdrix08] [Prost&Zerrari09]
|±i |0i |1i
[Perdrix07] [Perdrix08] [Prost&Zerrari09]
disentangle
q0 q2 q1 q0
−
q1
−
q2
−
ρ
q0 := |+i; q1 := |0i; q2 := |0i; CX q0, q1; CX q1, q2;
q0 q2 q1
q0 := |+i; q1 := |0i; q2 := |0i; CX q0, q1; CX q1, q2; |+00i q0 X q1 Z q2 Z
q0 q2 q1
q0 := |+i; q1 := |0i; q2 := |0i; CX q0, q1; CX q1, q2; q0 > q1 > q2 Z 1 p 2(|00i + |11i) |0i
q0 q2 q1
q0 := |+i; q1 := |0i; q2 := |0i; CX q0, q1; CX q1, q2; q0 > q1 > q2 > 1 p 2(|000i + |111i)
q0 q2 q1
q0 > q1 > q2 > 1 p 2(|000i + |111i) q0 := |+i; q1 := |0i; q2 := |0i; CX q0, q1; CX q1, q2; meas q0;
|±i |0i |1i
[Perdrix07] [Perdrix08] [Prost&Zerrari09]
q0 q2 q1
q0 > q1 > q2 > 1 p 2(|000i + |111i) q0 := |+i; q1 := |0i; q2 := |0i; CX q0, q1; CX q1, q2; meas q0;
q0 q2 q1
q0 Z q1 > q2 > q0 := |+i; q1 := |0i; q2 := |0i; CX q0, q1; CX q1, q2; meas q0; 1 2(|000i h000| + |111i h111|)
|±i |0i |1i
[Perdrix07] [Perdrix08] [Prost&Zerrari09]
|±i |0i |1i
[Perdrix07] [Perdrix08] [Prost&Zerrari09]
Measurement may affect unmeasured qubits
Stabilizer Formalism
standard stabilizer {P |P : Pauli matrix s.t. P |ψi = |ψi} 1 p 2(|010i + |101i) {III, XXX, −ZZI, −IZZ, ZIZ, YYX, −YXY, XYY} |ψi = α0···00 |0 · · · 00i + · · · + α1···11 |1 · · · 11i e.g.
standard stabilizer {P |P : Pauli matrix s.t. P |ψi = |ψi} 1 p 2(|010i + |101i) {III, XXX, −ZZI, −IZZ, ZIZ, YYX, −YXY, XYY} X X X + Z Z I − Z I Z + |ψi = α0···00 |0 · · · 00i + · · · + α1···11 |1 · · · 11i e.g.
standard stabilizer {P |P : Pauli matrix s.t. P |ψi = |ψi} 1 p 2(|010i + |101i) {III, XXX, −ZZI, −IZZ, ZIZ, YYX, −YXY, XYY} X X X + Z Z I − Z I Z + |ψi = α0···00 |0 · · · 00i + · · · + α1···11 |1 · · · 11i e.g.
standard stabilizer {P |P : Pauli matrix s.t. P |ψi = |ψi} 1 p 2(|010i + |101i) {III, XXX, −ZZI, −IZZ, ZIZ, YYX, −YXY, XYY} X X X + Z Z I − Z I Z + |ψi = α0···00 |0 · · · 00i + · · · + α1···11 |1 · · · 11i e.g. ρ = X
a
|ψai hψa| ⌦ ρa
standard stabilizer {P |P : Pauli matrix s.t. P |ψi = |ψi} 1 p 2(|010i + |101i) {III, XXX, −ZZI, −IZZ, ZIZ, YYX, −YXY, XYY} X X X + Z Z I − Z I Z + |ψi = α0···00 |0 · · · 00i + · · · + α1···11 |1 · · · 11i e.g. ρ = p0 |GHZi hGHZ| σ0 + p1(IIX) |GHZi hGHZ| (IIX)σ1 + · · ·
Partition with stabilizers
Partition with stabilizers q0 q2 q1
Partition with stabilizers q0 q2 q1 X X Z Z
Partition with stabilizers q0 q2 q1 X X Z Z
Partition with stabilizers q0 q2 q1 X X Z Z
may be a non-stabilizer state
Partition with stabilizers q0 q2 q1 X X Z Z
Partition with stabilizers q0 q2 q1 ⌅ ⌅
Partition with stabilizers q0 q2 q1 ⌅ ⌅ JCKC : CQ → CQ
[Z] q0 q2 q1 [Z] [Z] |100i q0 := |1i; q1 := |0i; q2 := |0i; H q2; T q1; H q0; T q2; CX q1, q2; CX q2, q0; CX q0, q1; CX q1, q0; CX q1, q2;
[Z] q0 q2 q1 [Z] [X] |10+i q0 := |1i; q1 := |0i; q2 := |0i; H q2; T q1; H q0; T q2; CX q1, q2; CX q2, q0; CX q0, q1; CX q1, q0; CX q1, q2;
[Z] q0 q2 q1 [Z] [X] |10+i q0 := |1i; q1 := |0i; q2 := |0i; H q2; T q1; H q0; T q2; CX q1, q2; CX q2, q0; CX q0, q1; CX q1, q0; CX q1, q2;
q0 q2 q1 [Z] [X] [X] |0+i q0 := |1i; q1 := |0i; q2 := |0i; H q2; T q1; H q0; T q2; CX q1, q2; CX q2, q0; CX q0, q1; CX q1, q0; CX q1, q2;
q0 q2 q1 [Z] [X] ⌅ 1 p 2 |0i (|0i + ei π
4 |1i)
q0 := |1i; q1 := |0i; q2 := |0i; H q2; T q1; H q0; T q2; CX q1, q2; CX q2, q0; CX q0, q1; CX q1, q0; CX q1, q2;
q0 q2 q1 [Z] [X] ⌅ 1 p 2 |0i (|0i + ei π
4 |1i)
q0 := |1i; q1 := |0i; q2 := |0i; H q2; T q1; H q0; T q2; CX q1, q2; CX q2, q0; CX q0, q1; CX q1, q0; CX q1, q2;
q0 q2 q1 [Z] [X] ⌅ 1 p 2 |0i (|0i ei π
4 |1i)
q0 := |1i; q1 := |0i; q2 := |0i; H q2; T q1; H q0; T q2; CX q1, q2; CX q2, q0; CX q0, q1; CX q1, q0; CX q1, q2;
q0 q2 q1 ⌅ X X Z Z
2(|00i |11i)(|0i ei π
4 |1i)
q0 := |1i; q1 := |0i; q2 := |0i; H q2; T q1; H q0; T q2; CX q1, q2; CX q2, q0; CX q0, q1; CX q1, q0; CX q1, q2;
q0 q2 q1 ⌅ I X Z I
p 2 |0i (|0i ei π
4 |1i)
q0 := |1i; q1 := |0i; q2 := |0i; H q2; T q1; H q0; T q2; CX q1, q2; CX q2, q0; CX q0, q1; CX q1, q0; CX q1, q2;
q0 q2 q1 ⌅ [X] [Z] 1 p 2 |0i (|0i ei π
4 |1i)
q0 := |1i; q1 := |0i; q2 := |0i; H q2; T q1; H q0; T q2; CX q1, q2; CX q2, q0; CX q0, q1; CX q1, q0; CX q1, q2;
q0 q2 q1 ⌅ [Z] q0 := |1i; q1 := |0i; q2 := |0i; H q2; T q1; H q0; T q2; CX q1, q2; CX q2, q0; CX q0, q1; CX q1, q0; CX q1, q2; 1 2 |0i ( |00i ei π
4 |01i
+ ei π
4 |10i |11i)
|+00i
q0 := |+i; q1 := |0i; q2 := |0i; CX q0, q1; CX q1, q2; meas q0; q0 q2 q1 [Z] [Z] [X]
1 p 2(|00i + |11i) |0i
q0 := |+i; q1 := |0i; q2 := |0i; CX q0, q1; CX q1, q2; meas q0; q0 q2 q1 [Z] X X Z Z
1 p 2(|000i + |111i)
q0 := |+i; q1 := |0i; q2 := |0i; CX q0, q1; CX q1, q2; meas q0; q0 q2 q1 X X X Z Z I I Z Z
q0 := |+i; q1 := |0i; q2 := |0i; CX q0, q1; CX q1, q2; meas q0; 1 2(|000i h000| + |111i h111|)
q0 q2 q1 Z I I Z Z I I Z Z
q0 := |+i; q1 := |0i; q2 := |0i; CX q0, q1; CX q1, q2; meas q0; 1 2(|000i h000| + |111i h111|)
q0 q2 q1 Z I I I Z I I I Z
q0 := |+i; q1 := |0i; q2 := |0i; CX q0, q1; CX q1, q2; meas q0; 1 2(|000i h000| + |111i h111|)
q0 q2 q1 [Z] [Z] [Z]
∀ρ: quantum state ∀α ∈ CQ ∀C : program α ✏ ρ ⇒ JCKC(α) ✏ JCK(ρ)
q0 := |+i; q1 := |0i; q2 := |0i; CX q0, q1; CX q1, q2; T q1; meas q0; 1 p 2(|000i + |111i) q0 q2 q1 X X X Z Z I I Z Z
q0 := |+i; q1 := |0i; q2 := |0i; CX q0, q1; CX q1, q2; T q1; meas q0; q0 q2 q1 1 p 2(|000i + ei π
4 |111i)
⌅
q0 := |+i; q1 := |0i; q2 := |0i; CX q0, q1; CX q1, q2; T q1; meas q0; 1 2(|000i h000| + |111i h111|) q0 q2 q1 [Z] ⌅
q0 := |+i; q1 := |0i; q2 := |0i; CX q0, q1; CX q1, q2; T q1; meas q0; 1 p 2(|000i + |111i) q0 q2 q1 X X X Z Z I I Z Z
q0 := |+i; q1 := |0i; q2 := |0i; CX q0, q1; CX q1, q2; T q1; meas q0; q0 q2 q1 1 p 2(|000i + ei π
4 |111i)
X TXT† X Z Z I I Z Z
q0 := |+i; q1 := |0i; q2 := |0i; CX q0, q1; CX q1, q2; T q1; meas q0; q0 q2 q1 Z I I Z Z I I Z Z 1 2(|000i h000| + |111i h111|)
q0 := |+i; q1 := |0i; q2 := |0i; CX q0, q1; CX q1, q2; T q1; meas q0; 1 2(|000i h000| + |111i h111|) q0 q2 q1 [Z] [Z] [Z]
may be a non-Pauli matrix
Partition with stabilizers q0 q2 q1 X X Z Z
Partition with stabilizers q0 q2 q1 ⌅ X ♥ Z Z
Partition with stabilizers q0 q2 q1 ⌅ X ♥ Z Z
X ♥ ♥ X
X ♥ ♥ X
X ♥ ♥ X
X ♥ ♥ X
X ♥ ♥ X
I I X
X Z Z X
X ~ ~ X
u w w v if qi then C else C0 fi } ~
E
= JCKE ∨ JC0KE
u w w v if qi then C else C0 fi } ~
E
= JCKE ] JC0KE
X ♥ Z Z I ♥ Z Z I ♥ ♥ Z Z I ♥ Z Z I
X ♥ Z Z I ♥ Z Z I ♥ ♥ Z Z I ♥ Z Z I Z Z I Z Z I
X ♥ Z Z I ♥ Z Z I ♥ ♥ Z Z I ♥ Z Z I Z Z I Z Z I ∨ = ⇥ Z Z I ⇤
X ♥ Z Z I ♥ Z Z I ♥ ♥ Z Z I ♥ Z Z I Z Z I Z Z I ∨ = ⇥ Z Z I ⇤ ] =
∀ρ: quantum state ∀C : program ∀γ ∈ EQ γ ✏ ρ ⇒ JCKE(γ) ✏ JCK(ρ)
⌅ ♥
if q0 then skip else skip; X ♥ ♥ X
q2 q1 ⇥ X ⇤ q0 q2 q1 ⇥ X ⇤ ⌅
if q0 then skip else skip; X ♥ ♥ X
q2 q1 ⇥ X ⇤ q0 q2 q1 ⇥ X ⇤ ⌅