Classical shadow

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

In quantum computing, classical shadow is a protocol for predicting expectation values of a quantum state using only a logarithmic number of measurements.[1] Given an unknown state ρ, a tomographically complete set of gates U (e.g. Clifford gates), a set of M observables {Oi} and a quantum channel defined by randomly sampling from U, applying it to ρ and measuring the resulting state, predict the expectation values tr(Oiρ).[2] A list of classical shadows S is created using ρ, U and by running a Shadow generation algorithm. When predicting the properties of ρ, a Median-of-means estimation algorithm is used to deal with the outliers in S.[3] Classical shadow is useful for direct fidelity estimation, entanglement verification, estimating correlation functions, and predicting entanglement entropy.[1]

Recently, researchers have built on classical shadow to devise provably efficient classical machine learning algorithms for a wide range of quantum many-body problems.[4] For example, machine learning models could learn to solve ground states of quantum many-body systems and classify quantum phases of matter.

Algorithm Shadow generation
Inputs N copies of an unknown n-qubit state ρ

                  A list of unitaries U that is tomographically complete

                  A classical description of a quantum channel 1

  1. For i ranging from 1 to N:
    1. Choose a random unitary Ui from U
    2. Apply Ui to ρ to get a state ρi
    3. Perform a computational basis measurement on ρi for an outcome bi{0,1}n
    4. Classically compute 1(Ui|bibi|Ui) and add it to a list S
Return S


  • "←" denotes assignment. For instance, "largestitem" means that the value of largest changes to the value of item.
  • "return" terminates the algorithm and outputs the following value.
Algorithm Median-of-means estimation
Inputs A list of observables O1,....,OM

                  A classical shadow S(ρ;N)=[ρ^1,,ρ^N]

                  A positive integer K that specifies how many linear estimates of ρ to calculate.

Return A list [o^1,...,o^M] where o^i=median(trace(Oip1),...,trace(OipK))
where pk=1N/Ki=(k1)N/K+1kN/Kρ^i for k=1,...,K.


  • "←" denotes assignment. For instance, "largestitem" means that the value of largest changes to the value of item.
  • "return" terminates the algorithm and outputs the following value.

References

[edit | edit source]
  1. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).