Analysis of Quantum Entanglement in Quantum Programs using - - PowerPoint PPT Presentation

analysis of quantum entanglement in quantum programs
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Analysis of Quantum Entanglement in Quantum Programs using Stabilizer Formalism

The University of Tokyo Kentaro Honda

slide-2
SLIDE 2

Purpose

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;

slide-3
SLIDE 3

Purpose

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;

slide-4
SLIDE 4

Purpose

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

slide-5
SLIDE 5

Purpose

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)

slide-6
SLIDE 6

Purpose

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)

slide-7
SLIDE 7

Purpose

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)

slide-8
SLIDE 8

Purpose

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)

slide-9
SLIDE 9

Purpose

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)

slide-10
SLIDE 10

Purpose

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)

slide-11
SLIDE 11

Purpose

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)

slide-12
SLIDE 12

Purpose

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)

slide-13
SLIDE 13

Purpose

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

slide-14
SLIDE 14

Purpose

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

slide-15
SLIDE 15

Purpose

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

slide-16
SLIDE 16

Purpose

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

slide-17
SLIDE 17

Previous work

  • Measured qubit is separated from the others [Perdrix07]
  • Multi-qubit gate may entangle qubits [Perdrix07]
  • Restriction to CX gate [Perdrix08][Prost&Zerrari09]
  • C-qubit / preserves separability [Perdrix08][Prost&Zerrari09]
  • T-qubit preserves separability [Perdrix08]
  • Type system, Abstract interpretation, Hoare-like logic

|±i |0i |1i

[Perdrix07] [Perdrix08] [Prost&Zerrari09]

slide-18
SLIDE 18

Previous work

  • Measured qubit is separated from the others [Perdrix07]
  • Multi-qubit gate may entangle qubits [Perdrix07]
  • Restriction to CX gate [Perdrix08][Prost&Zerrari09]
  • C-qubit / preserves separability [Perdrix08][Prost&Zerrari09]
  • T-qubit preserves separability [Perdrix08]
  • Type system, Abstract interpretation, Hoare-like logic

|±i |0i |1i

[Perdrix07] [Perdrix08] [Prost&Zerrari09]

meas q0;

slide-19
SLIDE 19

Previous work

  • Measured qubit is separated from the others [Perdrix07]
  • Multi-qubit gate may entangle qubits [Perdrix07]
  • Restriction to CX gate [Perdrix08][Prost&Zerrari09]
  • C-qubit / preserves separability [Perdrix08][Prost&Zerrari09]
  • T-qubit preserves separability [Perdrix08]
  • Type system, Abstract interpretation, Hoare-like logic

|±i |0i |1i

[Perdrix07] [Perdrix08] [Prost&Zerrari09]

slide-20
SLIDE 20

Previous work

  • Measured qubit is separated from the others [Perdrix07]
  • Multi-qubit gate may entangle qubits [Perdrix07]
  • Restriction to CX gate [Perdrix08][Prost&Zerrari09]
  • C-qubit / preserves separability [Perdrix08][Prost&Zerrari09]
  • T-qubit preserves separability [Perdrix08]
  • Type system, Abstract interpretation, Hoare-like logic

|±i |0i |1i

[Perdrix07] [Perdrix08] [Prost&Zerrari09]

U q0 q1;

slide-21
SLIDE 21

Previous work

  • Measured qubit is separated from the others [Perdrix07]
  • Multi-qubit gate may entangle qubits [Perdrix07]
  • Restriction to CX gate [Perdrix08][Prost&Zerrari09]
  • C-qubit / preserves separability [Perdrix08][Prost&Zerrari09]
  • T-qubit preserves separability [Perdrix08]
  • Type system, Abstract interpretation, Hoare-like logic

|±i |0i |1i

[Perdrix07] [Perdrix08] [Prost&Zerrari09]

slide-22
SLIDE 22

