Aracılığıyla paylaş


ApproximatelyPreparePureStateCP işlemi

Tam ad: Std.StatePreparation.ApproximatelyPreparePureStateCP

operation ApproximatelyPreparePureStateCP(tolerance : Double, coefficients : ComplexPolar[], qubits : Qubit[]) : Unit is Adj + Ctl

Özet

Bir katsayı kümesi ve büyük endian kuantum yazmacı göz önünde bulundurulduğunda, verilen katsayılar tarafından tanımlanan bu kayıtta belirli bir yaklaşık değer toleransı kadar bir durum hazırlar.

Açıklama

Bu işlem, |0...0⟩ n kubit hesaplama temeli durumundan karmaşık katsayıları rj·e^(i·tj) olan |ψ⟩ rastgele bir kuantum durumu hazırlar. Özellikle bu işlemin eylemi, all-zeros durumuna göre hareket eden bir birimsel dönüşüm U ile benzetilebilir

$$ \begin{align} U\ket{0...0} & = \ket{\psi} \\ & = \frac{ \sum_{j=0}^{2^n-21} r_j e^{i t_j} \ket{j} }{ \sqrt{\sum_{j=0}^{2^n-1} |r_j|^2} }. \end{hizalama} $$

Girdi

hoşgörü

Belirtilen durum hazırlanırken kullanılacak yaklaşık tolerans.

Katsayı -ları

Mutlak değerleri ve fazları (rj, tj) ile temsil edilen en fazla 2ⁿ karmaşık katsayı dizisi. j. katsayısı, büyük endian biçiminde kodlanmış |j⟩ sayı durumunu dizine alır.

kubitler

Kubit kodlama sayı durumlarını büyük endian biçiminde kaydeder. Bunun |0...0⟩ hesaplama temeli durumunda başlatılması bekleniyor.

Açıklamalar

coefficients, 2ⁿ'den az belirtilirse öğelerle (rj, tj) = (0,0, 0,0) doldurulur.

Kaynaklar

  • arXiv:quant-ph/0406176 "Quantum Logic Circuits Sentezi", Vivek V. Shende, Stephen S. Bullock, Igor L. Markov