Not: Bu cevap, permütasyonun tutarlı olmasını istediğiniz anlamına gelir, yani 1/3 yerine istiyorsunuz şansı, 1/3 şansı ve 1/3 şansı .13√(|001⟩+|010⟩+|100⟩)001010100
Bu görevi nasıl belirlediğinize dikkat edin, çünkü geri döndürülebilirlik kısıtlamaları nedeniyle çok kolay imkansız olabilir. Örneğin, girişi için GHZ durumunu . Ancak, ve girişi için GHZ durumunu da çıktılamak istiyorsanız , bu çalışmaz. Aynı çıkış durumuna birden fazla giriş durumu gönderemezsiniz (kod çözme olmadan). "Sadece 0000111 gibi sıralı artan girdileri önemsiyorum ama 1110000 veya 0010110 değil; bunlarla ne istersen yapabilirsin" dediğin sürece, bu iyi olacak.|001⟩∣∣31⟩=13√(|001⟩+|010⟩+|100⟩)|010⟩|100⟩
Sıralanmış bir girdinin kuantum permütasyonunu üretmenin bir püf noktası, önce her biri tekdüze bir üst üste binmede tohum değerleri listesine bir sıralama ağı uygulayarak bir "permütasyon durumu" hazırlamaktır. Sıralama ağı, sıralanan tohumları tutan kübitler, aynı zamanda sıralama ağı karşılaştırmalarını tutan kübitler verir. Permütasyon durumu sadece karşılaştırma kubitleridir. Girişinize uygulamak için, girişi sıralama ağı üzerinden ters yönde çalıştırmanız yeterlidir. Burada bazı zor detaylar olduğunu unutmayın; bkz. " Fermiyonik Hamiltonyenlerin Özdeğerlerini Hazırlamak için Geliştirilmiş Teknikler ". Bu tekniği, yalnızca benzersiz değerler yerine tekrarlanan değerlere sahip girdiler üzerinde çalışacak şekilde genelleştirmeniz gerekir.
Ayrıca çok yakından bağlı olan " kuantum sıkıştırma ", içine bakmak isteyebilirsinizÜretmek istediğiniz durumları ( bitleri ayarlanmış tüm bit durumlarının tekdüze üst üste binmeleri ). Temel fark, kuantum sıkıştırma devresini ters yönde çalıştırmanız ve "kaç tane var?" "Bana doğru sayıdaki bir durumu ver" yerine.∣∣nk⟩nk
Sanırım söylüyorum, bu tür devletleri üretmek beklediğinizden daha karmaşık. Bence bunun karmaşık olmasının sebebi, çıktılarınızdaki genliklerin büyüklüğünün, girdinizin hesaplama temel durumuna bağlı olmasıdır. Örneğin, için dört klasik durumun süperpozisyonu olan bir çıktı istersiniz, böylece içinde bir prefabtorunuz var . Ancak için istenen çıktı altı klasik duruma sahiptir ve bu yüzden nın bir prefactor'unu gizler .|0001⟩14√∣∣41⟩|0011⟩∣∣42⟩16√