Previous work

  • Measured qubit is separated from the others [Perdrix07]
  • Multi-qubit gate may entangle qubits [Perdrix07]
  • Restriction to CX gate [Perdrix08][Prost&Zerrari09]
  • C-qubit / preserves separability [Perdrix08][Prost&Zerrari09]
  • T-qubit preserves separability [Perdrix08]
  • Type system, Abstract interpretation, Hoare-like logic

|±i |0i |1i

[Perdrix07] [Perdrix08] [Prost&Zerrari09]

slide-23
SLIDE 23

Previous work

  • Measured qubit is separated from the others [Perdrix07]
  • Multi-qubit gate may entangle qubits [Perdrix07]
  • Restriction to CX gate [Perdrix08][Prost&Zerrari09]
  • C-qubit / preserves separability [Perdrix08][Prost&Zerrari09]
  • T-qubit preserves separability [Perdrix08]
  • Type system, Abstract interpretation, Hoare-like logic

|±i |0i |1i

[Perdrix07] [Perdrix08] [Prost&Zerrari09]

slide-24
SLIDE 24

Abstract Interpretation

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

  • 251

z

  • 7781
slide-25
SLIDE 25

Abstract Interpretation

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

slide-26
SLIDE 26

Abstract Interpretation

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?

slide-27
SLIDE 27

Abstract Interpretation

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

slide-28
SLIDE 28

Abstract Interpretation

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

slide-29
SLIDE 29

Quantum Imperative Language

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}

slide-30
SLIDE 30

Abstract Domain AQ

q0 q2 q1 q0 Z q1 > q2 > b: {variables} ! {I, X, Z, >} π: partition (π, b) ∈ AQ [Perdrix08]

slide-31
SLIDE 31

Abstract Domain 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

slide-32
SLIDE 32

Abstract Domain AQ

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

slide-33
SLIDE 33

Abstract Semantics

q0 q2 q1 q0

q1

q2

ρ

J·K\

q0 := |1i; q1 := |0i; q2 := |0i; H q2; T q1; H q0; T q2; CX q1, q2; CX q2, q0; CX q0, q1;

slide-34
SLIDE 34

Abstract Semantics

|100i q0 q2 q1 q0 Z q1 Z q2 Z

J·K\

q0 := |1i; q1 := |0i; q2 := |0i; H q2; T q1; H q0; T q2; CX q1, q2; CX q2, q0; CX q0, q1;

slide-35
SLIDE 35

Abstract Semantics

|10+i q0 q2 q1 q0 Z q1 Z q2 X

J·K\

q0 := |1i; q1 := |0i; q2 := |0i; H q2; T q1; H q0; T q2; CX q1, q2; CX q2, q0; CX q0, q1;

slide-36
SLIDE 36

Abstract Semantics

|10+i q0 q2 q1 q0 Z q1 Z q2 X

J·K\

q0 := |1i; q1 := |0i; q2 := |0i; H q2; T q1; H q0; T q2; CX q1, q2; CX q2, q0; CX q0, q1;

slide-37
SLIDE 37

Abstract Semantics

|0+i q0 q2 q1 q0 X q1 Z q2 X

J·K\

q0 := |1i; q1 := |0i; q2 := |0i; H q2; T q1; H q0; T q2; CX q1, q2; CX q2, q0; CX q0, q1;

slide-38
SLIDE 38

Abstract Semantics

1 p 2 |0i (|0i + ei π

4 |1i)

q0 q2 q1 q0 X q1 Z q2 >

J·K\

q0 := |1i; q1 := |0i; q2 := |0i; H q2; T q1; H q0; T q2; CX q1, q2; CX q2, q0; CX q0, q1;

slide-39
SLIDE 39

Abstract Semantics

1 p 2 |0i (|0i + ei π

4 |1i)

q0 q2 q1 q0 X q1 Z q2 >

J·K\

q0 := |1i; q1 := |0i; q2 := |0i; H q2; T q1; H q0; T q2; CX q1, q2; CX q2, q0; CX q0, q1;

slide-40
SLIDE 40

