Aracılığıyla paylaş


PreparePureStateD işlemi

Tam ad: Std.StatePreparation.PreparePureStateD

operation PreparePureStateD(coefficients : Double[], 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 açıklanan bu kayıtta bir durum hazırlar.

Açıklama

Bu işlem, |0...0⟩ n-kubit hesaplama temeli durumundan aj katsayılarına sahip rastgele bir kuantum durumu |ψ⟩ hazırlar.

Sıfırların tümü durumundaki U eylemi $$ \begin{align} U \ket{0\cdots 0} = \ket{\psi} = \frac{\sum_{j=0}^{tarafından verilir 2^n-1}\alpha_j \ket{j}}{\sqrt{\sum_{j=0}^{2^n-1}|\alpha_j|^2}}. \end{hizalama} $$

Girdi

Katsayı -ları

En fazla 2ⁿ gerçek 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 normalleştirilir ve 2ⁿ'den az belirtilirse aj = 0,0 öğeleriyle doldurulur.

Örnek

Aşağıdaki kod parçacığı, kubit yazmaç qubits|ψ⟩=√(1/8)|0⟩+√(7/8)|2⟩=√(1/8)|00⟩+√(7/8)|10⟩ kuantum durumunu hazırlar.

let amplitudes = [Sqrt(0.125), 0.0, Sqrt(0.875), 0.0];
use qubits = Qubit[2];
PreparePureStateD(amplitudes, qubits);

Kaynaklar

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

Ayrıca Bkz.

  • Std.StatePreparation.ApproximatelyPreparePureStateCP