Classical shadow

From testwiki
Jump to navigation Jump to search

Template:Orphan

In quantum computing, classical shadow is a protocol for predicting functions 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.

Template:Algorithm-begin

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


Template:Algorithm-end

Template:Algorithm-begin

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 [o1,...,oM] where oi=median(trace(O1p1),...,trace(O1pK))
where pk=1[NK]i=(k1)[NK]+1k[NK]ρ^i and where k=1,...,K.


Template:Algorithm-end

References

Template:Reflist

Template:Quantum computing