Abstract Semantics

1 p 2 |0i (|0i ei π

4 |1i)

q0 q2 q1 q0 X q1 Z q2 >

J·K\

q0 := |1i; q1 := |0i; q2 := |0i; H q2; T q1; H q0; T q2; CX q1, q2; CX q2, q0; CX q0, q1;

slide-41
SLIDE 41

Abstract Semantics

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 >

J·K\

slide-42
SLIDE 42

Soundness

∀ρ: quantum state ∀C : program ∀(π, b) ∈ AQ (π, b) ✏ ρ ⇒ JCK\(π, b) ✏ JCK(ρ) [Perdrix08]

slide-43
SLIDE 43

Soundness

∀ρ: quantum state ∀C : program ∀(π, b) ∈ AQ (π, b) ✏ ρ ⇒ JCK\(π, b) ✏ JCK(ρ) [Perdrix08] valid approximation valid approximation

slide-44
SLIDE 44

Abstract Semantics

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 >

J·K\

slide-45
SLIDE 45

Abstract Semantics

1 2(|00i |11i)(|0i ei π

4 |1i)

q0 q2 q1 q0 > q1 > q2 >

J·K\

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;

slide-46
SLIDE 46

Previous work

  • Measured qubit is separated from the others [Perdrix07]
  • Multi-qubit gate may entangle qubits [Perdrix07]
  • Restriction to CX gate [Perdrix08][Prost&Zerrari09]
  • C-qubit / preserves separability [Perdrix08][Prost&Zerrari09]
  • T-qubit preserves separability [Perdrix08]
  • Type system, Abstract interpretation, Hoare-like logic

|±i |0i |1i

[Perdrix07] [Perdrix08] [Prost&Zerrari09]

slide-47
SLIDE 47

Abstract Semantics

1 2(|00i |11i)(|0i ei π

4 |1i)

q0 q2 q1 q0 > q1 > q2 >

J·K\

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;

slide-48
SLIDE 48

Abstract Semantics

q0 q2 q1 q0 > q1 > q2 >

J·K\

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;

slide-49
SLIDE 49

Abstract Semantics

q0 q2 q1 q0 > q1 > q2 >

J·K\

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)

slide-50
SLIDE 50

Previous work

  • Measured qubit is separated from the others [Perdrix07]
  • Multi-qubit gate may entangle qubits [Perdrix07]
  • Restriction to CX gate [Perdrix08][Prost&Zerrari09]
  • C-qubit / preserves separability [Perdrix08][Prost&Zerrari09]
  • T-qubit preserves separability [Perdrix08]
  • Type system, Abstract interpretation, Hoare-like logic

|±i |0i |1i

[Perdrix07] [Perdrix08] [Prost&Zerrari09]

slide-51
SLIDE 51

Previous work

  • Measured qubit is separated from the others [Perdrix07]
  • Multi-qubit gate may entangle qubits [Perdrix07]
  • Restriction to CX gate [Perdrix08][Prost&Zerrari09]
  • C-qubit / preserves separability [Perdrix08][Prost&Zerrari09]
  • T-qubit preserves separability [Perdrix08]
  • Type system, Abstract interpretation, Hoare-like logic

|±i |0i |1i

[Perdrix07] [Perdrix08] [Prost&Zerrari09]

disentangle

slide-52
SLIDE 52

Abstract Semantics

q0 q2 q1 q0

q1

q2

ρ

J·K\

q0 := |+i; q1 := |0i; q2 := |0i; CX q0, q1; CX q1, q2;

slide-53
SLIDE 53

Abstract Semantics

q0 q2 q1

J·K\

q0 := |+i; q1 := |0i; q2 := |0i; CX q0, q1; CX q1, q2; |+00i q0 X q1 Z q2 Z

slide-54
SLIDE 54

Abstract Semantics

q0 q2 q1

J·K\

q0 := |+i; q1 := |0i; q2 := |0i; CX q0, q1; CX q1, q2; q0 > q1 > q2 Z 1 p 2(|00i + |11i) |0i

