Kuantum devrelerinin otomatik derlenmesi


12

Buradaki son bir soru, 4-qubit CCCZ kapısının (kontrollü-kontrollü-kontrollü-Z) basit 1-qubit ve 2-qubit kapılarına nasıl derleneceğini sordu ve şimdiye kadar verilen tek cevap 63 kapı gerektiriyor !

İlk adım, Cı kullanmaktı n Nielsen ve Chuang verilen U yapı:n

İle n=3 , bu araçlar 4 CCNOT kapılar ve 3 basit kapıları (1 CNOT ve 2 Hadamards hedef QuBit ve son iş QuBit nihai CZ yapmak için yeterlidir).

Bu makalenin 1. teoremi , genel olarak CCNOT'un 9 bir-kübit ve 6 iki-kubit geçidi (toplam 15) gerektirdiğini belirtmektedir:

resim açıklamasını buraya girin


Bu şu anlama gelir:

(4 CCNOT) x (CCNOT başına 15 kapı) + (1 CNOT) + (2 Hadamard) = 63 toplam kapı .

Bir yorumda , 63 kapının daha sonra, örneğin otomatik gruplar teorisinden bir "otomatik prosedür" kullanılarak daha da derlenebileceği önerilmiştir .

Bu "otomatik derleme" nasıl yapılabilir ve bu durumda 1-qubit ve 2-qubit kapılarının sayısını ne kadar azaltabilir?


1
Birkaç şeyin ortasındayım ama sorunuzu gördüm. Global Mølmer – Sørensen kapıları 2 kubit kapıdır ve kağıt Verimli kuantum devre yapılarında küresel etkileşimlerin kullanımı şu şekilde açıklanmaktadır: “Üç GMS kapısı kullanılarak CCCZ geçidinin optimize edilmiş uygulaması”, bkz. Şekil 9. Cevabı yazabilirsiniz. faydalı.
Rob

Resimdeki temsil sadece 4 CCNOT ve 93 yerine 63 kapı gerektirir.
Dyon J Don Kiwi van Vreumingen

@DonKiwi, kaydetti! 6 yerine 4 CCNOT.
user1271772

1
@Rob: İki Hadamard kullanarak CCCX'te X'i konjuge etmeyi öneriyor gibisiniz. Daha sonra CCCX, yukarıdaki Nielsen & Chaung devresinde olduğu gibi ayrıştırılabilir. Bu doğru mu? DonKiwi'nin sorusuna ikinci cevabımda böyle bir şey yaptım. Görünüşe göre yorumunuz tam olarak bu cevabı yazarken geldi, çünkü onlar 5 dakika arayla (ve yazmam 5 dakikadan fazla sürdü). "Otomatik derleme" ile ilgili bu soru, "açık bir şekilde" bir devre inşa edebilmek ve daha sonra otomatik olarak daha verimli bir şeye derlemek güzel olacağından, hala devam etmektedir.
user1271772

1
@ user1271772 - Her (qu) bit yardımcı olur.
Rob

Yanıtlar:


6

Let g1gM sen kullanımına izin verildiğini temel kapıları olun. Bu CNOT12 ve CNOT13 vb. Amaçlarına yönelik olarak ayrı muamele edilir. Dolayısıyla M , polinom olarak n , kubit sayısına bağımlıdır . Kesin bağımlılık, kullandığınız çeşitli kapıların detaylarını ve ne kadar k yerel olduklarını içerir. Örneğin, x tek kübit kapıları ve C Z gibi düzene bağlı olmayan y 2-kubit kapıları varsa .CZM=xn+(n2)y

Bir devre daha sonra bir sıra bu jeneratörlerin bir ürünüdür. Ama hiçbir şey yapmayan birden fazla devre var. Gibi . Böylece grup üzerinde ilişkiler kurarlar. Bu, birçok ilişkinin olduğu bir grup sunumu .CNOT12CNOT12=Idg 1g E | R ' 1 g1gMR1

Çözmek istediğimiz soruna bu grupta aynı öğeyi temsil eden en kısa kelime olan bir kelime verilmiştir. Genel grup sunumları için bu umutsuzdur. Bu sorunun erişilebilir olduğu grup sunumuna otomatik denir.

Ancak daha basit bir sorunu düşünebiliriz. Biz bazılarını atarsan , biçimi haline gelmeden dan sonra kelimeler her yerde kelimeler geriye kalan tek harfler bulunmaktadır. içermeyen ilişkileri kullanarak onları daha kısa hale getirmeyi , tüm devreyi kısaltırız. Bu, CNOT'ları diğer cevapta kendi başlarına optimize etmeye benzer.giw1gi1w2gi2wkwigi

Örneğin, orada üç jeneratörler ve kelime olup olmadığını , ama biz uğraşmak istemiyoruz , edeceğiz yerine kısaltması ve için ve . Daha sonra onları olarak bir araya getirdik ve bu orijinal kelimenin kısalmasıdır.aababbacbbabacw1=aababbaw2=bbabaw^1w^2w^1cw^2

