QuantumClifford.jl icon indicating copy to clipboard operation
QuantumClifford.jl copied to clipboard

improvements to `GeneralizedStabilizer` API

Open Krastanov opened this issue 1 year ago • 7 comments

There are a few interfaces not yet supported for GeneralizedStabilizer but which are easy to add. Here are operations which we can and can not do -- the goal is to have all of them implemented.

  • [X] sm = GeneralizedStabilizer(S"-X")
  • [ ] sm⊗sm
  • [ ] sm⊗S"X"
  • [ ] pcT*sm
  • [ ] tHadamard*sm
  • [ ] pcT⊗tId1
  • [ ] pcT⊗P"X"
  • [ ] embed(..., sm)
  • [ ] copy(sm)

Krastanov avatar Apr 12 '24 13:04 Krastanov

@hongyehu pinging just for reference as this is related to #259

Krastanov avatar Apr 12 '24 13:04 Krastanov

For documentation of Generalized Stabilizer, the paper by ted yoder can be helpful. I will be to work on this documentation as well.

''" The generalized stabilizer representation of an arbitrary state τ is a two-tuple (χ, B(S, D)). Here χ is a density matrix and B(S, D) = B(T ) is the basis in which χ is expressed. A generalized stabilizer (χ, B(T )), in some sense, separates the “classical” part of the quantum state from the quantum. The quasi-classical tableau T updates through Clifford gates and measurements, while the the χ-matrix is updated by non-Clifford operations.""

Is implementation inspired from this paper (A generalization of the stabilizer formalism for simulating arbitrary quantum circuits) while building generalized stabilizer ?

Non-clifford and non-stabilizer/non-stabilizerness mean the same thing right?

Fe-r-oz avatar Jun 21 '24 13:06 Fe-r-oz

Hi Feroz,  Yes, it is largely inspired by Ted’s paper.Hong-Ye Hu, Ph.D.Department of Physics,Harvard University, Cambridge, MAOn Jun 21, 2024, at 9:55 AM, Feroz @.***> wrote: For documentation of Generalized Stabilizer, the paper by ted yoder can be helpful. I will be to work on this documentation as well. ''" The generalized stabilizer representation of an arbitrary state τ is a two-tuple (χ, B(S, D)). Here χ is a density matrix and B(S, D) = B(T ) is the basis in which χ is expressed. A generalized stabilizer (χ, B(T )), in some sense, separates the “classical” part of the quantum state from the quantum. The quasi-classical tableau T updates through Clifford gates and measurements, while the the χ-matrix is updated by non-Clifford operations."" Is implementation inspired from this paper (A generalization of the stabilizer formalism for simulating arbitrary quantum circuits) while building generalized stabilizer ? Non-clifford and non-stabilizer/non-stabilizerness mean the same thing right?

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

hongyehu avatar Jun 21 '24 14:06 hongyehu

@Krastanov, Would it be better to implement these tasks as separate PRs as that would make review easier? Completed sm⊗sm, should I submit a PR about this second task for review? I would value your input before proceeding.

julia> sm1 = GeneralizedStabilizer(S"X")
A mixture ∑ ϕᵢⱼ Pᵢ ρ Pⱼ† where ρ is
𝒟ℯ𝓈𝓉𝒶𝒷
+ Z
𝒮𝓉𝒶𝒷
+ X
with ϕᵢⱼ | Pᵢ | Pⱼ:
 1.0+0.0im | + _ | + _

julia> sm2 = GeneralizedStabilizer(S"-Z")
A mixture ∑ ϕᵢⱼ Pᵢ ρ Pⱼ† where ρ is
𝒟ℯ𝓈𝓉𝒶𝒷
+ X
𝒮𝓉𝒶𝒷
- Z
with ϕᵢⱼ | Pᵢ | Pⱼ:
 1.0+0.0im | + _ | + _

julia> sm1 ⊗ sm2
A mixture ∑ ϕᵢⱼ Pᵢ ρ Pⱼ† where ρ is
𝒟ℯ𝓈𝓉𝒶𝒷
+ Z_
+ _X
𝒮𝓉𝒶𝒷
+ X_
- _Z
with ϕᵢⱼ | Pᵢ | Pⱼ:
 1.0+0.0im | + __ | + __

julia> sm1 ⊗ sm2 ⊗ sm1
A mixture ∑ ϕᵢⱼ Pᵢ ρ Pⱼ† where ρ is
𝒟ℯ𝓈𝓉𝒶𝒷
+ Z__
+ _X_
+ __Z
𝒮𝓉𝒶𝒷━
+ X__
- _Z_
+ __X
with ϕᵢⱼ | Pᵢ | Pⱼ:
 1.0+0.0im | + ___ | + ___

P.S: some time later: After spending some time on this, 5/8 of these tasks are completed. It appears that one PR on these 5 tasks will be fine. I will rewire the current open noncliff pr to address these tasks first and focus on latter part later. Sorry for the ping!

Edit: The tensor product is implemented in #345 so closing this comment as resolved! ✨

Fe-r-oz avatar Aug 10 '24 05:08 Fe-r-oz

This interface can also be added as we can do this operation as well!

  • [ ] P"-Y" * sm
julia> sm = GeneralizedStabilizer(S"-X")
A mixture ∑ ϕᵢⱼ Pᵢ ρ Pⱼ† where ρ is
𝒟ℯ𝓈𝓉𝒶𝒷
+ Z
𝒮𝓉𝒶𝒷
- X
with ϕᵢⱼ | Pᵢ | Pⱼ:
 1.0+0.0im | + _ | + _

julia> P"-Y" * sm
A mixture ∑ ϕᵢⱼ Pᵢ ρ Pⱼ† where ρ is
𝒟ℯ𝓈𝓉𝒶𝒷
- Z
𝒮𝓉𝒶𝒷
+ X
with ϕᵢⱼ | Pᵢ | Pⱼ:
 1.0+0.0im | + _ | + _

Fe-r-oz avatar Aug 10 '24 18:08 Fe-r-oz

Inner product between generalized stabilizers (Section V of Ted's paper):

  • [ ] dot(sm1, sm2)

Fe-r-oz avatar Sep 03 '24 21:09 Fe-r-oz

  • [ ] Stabilizer Union U of T' = (S', D'), and T = (S, D) (Theorem 16, Page 11)

Edit: Theorem 16: The stabilizer union U of two tableaus T ′ = (S′, D′) and T = (S, D) can be calculated in $O(n^3)$ time. stabilizer union is utilized in inner product of generalized stabilizer on page 12 of this paper.

Fe-r-oz avatar Oct 15 '24 18:10 Fe-r-oz