slide-55
SLIDE 55

Abstract Semantics

q0 q2 q1

J·K\

q0 := |+i; q1 := |0i; q2 := |0i; CX q0, q1; CX q1, q2; q0 > q1 > q2 > 1 p 2(|000i + |111i)

slide-56
SLIDE 56

Abstract Semantics

q0 q2 q1

J·K\

q0 > q1 > q2 > 1 p 2(|000i + |111i) q0 := |+i; q1 := |0i; q2 := |0i; CX q0, q1; CX q1, q2; meas q0;

slide-57
SLIDE 57

Previous work

  • Measured qubit is separated from the others [Perdrix07]
  • Multi-qubit gate may entangle qubits [Perdrix07]
  • Restriction to CX gate [Perdrix08][Prost&Zerrari09]
  • C-qubit / preserves separability [Perdrix08][Prost&Zerrari09]
  • T-qubit preserves separability [Perdrix08]
  • Type system, Abstract interpretation, Hoare-like logic

|±i |0i |1i

[Perdrix07] [Perdrix08] [Prost&Zerrari09]

slide-58
SLIDE 58

Abstract Semantics

q0 q2 q1

J·K\

q0 > q1 > q2 > 1 p 2(|000i + |111i) q0 := |+i; q1 := |0i; q2 := |0i; CX q0, q1; CX q1, q2; meas q0;

slide-59
SLIDE 59

Abstract Semantics

q0 q2 q1

J·K\

q0 Z q1 > q2 > q0 := |+i; q1 := |0i; q2 := |0i; CX q0, q1; CX q1, q2; meas q0; 1 2(|000i h000| + |111i h111|)

slide-60
SLIDE 60

Previous work

  • Measured qubit is separated from the others [Perdrix07]
  • Multi-qubit gate may entangle qubits [Perdrix07]
  • Restriction to CX gate [Perdrix08][Prost&Zerrari09]
  • C-qubit / preserves separability [Perdrix08][Prost&Zerrari09]
  • T-qubit preserves separability [Perdrix08]
  • Type system, Abstract interpretation, Hoare-like logic

|±i |0i |1i

[Perdrix07] [Perdrix08] [Prost&Zerrari09]

slide-61
SLIDE 61

Previous work

  • Measured qubit is separated from the others [Perdrix07]
  • Multi-qubit gate may entangle qubits [Perdrix07]
  • Restriction to CX gate [Perdrix08][Prost&Zerrari09]
  • C-qubit / preserves separability [Perdrix08][Prost&Zerrari09]
  • T-qubit preserves separability [Perdrix08]
  • Type system, Abstract interpretation, Hoare-like logic

|±i |0i |1i

[Perdrix07] [Perdrix08] [Prost&Zerrari09]

Measurement may affect unmeasured qubits

slide-62
SLIDE 62

Observation

  • Multi-qubit gate may undo entangled qubits
  • Measurement may destroy multipartite entanglement
slide-63
SLIDE 63

Observation

  • Multi-qubit gate may undo entangled qubits
  • Measurement may destroy multipartite entanglement
  • Information about entangled qubits is needed
  • Semantics should be easily computable
slide-64
SLIDE 64

Observation

  • Multi-qubit gate may undo entangled qubits
  • Measurement may destroy multipartite entanglement
  • Information about entangled qubits is needed
  • Semantics should be easily computable

Stabilizer Formalism

slide-65
SLIDE 65

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.

slide-66
SLIDE 66

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}   X X X + Z Z I − Z I Z +   |ψi = α0···00 |0 · · · 00i + · · · + α1···11 |1 · · · 11i e.g.

slide-67
SLIDE 67

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}   X X X + Z Z I − Z I Z +   |ψi = α0···00 |0 · · · 00i + · · · + α1···11 |1 · · · 11i e.g.

slide-68
SLIDE 68

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}   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

slide-69
SLIDE 69

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}   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 + · · ·

