� � � � Composing classical computations A C B φ β φ α H α G α � � � � � � � � � � � � � � � � � � � � � � � � H β � � � G β � � � φ β ◦ α Exercise: Define I . Functional Quantum Programming – p. 9/44
Extensional equality Functional Quantum Programming – p. 10/44
� � Extensional equality Every computation α gives rise to a function U FCC α ∈ A → B � B × G A × H φ π 1 ( − ,h ) � B A U FCC α Functional Quantum Programming – p. 10/44
� � Extensional equality Every computation α gives rise to a function U FCC α ∈ A → B � B × G A × H φ π 1 ( − ,h ) � B A U FCC α α = ext β, if U FCC α = U FCC β Functional Quantum Programming – p. 10/44
� � Extensional equality Every computation α gives rise to a function U FCC α ∈ A → B � B × G A × H φ π 1 ( − ,h ) � B A U FCC α α = ext β, if U FCC α = U FCC β Objects fi nite sets FCC : Morphisms computations / = ext . Functional Quantum Programming – p. 10/44
U FCC U FCC I = I U FCC ( β ◦ α ) = ( U FCC β ) ◦ ( U FCC α ) Functional Quantum Programming – p. 11/44
U FCC U FCC I = I U FCC ( β ◦ α ) = ( U FCC β ) ◦ ( U FCC α ) U FCC is a functor U FCC : FCC → FinSet . Functional Quantum Programming – p. 11/44
U FCC U FCC I = I U FCC ( β ◦ α ) = ( U FCC β ) ◦ ( U FCC α ) U FCC is a functor U FCC : FCC → FinSet . U FCC is faithful (trivially). Functional Quantum Programming – p. 11/44
U FCC U FCC I = I U FCC ( β ◦ α ) = ( U FCC β ) ◦ ( U FCC α ) U FCC is a functor U FCC : FCC → FinSet . U FCC is faithful (trivially). Exercise: U FCC is full! Functional Quantum Programming – p. 11/44
Coming next: Quantum computations Develop FQC analogously to FCC . . . Functional Quantum Programming – p. 12/44
Linear algebra revision Functional Quantum Programming – p. 13/44
Linear algebra revision Given a fi nite set A (the base) C A = A → C is a Hilbert space . Functional Quantum Programming – p. 13/44
Linear algebra revision Given a fi nite set A (the base) C A = A → C is a Hilbert space . Linear operators: f ∈ A → B → C induces ˆ f ∈ C A → C B . we write f ∈ A ⊸ B Functional Quantum Programming – p. 13/44
Linear algebra revision Given a fi nite set A (the base) C A = A → C is a Hilbert space . Linear operators: f ∈ A → B → C induces ˆ f ∈ C A → C B . we write f ∈ A ⊸ B Norm of a vector: � v � = Σ a ∈ A ( va ) ∗ ( va ) ∈ R + , Functional Quantum Programming – p. 13/44
Linear algebra revision Given a fi nite set A (the base) C A = A → C is a Hilbert space . Linear operators: f ∈ A → B → C induces ˆ f ∈ C A → C B . we write f ∈ A ⊸ B Norm of a vector: � v � = Σ a ∈ A ( va ) ∗ ( va ) ∈ R + , Unitary operators: A unitary operator φ ∈ A ⊸ unitary B is a linear isomorphism that preserves the norm. Functional Quantum Programming – p. 13/44
Basics of quantum computation Functional Quantum Programming – p. 14/44
Basics of quantum computation A pure state over A is a vector v ∈ C A with unit norm � v � = 1 . Functional Quantum Programming – p. 14/44
Basics of quantum computation A pure state over A is a vector v ∈ C A with unit norm � v � = 1 . A reversible computation is given by a unitary operator φ ∈ A ⊸ unitary B . Functional Quantum Programming – p. 14/44
Quantum computations ( FQC ) Functional Quantum Programming – p. 15/44
� Quantum computations ( FQC ) Given fi nite sets A (input) and B (output): A B φ h � H G Functional Quantum Programming – p. 15/44
� Quantum computations ( FQC ) Given fi nite sets A (input) and B (output): A B φ h � H G a fi nite set H , the base of the space of initial heaps, Functional Quantum Programming – p. 15/44
� Quantum computations ( FQC ) Given fi nite sets A (input) and B (output): A B φ h � H G a fi nite set H , the base of the space of initial heaps, a heap initialisation vector h ∈ C H , Functional Quantum Programming – p. 15/44
� Quantum computations ( FQC ) Given fi nite sets A (input) and B (output): A B φ h � H G a fi nite set H , the base of the space of initial heaps, a heap initialisation vector h ∈ C H , a fi nite set G , the base of the space of garbage states, Functional Quantum Programming – p. 15/44
� Quantum computations ( FQC ) Given fi nite sets A (input) and B (output): A B φ h � H G a fi nite set H , the base of the space of initial heaps, a heap initialisation vector h ∈ C H , a fi nite set G , the base of the space of garbage states, a unitary operator φ ∈ A ⊗ H ⊸ unitary B ⊗ G . Functional Quantum Programming – p. 15/44
Composing quantum computations Functional Quantum Programming – p. 16/44
� � � � Composing quantum computations A C B φ β φ α H α G α � � � � � � � � � � � � � � � � � � � � � � � � H β � � � G β � � � φ β ◦ α Functional Quantum Programming – p. 16/44
Extensional equality. . . Functional Quantum Programming – p. 17/44
Extensional equality. . . . . . is a bit more subtle. Functional Quantum Programming – p. 17/44
� � Extensional equality. . . . . . is a bit more subtle. There is no sensible operator replacing π 1 on vector spaces: � B ⊗ G A ⊗ H φ −⊗ h ??? � B A ??? Functional Quantum Programming – p. 17/44
� � Extensional equality. . . . . . is a bit more subtle. There is no sensible operator replacing π 1 on vector spaces: � B ⊗ G A ⊗ H φ −⊗ h ??? � B A ??? Indeed: Forgetting part of a pure state results in a mixed state . Functional Quantum Programming – p. 17/44
Density Operators A mixed state on A is given by a density operator ρ ∈ A ⊸ A such that all eigenvalues are positive reals ⇒ λ ∈ R + ρ v = λv = ˆ and has a unit trace Σ a ∈ A.v a = 1 Functional Quantum Programming – p. 18/44
Superoperators Functional Quantum Programming – p. 19/44
Superoperators A superoperator f ∈ A ⊸ super B is a linear operator on density operators which is completely positive. Functional Quantum Programming – p. 19/44
Superoperators A superoperator f ∈ A ⊸ super B is a linear operator on density operators which is completely positive. A unitary operator φ ∈ A ⊸ unitary B gives rise to a superoperator φ † ∈ A ⊸ super B . Functional Quantum Programming – p. 19/44
Superoperators A superoperator f ∈ A ⊸ super B is a linear operator on density operators which is completely positive. A unitary operator φ ∈ A ⊸ unitary B gives rise to a superoperator φ † ∈ A ⊸ super B . Partial trace: tr A,G ∈ A ⊗ G ⊸ super A Functional Quantum Programming – p. 19/44
Extensional equality Functional Quantum Programming – p. 20/44
� � Extensional equality Every computation α gives rise to a superoperator U α ∈ A ⊸ super B � B ⊗ G A ⊗ H � φ −⊗ � tr G h � B A U FQC α Functional Quantum Programming – p. 20/44
� � Extensional equality Every computation α gives rise to a superoperator U α ∈ A ⊸ super B � B ⊗ G A ⊗ H � φ −⊗ � tr G h � B A U FQC α α = ext β, if U FQC α = U FQC β Functional Quantum Programming – p. 20/44
� � Extensional equality Every computation α gives rise to a superoperator U α ∈ A ⊸ super B � B ⊗ G A ⊗ H � φ −⊗ � tr G h � B A U FQC α α = ext β, if U FQC α = U FQC β Objects fi nite sets FCC : Morphisms computations / = ext . Functional Quantum Programming – p. 20/44
U FQC Functional Quantum Programming – p. 21/44
U FQC U FQC I = I U FQC ( β ◦ α ) = ( U FQC β ) ◦ ( U FQC α ) Functional Quantum Programming – p. 21/44
U FQC U FQC I = I U FQC ( β ◦ α ) = ( U FQC β ) ◦ ( U FQC α ) U FQC is a functor U FQC : FQC → Super . Functional Quantum Programming – p. 21/44
U FQC U FQC I = I U FQC ( β ◦ α ) = ( U FQC β ) ◦ ( U FQC α ) U FQC is a functor U FQC : FQC → Super . U FQC is faithful (trivially). Functional Quantum Programming – p. 21/44
U FQC U FQC I = I U FQC ( β ◦ α ) = ( U FQC β ) ◦ ( U FQC α ) U FQC is a functor U FQC : FQC → Super . U FQC is faithful (trivially). U FQC is full! Functional Quantum Programming – p. 21/44
Classical vs quantum Functional Quantum Programming – p. 22/44
Classical vs quantum classical quantum Functional Quantum Programming – p. 22/44
Classical vs quantum classical quantum finite sets Functional Quantum Programming – p. 22/44
Classical vs quantum classical quantum finite sets finite dimensional Hilbert spaces Functional Quantum Programming – p. 22/44
Classical vs quantum classical quantum finite sets finite dimensional Hilbert spaces bijections Functional Quantum Programming – p. 22/44
Classical vs quantum classical quantum finite sets finite dimensional Hilbert spaces bijections unitary operators Functional Quantum Programming – p. 22/44
Classical vs quantum classical quantum finite sets finite dimensional Hilbert spaces bijections unitary operators cartesian product ( × ) Functional Quantum Programming – p. 22/44
Classical vs quantum classical quantum finite sets finite dimensional Hilbert spaces bijections unitary operators cartesian product ( × ) tensor product ( ⊗ ) Functional Quantum Programming – p. 22/44
Classical vs quantum classical quantum finite sets finite dimensional Hilbert spaces bijections unitary operators cartesian product ( × ) tensor product ( ⊗ ) functions Functional Quantum Programming – p. 22/44
Classical vs quantum classical quantum finite sets finite dimensional Hilbert spaces bijections unitary operators cartesian product ( × ) tensor product ( ⊗ ) functions superoperators Functional Quantum Programming – p. 22/44
Classical vs quantum classical quantum finite sets finite dimensional Hilbert spaces bijections unitary operators cartesian product ( × ) tensor product ( ⊗ ) functions superoperators projections Functional Quantum Programming – p. 22/44
Classical vs quantum classical quantum finite sets finite dimensional Hilbert spaces bijections unitary operators cartesian product ( × ) tensor product ( ⊗ ) functions superoperators projections partial trace Functional Quantum Programming – p. 22/44
Decoherence Functional Quantum Programming – p. 23/44
� Decoherence • 2 2 0 � ���� ���� φ π 1 φ δ Functional Quantum Programming – p. 23/44
� Decoherence • 2 2 0 � ���� ���� φ π 1 φ δ Classically π 1 ◦ δ = I Functional Quantum Programming – p. 23/44
� Decoherence • 2 2 0 � ���� ���� φ π 1 φ δ Classically π 1 ◦ δ = I Quantum Functional Quantum Programming – p. 23/44
Recommend
More recommend