Diyelim ki WLOG (genelleme kaybı olmadan), şimdi belirtilen tüm kapıları kullandığımız yerde zaten olduğumuzu . Yine bu muhtemelen otomatik bir grup değildir. Ama ya bazı ilişkileri dışarı atarsak. Daha sonra, gerçekten istediğimiz noktaya kadar bir bölüm haritası olan başka bir grubumuz olacak.g1gMR1

Grup hiçbir ilişkileri olan bir serbest grup Eğer koyarsanız, ama sonra bir ilişki olarak elde edersiniz ücretsiz ürün ve her bölüm modülo sayısını azaltan bir bölüm haritası vardır .g1g2g12=id Z2Zg12

Ortaya koyduğumuz ilişkiler, üstteki (bölüm haritasının kaynağı) tasarımla otomatik olacak. Yalnızca sözcüğü kalan ve kısaltan ilişkileri kullanırsak, bölüm grubu için daha kısa bir kelime olacaktır. Sadece bölüm grubu (bölüm haritasının hedefi) için uygun olmaz, ancak başlangıç ​​uzunluğu ile uzunluğuna sahip olur.

Genel fikir buydu, bunu belirli bir algoritmaya nasıl dönüştürebiliriz?

Otomatik bir grup almak için atılacak ve ilişkileri nasıl ? Bu, tipik olarak kullandığımız temel kapı türleri hakkında bilginin devreye girdiği yerdir. Çok fazla katılım vardır, bu yüzden sadece bunları saklayın. Bunların sadece temel konular olduğuna dikkat edin, bu yüzden donanımınızın çipinizde büyük ölçüde ayrılmış kübitleri değiştirmekte zorlanıyorsa, bu onları sadece kolayca yapabileceğinizlere yazıyor ve bu kelimeyi olabildiğince kısa olmalıdır.gi

Örneğin , IBM yapılandırmanız olduğunu varsayalım . Sonra izin verilen kapılardır. Genel bir permütasyon yapmak istiyorsanız, bunu faktörlerine . Bu gruptaki bir kelimedir istediğimiz o kısaltmak için .s01,s02,s12,s23,s24,s34si,i+1s01,s02,s12,s23,s24,s34R1

Bunların standart müdahaleler olması gerekmediğini unutmayın. Örneğin ek olarak 'yi atabilirsiniz . Gottesman-Knill teoremini düşünün , ancak soyut bir şekilde genellemenin daha kolay olacağı anlamına gelir. Kısa tam diziler altında özelliği kullanmak gibi, eğer iki taraf için sonlu tam yeniden yazma sistemleriniz varsa, o zaman orta grup için bir tane alırsınız. Bu yorum cevabın geri kalanı için gereksizdir, ancak bu cevabındakilerden daha büyük daha genel örnekleri nasıl oluşturabileceğinizi gösterir.R(θ)XR(θ)1X

ilişkiler sadece biçimindedir . Bu bir Coxeter grubu verir ve otomatiktir. Aslında, bu otomatik yapı için algoritmayı kodlamak için sıfırdan başlamak zorunda bile değiliz. Zaten Sage'de (Python tabanlı) genel amaçlı olarak uygulanmaktadır. Tek yapmanız gereken belirtmektir ve kalan uygulama zaten yapılır. Bunun üzerine bazı hızlandırmalar yapabilirsiniz.(gigj)mij=1mij

mij , kapıların yerellik özellikleri nedeniyle hesaplamak gerçekten kolaydır. Kapılar en ise -lokal, daha sonra hesaplama bir yapılabilir boyutlu bir Hilbert alanı. Bunun nedeni, endekslerin çakışmaması durumunda olduğunu bilirsiniz . , ve gidip . Ayrıca, girişlerin yalnızca yarısından daha azını hesaplamanız gerekir. Bunun nedeni, matrisinin simetrik olması, diyagonalde '(s) olması ( ). Ayrıca girişlerin çoğu sadece ilgili qubits yeniden adlandırıyor, böylece sırasını biliyorsanızkmij22k1mij=2mij=2gigjmij1(gigi)1=1(CNOT12H1) , hesaplamayı tekrarlamadan .CNOT37H3

Bu, yalnızca en fazla iki ayrı kapıyı kapsayan tüm ilişkileri halletti (kanıt: egzersiz). ya da daha fazlasını içeren ilişkilerin tamamı atıldı. Şimdi onları geri koyduk. Diyelim ki elimizde Dehn'in açgözlü algoritmasını yeni ilişkiler kullanarak yapabiliriz . Bir değişiklik olsaydı, tekrar Coxeter grubundan geçmek için geri çektik. Hiçbir değişiklik kalmayana kadar bu tekrarlanır.3

Kelime her zaman kısalıyor veya aynı uzunlukta kalıyor ve yalnızca doğrusal veya karesel davranışa sahip algoritmalar kullanıyoruz. Bu oldukça ucuz bir işlemdir, bu yüzden de yapabilir ve aptalca bir şey yapmadığınızdan emin olabilirsiniz.

