İlk prensiplerden bir sunum için Ryan O'Donnell'in cevabını seviyorum . Ama biraz daha yüksek seviyeli bir cebirsel tedavi için, bunu nasıl yapacağım.
Herhangi bir üniter U için kontrollü bir işleminin ana özelliği, ( tek bir şekilde) bazı kubitlerin değerine bağlı olarak bazı kübitler üzerinde bir işlem gerçekleştirmesidir. Bunu açıkça cebirsel olarak yazabilmemizin yolu (ilk üzerindeki kontrol ile):
burada , aynı boyutta bir kimlik matrisidir . Burada, ve ve durumlarının projektörleridirUU1 U | 0 ⟩
CU=|0⟩⟨0|⊗1+|1⟩⟨1|⊗U
1U| 1 ⟩|0⟩⟨0|| 0 ⟩ | 1 ⟩|1⟩⟨1||0⟩|1⟩ ancak bunları burada bir ölçümün elemanları olarak kullanmıyoruz, ancak birinci kubitin durum uzayının birine veya diğer alt uzayına bağlı olarak diğer kübitler üzerindeki etkiyi tanımlamak için kullanıyoruz.
Biz kapı için matrisi oluşturmak için kullanabilir bir gerçekleştiren QuBit 3 işlemi, tutarlı bir kontrollü olarak bu düşünce ile, QuBit 1 durumuna şartına 2 ve 3'te işlem:
X( 1 2CX1,3XC X 1 , 3(12⊗X)
CX1,3=|0⟩⟨0|⊗14+|1⟩⟨1|⊗(12⊗X)=[140404(12⊗X)]=⎡⎣⎢⎢⎢12020202021202020202X02020202X⎤⎦⎥⎥⎥,
burada son ikisi boşluktan (ve akıl sağlığından) tasarruf etmek için blok matris temsilleridir.
Daha da iyisi: tensör faktörlerinin sırasının sabit bir sırada olması gerekmediğini fark etmemize izin verdiğimiz bazı matematiksel düzeyde - operasyonun kontrolü ve hedefinin herhangi bir iki tensörde olabileceğini fark edebiliriz. ve diğer tüm operatörün açıklamasını ile . Bu, doğrudan temsile geçmemizi sağlayacaktır
C X 1 , 312C X 3 , 1
C X1 , 3==| 0 ⟩⟨ 0 |kontrol⊗12kurmadan⊗12hedef⎡⎣⎢⎢⎢12020202021202020202020202020202⎤⎦⎥⎥⎥+| 1 ⟩⟨ 1 |kontrol⊗12kurmadan⊗Xhedef+⎡⎣⎢⎢⎢02020202020202020202X02020202X⎤⎦⎥⎥⎥
ve ayrıca kontrol ve hedef rolleri tersine çevrilirse ne yapacağımızı hemen görmemizi sağlar:
C X3 , 1===12hedef⊗12kurmadan⊗ | 0 ⟩⟨ 0 |kontrol⎡⎣⎢⎢⎢⎢⎢| 0 ⟩⟨ 0 || 0 ⟩⟨ 0 || 0 ⟩⟨ 0 || 0 ⟩⟨ 0 |⎤⎦⎥⎥⎥⎥⎥⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢10000000000001000010000000000001+Xhedef⊗12kurmadan⊗ | 1 ⟩⟨ 1 |kontrol+⎡⎣⎢⎢⎢⎢⎢| 1 ⟩⟨ 1 || 1 ⟩⟨ 1 || 1 ⟩⟨ 1 || 1 ⟩⟨ 1 |⎤⎦⎥⎥⎥⎥⎥00001000010000000000001000010000⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥.
Ama en iyisi: bu operatörleri cebirsel olarak yazabiliyorsanız, dev matrisleri tamamen dağıtmak için ilk adımları atabilirsiniz, bunun yerine
ve
C X 3 , 1 = 1 2C X1 , 3= | 0 ⟩⟨ 0 |⊗12⊗12+ | 1 ⟩⟨ 1 |⊗12⊗XC X3 , 1= 12⊗12⊗| 0 ⟩⟨ 0 | + X⊗12⊗| 1 ⟩⟨ 1 |. Bunlarla ne kadar yapabileceğinizin bir sınırı olacaktır, elbette - temsildeki basit bir değişikliğin, manuel hesaplama ile izlenebilir olmanın yanı sıra, zor bir kuantum algoritmasını verimli bir şekilde çözülebilir hale getirmesi olası değildir - ancak basit devreleri çok daha etkili bir şekilde akla getirebilirsiniz. bu ifadeleri dev uzay yiyen matrislerden daha çok kullanmak.