slide-70
SLIDE 70

Our Abstract Domain CQ

Partition with stabilizers

slide-71
SLIDE 71

Our Abstract Domain CQ

Partition with stabilizers q0 q2 q1

slide-72
SLIDE 72

Our Abstract Domain CQ

Partition with stabilizers q0 q2 q1  X X Z Z

  • [Z]
slide-73
SLIDE 73

Our Abstract Domain CQ

Partition with stabilizers q0 q2 q1  X X Z Z

slide-74
SLIDE 74

Our Abstract Domain CQ

Partition with stabilizers q0 q2 q1  X X Z Z

may be a non-stabilizer state

slide-75
SLIDE 75

Our Abstract Domain CQ

Partition with stabilizers q0 q2 q1  X X Z Z

slide-76
SLIDE 76

Our Abstract Domain CQ

Partition with stabilizers q0 q2 q1 ⌅ ⌅

slide-77
SLIDE 77

Our Abstract Domain CQ

Partition with stabilizers q0 q2 q1 ⌅ ⌅ JCKC : CQ → CQ

slide-78
SLIDE 78

Abstract Semantics J·KC

[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;

slide-79
SLIDE 79

Abstract Semantics J·KC

[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;

slide-80
SLIDE 80

Abstract Semantics J·KC

[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;

slide-81
SLIDE 81

Abstract Semantics J·KC

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;

slide-82
SLIDE 82

Abstract Semantics J·KC

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;

slide-83
SLIDE 83

Abstract Semantics J·KC

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;

slide-84
SLIDE 84

Abstract Semantics J·KC

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;

slide-85
SLIDE 85

Abstract Semantics J·KC

q0 q2 q1 ⌅  X X Z Z

  • 1

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;

slide-86
SLIDE 86

Abstract Semantics J·KC

q0 q2 q1 ⌅  I X Z I

  • 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;

slide-87
SLIDE 87

Abstract Semantics J·KC

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;

slide-88
SLIDE 88

Abstract Semantics J·KC

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)

slide-89
SLIDE 89

Abstract Semantics

|+00i

J·KC

q0 := |+i; q1 := |0i; q2 := |0i; CX q0, q1; CX q1, q2; meas q0; q0 q2 q1 [Z] [Z] [X]

slide-90
SLIDE 90

Abstract Semantics

1 p 2(|00i + |11i) |0i

J·KC

q0 := |+i; q1 := |0i; q2 := |0i; CX q0, q1; CX q1, q2; meas q0; q0 q2 q1 [Z]  X X Z Z

slide-91
SLIDE 91

Abstract Semantics

1 p 2(|000i + |111i)

J·KC

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  

slide-92
SLIDE 92

Abstract Semantics

q0 := |+i; q1 := |0i; q2 := |0i; CX q0, q1; CX q1, q2; meas q0; 1 2(|000i h000| + |111i h111|)

J·KC

q0 q2 q1   Z I I Z Z I I Z Z  

slide-93
SLIDE 93

Abstract Semantics

q0 := |+i; q1 := |0i; q2 := |0i; CX q0, q1; CX q1, q2; meas q0; 1 2(|000i h000| + |111i h111|)

J·KC

q0 q2 q1   Z I I I Z I I I Z  

slide-94
SLIDE 94

Abstract Semantics

q0 := |+i; q1 := |0i; q2 := |0i; CX q0, q1; CX q1, q2; meas q0; 1 2(|000i h000| + |111i h111|)

J·KC

q0 q2 q1 [Z] [Z] [Z]

slide-95
SLIDE 95

Soundness

∀ρ: quantum state ∀α ∈ CQ ∀C : program α ✏ ρ ⇒ JCKC(α) ✏ JCK(ρ)

slide-96
SLIDE 96

For better approximation

slide-97
SLIDE 97

Abstract Semantics J·KC

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  

slide-98
SLIDE 98

Abstract Semantics J·KC

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)

slide-99
SLIDE 99

Abstract Semantics J·KC

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] ⌅

