Xây dựng chung của


12

Hai trong số các quốc gia vướng mắc được biết đến nhiều nhất là nhà nước GHZ |ψ=1/2(|0n+|1n)Wn-state, vớiW3=1/3(|100+|010+|001).

Xây dựng trạng thái GHZ là đơn giản cho n tùy ý . Tuy nhiên, việc thực hiện Wn -state khó khăn hơn. Với n=2 thì dễ, và với n=4 chúng ta có thể sử dụng

H q[0,3]
X q[0,3]
Toffoli q[0],q[3],q[1]
X q[0,3]
Toffoli q[0],q[3],q[2]
CNOT q[2],q[0]
CNOT q[2],q[3]

Ngay cả đối với n=3 chúng tôi cũng có triển khai, xem câu trả lời này chẳng hạn. Tuy nhiên, tôi đã không tìm thấy một thuật toán, với một n , xuất ra mạch để xây dựng Wn -state.

Liệu một thuật toán như vậy, được xác định bởi các cổng đơn và hai qubit, có tồn tại không? Và nếu như vậy, nó là gì?

Câu trả lời:


8

Có, có một số triển khai của thuật toán này trong kata lượng tử chồng chất (nhiệm vụ 14 và 15):

  • Với n=2k , bạn có thể sử dụng thuật toán đệ quy: tạo trạng thái W trên 2k1 qubit 2 k - 1 đầu tiên , phân bổ một qubit ancilla trong |+ Trạng thái, thực hiện một số SWAP được kiểm soát để đặt trạng thái của các qubit 2k1 thứ hai và sau đó một số KHÔNG được kiểm soát để đặt lại ancilla trở lại |0 ( WState_PowerOfTwo_Referencehoạt động).
  • Đối với một n tùy ý , bạn có thể sử dụng thuật toán đệ quy như được mô tả bởi DaftWullie ( WState_Arbitrary_Referencethao tác).
  • Wn state for an arbitrary n using the first recursive algorithm. Allocate extra qubits to pad the n given ones to 2k, create a state W2k on them and measure the extra qubits; if all qubits measure to 0, the state of the original qubits is Wn, otherwise reset and repeat the process (WState_Arbitrary_Postselect operation).

This is my favorite task of that kata, because it allows so many different approaches.


6

The conceptually simplest way to produce a W state is somewhat analogous to classical reservoir sampling, in that it involves a series of local operations that ultimately create a uniform effect.

Basically, you look at each qubit in turn and consider "how much amplitude do I have left in the all-0s state, and how much do I want to transfer into the just-this-qubit-is-ON state?". It turns out that the family of rotations you need is what I'll call the "odds gates" which have the following matrix:

M(p:q)=1p+q[pqqp]

Using these gates, you can get a W state with a sequence of increasingly-controlled operations:

transfer-out-of-0

This circuit is somewhat inefficient. It has cost O(N2+Nlg(1/ϵ)) where N is the number of qubits and ϵ is the desired absolute precision (since, in an error corrected context, the odds gates are not native and must be approximated).

We can improve the efficiency by switching from a "transfer out of what was left behind" strategy to a "transfer out of what is traveling along" strategy. This adds a fixup sweep at the end, but only requires single controls on each operation. This reduces the cost to O(Nlg(1/ϵ)):

transfer-out-of-1

It is still possible to do better, but it starts to get complicated. Basically, you can use a single partial Grover step to get N amplitudes equal to 1/N but they will be encoded into a binary register (we want a one-hot register with a single bit set). Fixing this requires a binary-to-unary conversion circuit. The tools needed to do this are covered in "Encoding Electronic Spectra in Quantum Circuits with Linear T Complexity"). Here are the relevant figures.

The partial grover step:

Preparing a uniform distribution with a partial grover step

How to perform an indexed operation (well... sort of. the closest figure had an accumulator which is not quite right for this case):

indexed operation

Using this more complicated approach reduces the cost from O(Nlg(1/ϵ)) to O(N+lg(1/ϵ)).


4

You can define the sequence recursively. Conceptually, what you want to do is:

  • Create the initial state |0N

  • On qubit 1, apply the gate

    1N(1N1N11)

  • Controlled off qubit 1, apply "make |WN1" on qubits 2 to N (i.e. on do this if qubit 1 is in the |1 state, otherwise do nothing)

  • Apply a bit-flip gate on qubit 1.

This algorithm, as expressed, is not made up of only one- and two-qubit gates, but it can certainly be broken down as such by standard universality constructions.

Also, this may not be the most efficient algorithm you could come up with. For example, if N=2n, you could use just n layers of square-root of swap gates to produce what you want -- start with a |1 on a single qubit. Root-swap with a second qubit, and you've got the |W2 (up to phases that you'll need to take care of). Put an ancilla next to both of these, and do root swaps between W-ancilla pairs, and you've got |W4, repeat and you've got |W8, and so on. I believe this is basically what they do experimentally here. You should be able to incorporate this algorithm into the first one to make it more efficient (O(logN)) for any arbitrary size, but I've never stopped to work out the details with any great care.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.