Dla każdego układu kwantowego IBM można napisać słownik odwzorowujący każdy qubit kontrolny j na listę jego fizycznie dozwolonych celów, zakładając, że j jest kontrolą CNOT. Na przykład,
ibmqx4_c_to_tars = {
0: [],
1: [0],
2: [0, 1, 4],
3: [2, 4],
4: []} # 6 edges
dla ich układu ibmqx4.
Co by to było za dyktando 72-kubitowego układu kostkowego Bristlecone firmy Google. Możesz napisać ten dykt jako zrozumienie. To samo pytanie dla 19 kubitowych układów Rigetti.
bristlecone
rigetti
cirq
rrtucci
źródło
źródło
Odpowiedzi:
Natywną operacją Bristlecone jest CZ, a nie CNOT. Możesz jednak zmieniać się między nimi za pomocą bram Hadamarda, więc jest to trywialna różnica.
Szczecina może wykonać CZ pomiędzy dowolną sąsiadującą parą kubitów na siatce. Możesz zobaczyć siatkę, instalując cirq i drukując urządzenie Bristlecone :
Oto, w jaki sposób można uzyskać zestaw zawierający dozwolone operacje CZ:
Zestaw zawiera 121 elementów i jest dość losowy, czy dostajesz CZ (x, y) lub CZ (y, x) w zestawie, więc nie dołączę tutaj wydruku zestawu.
Dodatkowym ograniczeniem, o którym należy pamiętać, jest to, że nie można wykonać dwóch CZ jednocześnie obok siebie. Cirq bierze to pod uwagę przy tworzeniu obwodów ukierunkowanych na Bristlecone. Na przykład:
Pierwsze dwie operacje były rozłożone w czasie, ponieważ sąsiadują one z CZ, ale dwie pozostałe nie były, ponieważ nie są.
źródło
Z oryginalnego postu na blogu prezentującego układ kwantowy Bristlecone, oto mapa połączeń układu:
Ostrzeżenie : powyższe wyrażenie jest całkowicie niezweryfikowane. Wydaje się, że działa dla pierwszych kubitów, wydaje mi się to logiczne, ale to od ciebie zależy, czy mapa jest w 100% poprawna.
Ostrzeżenie 2 : post na blogu Google nie mówi o orientacji połączeń między kubitami. Podana powyżej mapa połączeń zakłada, że połączenia są dwustronne.
źródło
Obecna wersja PyQuil zawiera obiekt „ISA”, który zawiera potrzebne informacje o procesorach kwantowych Rigetti, ale nie jest formatowany zgodnie z twoją prośbą. Jestem kiepskim programistą w języku Python, więc musisz usprawiedliwić moją nie-
device_name
Pythońską osobowość - ale oto fragment, który weźmie i sformatuje pyQuil ISA w jednym ze swoich słowników:Podobnie jak w przypadku Google, rodzimy dwóch qubit brama zazwyczaj dostępne na Rigetti procesor kwantowy to
CZ
, co (1) jest dwukierunkowe (†) w tym sensie, żeCZ q0 q1
jest taka sama jakCZ q1 q0
i (2) jest łatwo przekształcić jeden z preferowanyCNOT
s, umieszczając cel za pomocą bram Hadamarda.† - Fizyczna implementacja
CZ
bramy w architekturze nadprzewodzącej jest przekazywana, dlatego często widzisz opisy architektoniczne,CZ q0 q1
ale nieCZ q1 q0
. Jest to skrót, dla którego qubit bierze udział, w którym połowa interakcji fizycznej, nawet jeśli wynik (ignorowanie efektów szumu) jest taki sam przy każdej kolejności.źródło