slide-100
SLIDE 100

Abstract Semantics

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  

J·K

C

slide-101
SLIDE 101

Abstract Semantics

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  

J·K

C

slide-102
SLIDE 102

Abstract Semantics

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|)

J·K

C

slide-103
SLIDE 103

Abstract Semantics

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]

J·K

C

slide-104
SLIDE 104

Abstract Semantics J·K

C

  X TXT† X Z Z I I Z Z  

slide-105
SLIDE 105

Abstract Semantics J·K

C

  X TXT† X Z Z I I Z Z  

slide-106
SLIDE 106

Abstract Semantics J·K

C

  X TXT† X Z Z I I Z Z  

slide-107
SLIDE 107

Abstract Semantics J·K

C

  X TXT† X Z Z I I Z Z   ♥

slide-108
SLIDE 108

Abstract Semantics J·K

C

  X TXT† X Z Z I I Z Z   ♥

may be a non-Pauli matrix

slide-109
SLIDE 109

Abstract Domain EQ

Partition with stabilizers q0 q2 q1  X X Z Z

slide-110
SLIDE 110

Abstract Domain EQ

Partition with stabilizers q0 q2 q1 ⌅  X ♥ Z Z

slide-111
SLIDE 111

Abstract Domain EQ

Partition with stabilizers q0 q2 q1 ⌅  X ♥ Z Z

  • JCKE : EQ → EQ
slide-112
SLIDE 112

Structure of EQ

 X ♥ ♥ X

 X ♥ ♥ X

slide-113
SLIDE 113

Structure of EQ

 X ♥ ♥ X

 X ♥ ♥ X

  • =

 X ♥ ♥ X

  •  X

I I X

  • _

 X Z Z X

  • 6=

 X ~ ~ X

slide-114
SLIDE 114

Semantics of If

u w w v if qi then C else C0 fi }   ~

E

= JCKE ∨ JC0KE

slide-115
SLIDE 115

Semantics of If

u w w v if qi then C else C0 fi }   ~

E

= JCKE ] JC0KE

slide-116
SLIDE 116

Approximate Join

  X ♥ Z Z I ♥ Z Z I     ♥ ♥ Z Z I ♥ Z Z I  

slide-117
SLIDE 117

Approximate Join

  X ♥ Z Z I ♥ Z Z I     ♥ ♥ Z Z I ♥ Z Z I     Z Z I     Z Z I  

slide-118
SLIDE 118

Approximate Join

  X ♥ Z Z I ♥ Z Z I     ♥ ♥ Z Z I ♥ Z Z I     Z Z I     Z Z I   ∨ = ⇥ Z Z I ⇤

slide-119
SLIDE 119

Approximate Join

  X ♥ Z Z I ♥ Z Z I     ♥ ♥ Z Z I ♥ Z Z I     Z Z I     Z Z I   ∨ = ⇥ Z Z I ⇤ ] =

slide-120
SLIDE 120

Soundness

∀ρ: quantum state ∀C : program ∀γ ∈ EQ γ ✏ ρ ⇒ JCKE(γ) ✏ JCK(ρ)

slide-121
SLIDE 121

Summary

  • Refined the existing abstract domain
  • Used stabilizer formalism with
  • Improved the above abstract domain
  • Introduced the non-Pauli symbol
  • Introduced the approximate join operator
  • Proved soundness

⌅ ♥

slide-122
SLIDE 122

Future Work

  • Implementation
  • Further Refinement
  • Better join

if q0 then skip else skip;  X ♥ ♥ X

  • q0

q2 q1 ⇥ X ⇤ q0 q2 q1 ⇥ X ⇤ ⌅

slide-123
SLIDE 123

Future Work

  • Implementation
  • Further Refinement
  • Better join

if q0 then skip else skip;  X ♥ ♥ X

  • q0

q2 q1 ⇥ X ⇤ q0 q2 q1 ⇥ X ⇤ ⌅

Thank you