Kendiniz test etmek istiyorsanız, jeneratör sayısını , denediğiniz rastgele kelimenin uzunluğunu ve Coxeter matrisini .NKm

edge_list=[]
for i1 in range(N):
    for j1 in range(i):
        edge_list.append((j1+1,i1+1,m[i1,j1]))
G3 = Graph(edge_list)
W3 = CoxeterGroup(G3)
s3 = W3.simple_reflections()
word=[choice(list([1,..,N])) for k in range(K)]
print(word)
wTesting=s3[word[0]]
for o in word[1:]:
    wTesting=wTesting*s3[o]
word=wTesting.coset_representative([]).reduced_word()
print(word)

Bir ile örnek N=28ve K=20ilk iki hat girişi indirgenmemiş sözcük sonraki iki indirgenmiş kelimedir. Umarım matrisine girerken yazım hatası yapmadım .m

[26, 10, 13, 16, 15, 16, 20, 22, 21, 25, 11, 22, 25, 13, 8, 20, 19, 19, 14, 28]

['CNOT_23', 'Y_1', 'Y_4', 'Z_2', 'Z_1', 'Z_2', 'H_1', 'H_3', 'H_2', 'CNOT_12', 'Y_2', 'H_3', 'CNOT_12', 'Y_4', 'X_4', 'H_1', 'Z_5', 'Z_5', 'Y_5', 'CNOT_45']

[14, 8, 28, 26, 21, 10, 15, 20, 25, 11, 25, 20]

['Y_5', 'X_4', 'CNOT_45', 'CNOT_23', 'H_2', 'Y_1', 'Z_1', 'H_1', 'CNOT_12', 'Y_2', 'CNOT_12', 'H_1']

gibi jeneratörleri geri koyarsak, sadece gibi ilişkileri geri koyarız ve qubit içermeyen kapılarla gidip gelmesi . Bu, daha önce mümkün olduğunca uzun süre . gibi durumlardan kaçınmak istiyoruz . (Cliff + T'de genellikle T-sayısını en aza indirmeye çalışır). Bu kısım için, bağımlılığı gösteren yönlendirilmiş asiklik grafik çok önemlidir. Bu, iyi bir topolojik DAG türü bulma problemidir. Bu, daha sonra hangi tepe noktasının kullanılacağına dair bir seçeneğe sahip olduğunda önceliği değiştirerek yapılır. (Bu parçayı optimize etmek için zaman harcamam.)TiTin=1Tiiw1gi1w2gi2wkwiX1T2X1T2X1T2X1

Kelime zaten en uygun uzunluğa yakınsa, yapacak çok şey yoktur ve bu prosedür yardımcı olmaz. Birden birimleri varsa ve bir olduğunu unutmuşum Ama eğer bu sorgulama en temel örneği olarak ise birinin sonunda bir , o çiftin kurtulmak gelecek başında. Bu, ortak rutinleri, onları bir araya getirdiğinizde, bu bariz iptallerin hepsinin yerine getirileceğinden daha güvenli bir şekilde kara kutuya alabileceğiniz anlamına gelir. O kadar açık olmayan başkalarını yapar; Bu kullanım sırasında .HiHimij1,2


+1 !!! Çok detay!
Okuyorum

1
@AHussain, bunun "naif" CCCZ yapısına uygulandığım bir örnek üzerinde çalışmak ve daha az sayıda kapı ile sonuçlanmak mümkün müdür? CCCZ ile ilgili orijinal sorunun şimdi 6 cevabı var ve birçoğunun çok daha küçük kapı sayısı var. Kapı sayımı için yaklaşımınızın ne vereceğini merak ediyorum.
user1271772

4

Https://arxiv.org/abs/quant-ph/0303063 1 'de açıklanan prosedür kullanılarak , herhangi bir diyagonal kapı - özellikle herhangi bir CCCZ kapısı - örneğin CNOT'ler ve tek kubbeli diyagonal kapılar açısından ayrıştırılabilir, CNOT'lar klasik bir optimizasyon prosedürü izlenerek kendi başlarına optimize edilebilir.

Referans, keyfi diyagonal 4-kubit kapıları için 16 CNOT kullanan bir devre sağlar (Şekil 4).


Not: Prensip olarak daha basit bir devre olsa da (bahsedilen devre, daha kısıtlı bir devre mimarisi göz önünde bulundurularak optimize edilmiştir), yakın olmalıdır - devre formunun tüm durumlarını oluşturmalıdır. önemsiz olmayan herhangi bir alt küme için ve 4 qubit için bunlardan 15 tane vardır.iIxiI{1,2,3,4}

Ayrıca, bu konstrüksiyonun hiçbir şekilde optimal olması gerekmediğini unutmayın.


1 Not: Ben bir yazarım


İlginç. Yine de prosedürün ne olduğunu görmek için makaleyi okumalıyım. Ayrıca @AHussain'in otomatik gruplar teorisini kullanarak bunu nasıl yapacağımızı anlatmasını bekliyorum.
user1271772
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.