Przejdź do głównej treści

IBM Quantum Composer

Czym to jest?

IBM Quantum® Composer to graficzne narzędzie do programowania kwantowego, które umożliwia przeciąganie i upuszczanie operacji w celu budowania obwodów i uruchamiania ich na sprzęcie kwantowym.

Co potrafi?

Wizualizacja stanów kubitów

Obserwuj, jak zmiany w obwodzie wpływają na stany kubitu — widoczne jako interaktywna sfera-q lub histogramy przedstawiające prawdopodobieństwa pomiarów albo symulacje wektora stanu.

Uruchamianie na sprzęcie kwantowym

Uruchamiaj swój obwód na prawdziwym sprzęcie kwantowym, aby zrozumieć wpływ szumów urządzenia.

Automatyczne generowanie kodu

Zamiast pisać kod ręcznie, automatycznie generuj kod OpenQASM lub Python zachowujący się tak samo jak obwód utworzony w Composerze.

Przegląd interfejsu

IBM Quantum Composer dysponuje konfigurowalnym zestawem narzędzi umożliwiających budowanie, wizualizację i uruchamianie obwodów na kwantowych jednostkach przetwarzających (QPU). Użyj menu „Więcej opcji" w każdym oknie, aby uzyskać dostęp do dodatkowych narzędzi i akcji.

Okno IBM Quantum Composer.

  1. Katalog operacji — To są elementy składowe obwodu. Przeciągaj i upuszczaj te bramki oraz inne operacje na graficzny edytor obwodów. Różne typy bramek są pogrupowane kolorami. Na przykład klasyczne bramki są ciemnoniebieskie, bramki fazowe — jasnoniebieskie, a operacje nie-unitarne — szare.

    Aby dowiedzieć się więcej o dostępnych bramkach i operacjach, kliknij prawym przyciskiem myszy operację i wybierz Info, aby przeczytać jej definicję.

  2. Edytor kodu — Użyj menu Widok, aby otworzyć lub zamknąć edytor kodu, który umożliwia przeglądanie kodu OpenQASM lub Qiskit dla obwodu. Możesz edytować kod OpenQASM; kod Qiskit jest tylko do odczytu.

  3. Graficzny edytor obwodów — Tu budujesz obwód. Przeciągaj bramki i inne operacje na poziome „przewody" kubitów tworzące twój rejestr kwantowy.

    Aby usunąć bramkę z przewodu, zaznacz ją i kliknij ikonę kosza.

    Aby edytować parametry i ustawienia bramki obsługujących edycję, zaznacz bramkę w edytorze graficznym i kliknij Edytuj.

  4. Pasek narzędzi — Dostęp do często używanych narzędzi: cofania i ponawiania akcji, zmiany wyrównania bramek oraz przełączania trybu inspekcji. W trybie inspekcji widzisz krok po kroku widok stanów kubitu w trakcie ewolucji obliczeń obwodu. Aby dowiedzieć się więcej, zobacz Sprawdzaj swój obwód krok po kroku.

  5. Dyski fazy — Faza wektora stanu kubitu w płaszczyźnie zespolonej jest reprezentowana przez linię biegnącą od środka diagramu do krawędzi szarego dysku (który obraca się przeciwnie do ruchu wskazówek zegara wokół środkowego punktu).

    Użyj menu Widok, aby pokazać lub ukryć dyski fazy.

  6. Wizualizacje — Wizualizacje charakteryzują twój obwód podczas jego budowania. Korzystają z symulatora wektora stanu na jedną próbę, który różni się od QPU określonego w ustawieniach „Uruchom obwód". Pamiętaj, że wizualizacje ignorują wszelkie dodane przez ciebie operacje pomiarowe. Zaloguj się i kliknij Uruchom obwód, aby uzyskać wyniki z określonego backend.

    Dowiedz się więcej w sekcji Wizualizacje.

Budowanie, edytowanie i inspekcja obwodu

Pobierz pliki obwodów kwantowych przed wyjściem z Composera

Jeśli chcesz kontynuować pracę z obwodem w późniejszym czasie, pobierz plik obwodu i zapisz go lokalnie przed wyjściem z bieżącej sesji Composera. Użyj linku „Zapisz plik" w prawym górnym rogu lub przejdź do menu Plik i wybierz „Zapisz plik". Gdy będziesz gotowy, aby ponownie pracować z obwodem, przejdź do menu Plik i wybierz „Wgraj plik .qasm", a następnie przejdź do pliku obwodu na swoim dysku lokalnym i kliknij Otwórz.

1. Otwórz IBM Quantum Composer

  1. (Opcjonalnie) Jeśli nie jesteś zalogowany do IBM Quantum, wybierz Zaloguj się w prawym górnym rogu. Następnie możesz się zalogować lub Utworzyć konto IBM Cloud.
uwaga

Jeśli się nie zalogujesz, wizualizacje automatycznie pokazują symulowane wyniki dla maksymalnie czterech kubitów. Jeśli chcesz uruchomić obwód na komputerze kwantowym lub chcesz zwizualizować obwód z więcej niż czterema kubitami, musisz się zalogować.

  1. Otwórz IBM Quantum Composer, klikając link na stronie nawigacyjnej Nauka. Obszar roboczy wyświetla pusty obwód bez nazwy. Możesz utworzyć nowy obwód lub wgrać plik .qasm, aby kontynuować pracę z obwodem, który już stworzyłeś.

  2. Nazwij swój obwód, klikając napis Untitled circuit i wpisując nazwę. Kliknij znacznik wyboru, aby zapisać nazwę.

  3. (Opcjonalnie) Dostosuj swój obszar roboczy:

    • Użyj menu Widok, aby zmienić domyślny motyw na monochromatyczny. Możesz też wybrać, które panele mają być widoczne w obszarze roboczym, a następnie użyć menu w prawym rogu dowolnego panelu, aby uzyskać dostęp do dalszych opcji dostosowywania. Opcje pokazywania lub ukrywania dysków fazy, wyboru wyrównania kubitów w obwodzie oraz resetowania obszaru roboczego do wartości domyślnych znajdują się również w menu Widok.
    • Przełączaj między ciemnym a jasnym motywem obszaru roboczego w prawym dolnym rogu stopki.

Aby zbudować obwód, możesz albo przeciągać i upuszczać operacje, albo wpisać kod OpenQASM do edytora kodu.

2. Budowanie obwodów metodą przeciągnij i upuść

Katalog operacji

Przeciągaj i upuszczaj operacje z katalogu operacji na rejestry kwantowe i klasyczne. Kliknij ikonę wyszukiwania i wpisz termin w pasku wyszukiwania, aby szybko znaleźć operację.

Zwijaj i rozwijaj katalog operacji, klikając ikonę w prawym górnym rogu panelu operacji. Kliknij ikonę obok niej, aby przełączać między widokiem siatki a widokiem listy katalogu.

Kliknij prawym przyciskiem myszy ikonę operacji i wybierz Info, aby wyświetlić definicję operacji wraz z jej referencją QASM.

Aby cofnąć lub ponowić akcję, użyj zakrzywionych strzałek na pasku narzędzi.

Wyrównanie

Wybierz wyrównanie swobodne (Freeform), aby umieszczać operacje w dowolnym miejscu obwodu. Aby uzyskać bardziej zwartą prezentację obwodu, wybierz wyrównanie lewe (Left). Aby zobaczyć kolejność wykonywania operacji, wybierz wyrównanie warstwowe (Layers), które zastosuje wyrównanie lewe i doda separatory kolumn wskazujące kolejność wykonywania — od lewej do prawej i od góry do dołu.

Gdy operacje są już umieszczone na obwodzie, możesz nadal przeciągać i upuszczać je w nowe miejsca.

Kopiowanie i wklejanie

Kliknij operację i użyj ikon w menu kontekstowym, aby ją skopiować i wkleić.

Zaznaczanie wielu operacji

Możesz zaznaczyć kilka operacji, aby je skopiować i wkleić, przeciągnąć w nowe miejsce lub zgrupować w niestandardową operację unitarną, która pojawi się w katalogu operacji i będzie działać jako pojedyncza bramka.

Aby zaznaczyć więcej niż jedną operację, umieść kursor tuż poza jedną z operacji, a następnie kliknij i przeciągnij przez obszar do zaznaczenia. Klikaj poszczególne operacje z wciśniętym Shift, aby je zaznaczać lub odznaczać. Przerywana linia obrysowuje zestaw zaznaczanych operacji, a każda operacja faktycznie należąca do zaznaczenia jest obrysowana niebieską linią.

Na przykład na poniższym obrazku zaznaczone są bramka Hadamarda na q1 oraz bramka CX. Bramka Hadamarda na q0 nie jest zaznaczona.

Zestaw zaznaczonych operacji.

Wybierz Kopiuj z menu kontekstowego, aby skopiować grupę.

Aby wkleić grupę operacji, kliknij prawym przyciskiem myszy obwód i wybierz Wklej.

Budowanie niestandardowej operacji za pomocą funkcji grupowania

Aby zgrupować kilka operacji i zapisać je jako niestandardową operację, najpierw zaznacz operacje zgodnie z opisem powyżej, a następnie wybierz Grupuj z menu kontekstowego. Zostaniesz poproszony o nadanie nazwy niestandardowej operacji lub możesz zaakceptować domyślną nazwę. Kliknij OK, a niestandardowa operacja zostanie przedstawiona jako pojedyncze pole — zarówno w obwodzie, jak i w katalogu operacji.

Teraz możesz przeciągać i upuszczać nową operację w dowolne miejsce obwodu. Pamiętaj, że operacja jest zapisana w tym obwodzie i nie pojawia się w katalogu operacji innych obwodów.

Możesz również zbudować niestandardową operację bezpośrednio w edytorze kodu OpenQASM; więcej informacji znajdziesz w sekcji Tworzenie niestandardowej operacji w OpenQASM.

Rozgrupowywanie niestandardowej lub predefiniowanej operacji

Aby rozgrupować bramki wewnątrz niestandardowej lub predefiniowanej operacji, kliknij operację w Composerze i wybierz Rozgrupuj z menu kontekstowego. Teraz możesz przesuwać poszczególne operacje oddzielnie. Gdy rozgrupujesz operację, każdy element z poprzedniej grupy wykonuje się niezależnie, co może oznaczać, że wykona się w innej kolejności niż gdy był zgrupowany.

Rozwijanie definicji operacji

Aby wyświetlić operacje składające się na niestandardową lub predefiniowaną operację bez ich rozgrupowywania, kliknij Rozwiń definicję w menu kontekstowym, aby zobaczyć definiujące bramki. Kliknij ikonę ponownie, aby zwinąć definicję.

Zmiana nazwy lub usuwanie niestandardowej operacji

Aby zmienić nazwę lub usunąć niestandardową operację, kliknij ją prawym przyciskiem myszy w katalogu operacji i wybierz Zmień nazwę lub Usuń. Usunięcie niestandardowej operacji z katalogu operacji usuwa również wszystkie jej wystąpienia na obwodzie.

Usunięcie niestandardowej operacji z samego obwodu nie usuwa jej z katalogu operacji; niestandardową operację można usunąć z katalogu wyłącznie za pomocą prawego kliknięcia i wybrania opcji Usuń.

Dodawanie lub usuwanie rejestrów

Aby dodać lub usunąć rejestry kwantowe lub klasyczne, kliknij Edytuj → Zarządzaj rejestrami. Możesz zwiększyć lub zmniejszyć liczbę kubitów lub bitów w obwodzie i zmienić nazwy rejestrów. Kliknij OK, aby zastosować zmiany. Możesz też po prostu kliknąć nazwę rejestru (np. q[0]) i użyć opcji w menu kontekstowym, aby szybko dodać lub usunąć rejestry lub kubity.

Dodawanie warunku

Aby dodać warunek do bramki, przeciągnij operację if na bramkę i ustaw parametry w panelu Edytuj operację, który otworzy się automatycznie. Możesz też dwukrotnie kliknąć bramkę, aby uzyskać dostęp do panelu Edytuj operację, i w ten sposób ustawić parametry warunkowe.

Dodawanie modyfikatora sterującego

Modyfikator sterujący daje bramkę, której oryginalna operacja jest teraz uzależniona od stanu kubitu sterującego. Aby uzyskać więcej szczegółów, kliknij prawym przyciskiem myszy symbol modyfikatora sterującego w katalogu operacji, a następnie kliknij Info.

Przeciągnij modyfikator sterujący na bramkę, aby dodać do niej sterowanie. Na kubicie sterującym pojawi się kropka, a linia połączy go z kubitem docelowym. Aby edytować, który kubit jest sterującym, a który docelowym, kliknij bramkę i wybierz ikonę Edytuj operację (lub dwukrotnie kliknij bramkę), aby otworzyć panel Edytuj operację, a następnie określ parametry. W panelu Edytuj operację możesz też usunąć sterowanie z kubitu, klikając x obok jego nazwy.

Wizualizacja dyskami fazy w całym obwodzie

Aby zwizualizować stan wszystkich kubitów w dowolnym miejscu obwodu, przeciągnij ikonę dysku fazy z katalogu operacji i umieść ją w dowolnym miejscu obwodu. Zostanie dodana kolumna operacji bariery oraz kolumna dysków fazy (jedna operacja bariery i jeden dysk fazy na każdy kubit). Najedź kursorem na każdy dysk fazy, aby odczytać stan kubitu w tym punkcie obwodu. Pamiętaj, że dodanie dysków fazy nie zmienia obwodu; są one jedynie narzędziem wizualizacji.

Dowiedz się więcej o wizualizacji dysku fazy tutaj.

Eksportowanie obrazu obwodu

Aby wyeksportować obraz obwodu, wybierz Plik → Eksportuj obraz obwodu. Zostanie otwarte okno Opcje eksportu, w którym możesz wybrać motyw (jasny, ciemny, biały na czarnym lub czarny na białym), format (.svg lub .png) oraz to, czy chcesz zastosować zawijanie linii. Po wybraniu opcji kliknij Eksportuj.

3. Zbuduj swój obwód z użyciem kodu OpenQASM

uwaga

IBM Quantum Composer obsługuje obecnie OpenQASM 2.0.

InstrukcjaOpisPrzykład
OPENQASM 2.0;Oznacza plik w formacie OpenQASM (zob. [a])OPENQASM 2.0;
qreg name[size];Deklaruje nazwany rejestr kubitówqreg q[5];
creg name[size];Deklaruje nazwany rejestr bitów klasycznychcreg c[5];
include "filename";Otwiera i przetwarza inny plik źródłowyinclude "qelib1.inc";
gate name(params) qargsDeklaruje unitarną bramkę(zob. treść pracy)
opaque name(params) qargs;Deklaruje nieprzezroczystą bramkę(zob. treść pracy)
// comment textKomentuje linię tekstu// oops!
U(theta,phi,lambda) qubit|qreg;Stosuje wbudowaną bramkę(-i) jednego kubitu (zob. [b])U(pi/2,2*pi/3,0) q[0];
CX qubit|qreg,qubit|qreg;Stosuje wbudowaną bramkę(-i) CNOTCX q[0],q[1];
measure qubit|qreg -> bit|creg;Wykonuje pomiar(y) w bazie ZZmeasure q -> c;
reset qubit|qreg;Przygotowuje kubit(y) w stanie 0\vert 0\ranglereset q[0];
gatename(params) qargs;Stosuje zdefiniowaną przez użytkownika unitarną bramkęcrz(pi/2) q[1],q[0];
if(creg==int) qop;Warunkowo stosuje operację kwantowąif(c==5) CX q[0],q[1];
barrier qargs;Zapobiega transformacjom ponad tą linią źródłowąbarrier q[0],q[1];

[a] Musi to być pierwsza linia pliku niebędąca komentarzem.

[b] Parametry theta, phi i lambda są podawane jako wyrażenia parametryczne; więcej informacji znajdziesz na stronie 5 pracy oraz w Dodatku A.

Utwórz niestandardową operację w OpenQASM

Możesz definiować nowe operacje unitarne w edytorze kodu (przykład pokazano na poniższym rysunku). Operacje są stosowane za pomocą instrukcji name(params) qargs; — tak samo jak operacje wbudowane. Nawiasy są opcjonalne, jeśli nie ma żadnych parametrów.

Aby zdefiniować niestandardową operację, wprowadź ją w edytorze kodu OpenQASM w następującym formacie: gatename(params) qargs;. Jeśli klikniesz +Dodaj na liście operacji, zostaniesz poproszony o podanie nazwy swojej niestandardowej operacji, którą następnie możesz zbudować w edytorze kodu.

Po zdefiniowaniu niestandardowej operacji przeciągnij ją na edytor graficzny i użyj ikony edycji, aby doprecyzować parametry.

Przykład niestandardowej operacji
bramki do uwzględnienia w niestandardowej operacji:bramki w niestandardowej operacji
Kod dla nowej operacji:Nowa niestandardowa operacja
Nowa operacja w edytorze graficznym:Nowa operacja

4. Sprawdź swój obwód krok po kroku

Tryb inspekcji demistyfikuje wewnętrzne działanie tworzonych obwodów. Przechodzi przez symulację obwodu warstwa po warstwie, dzięki czemu możesz obserwować stan kubitów w miarę jak obliczenie ewoluuje.

  • W menu Widok wybierz panele z wizualizacjami, których chcesz używać.

  • Kliknij przełącznik Inspekcja na pasku narzędzi. Pamiętaj, że po włączeniu trybu inspekcji nie możesz dodawać żadnych operacji, dopóki nie zostanie on wyłączony.

  • Jeśli zbudowałeś swój obwód przy włączonym wyrównaniu swobodnym (Freeform), pamiętaj, że tryb inspekcji automatycznie włącza wyrównanie do lewej (Left).

  • Aby przechodzić krok po kroku przez wizualizacje komponentów obwodu, użyj przycisków do przodu i do tyłu.

Elementy sterujące do przechodzenia do przodu i do tyłu oraz do przeskakiwania do początku lub końca obwodu.

  • Aby sprawdzić tylko wybrane operacje, kliknij operacje, które chcesz poddać inspekcji — nad każdą pojawi się kolorowa nakładka wskazująca, że zostaną uwzględnione podczas uruchomienia trybu inspekcji. Aby odznaczyć operację, kliknij ją ponownie — nakładka zniknie.

  • Aby dowiedzieć się więcej o interpretowaniu wizualizacji, zapoznaj się z sekcją Wizualizacje.

  • Aby wyjść z trybu inspekcji i wrócić do edycji obwodu, kliknij przełącznik Inspekcja na pasku narzędzi.

Losowość w symulatorze

Symulator tworzy losowość, generując wyniki na podstawie ziarna (seed). Ziarno to wartość początkowa wprowadzana do algorytmu generującego liczby pseudolosowe. Numer ziarna możesz zobaczyć, wybierając „Visualizations seed" z menu Edycja. Możesz również samodzielnie ustawić ziarno, zmieniając wartość w polu.

Uruchamianie obwodów i przeglądanie wyników

Wykonaj poniższe kroki, aby uruchamiać kwantowe obwody na QPU i przeglądać wyniki.

Wybierz ustawienia zadania

Kliknij Uruchom obwód w prawym górnym rogu. W oknie, które się otworzy, wybierz dostępny QPU. Możesz też wybrać instancję powiązaną z planem (np. Open, Flex lub Premium). Wybrana instancja wpływa na to, które QPU są dla ciebie dostępne. Kliknij link „Wyświetl szczegóły" w tabeli QPU, aby uzyskać więcej informacji o każdym z nich.

Następnie możesz ustawić liczbę shotów (wykonań) obwodu, które backend wykona.

W tym panelu możesz też opcjonalnie nadać zadaniu nazwę i dodać tagi. Nie zmieni to nazwy obwodu. Wstępnie uzupełniony tag „Composer" ułatwia filtrowanie tabeli Workloads według zadań Composera. Możesz ten tag usunąć.

Okno z opcjami zadania.

uwaga

Gdy uruchamiasz obwód, jest on automatycznie wysyłany do najmniej obciążonego QPU, chyba że określisz QPU w ustawieniach uruchamiania. Jeśli uruchomisz ten sam obwód ponownie, okno wyboru QPU domyślnie przywróci twój poprzedni wybór.

Kliknij „Uruchom na (nazwa QPU)"

Postęp zadania możesz śledzić, klikając przycisk „Wyświetl zadania" w prawym górnym rogu — spowoduje to otwarcie strony Workloads w IBM Quantum Platform.

Przeglądaj wyniki

Po zakończeniu zadania szczegóły są aktualizowane w tabeli Workloads w IBM Quantum Platform.

Strona wyników zadań wyświetla szczegóły uruchomienia, diagramy oryginalnego i transpilowanego obwodu, histogram wyników oraz zakładki OpenQASM i Qiskit umożliwiające wyświetlenie zarówno oryginalnych, jak i transpilowanych obwodów w OpenQASM lub Qiskit.

Możesz pobrać obwody i histogram, klikając menu w prawym górnym rogu każdego diagramu, a następnie wybierając format pobierania (PNG, PDF lub SVG; ponadto histogram można wyeksportować jako plik CSV). obwody OpenQASM możesz otwierać bezpośrednio w Composerze.

Wizualizacje

Wizualizacje na żywo w IBM Quantum Composer pokazują różne widoki tego, jak kwantowe obwody wpływają na stan zbioru kubitów. Każdy typ wizualizacji na żywo jest szczegółowo opisany poniżej.

Losowość w symulatorze

Wizualizacje na żywo pochodzą z symulatora wektora stanu opartego na jednym shocie, który różni się od QPU określonego w ustawieniach uruchamiania — ten ostatni może mieć wiele shotów. Symulator tworzy losowość, generując wyniki na podstawie ziarna (seed). Ziarno to wartość początkowa wprowadzana do algorytmu generującego liczby pseudolosowe. Numer ziarna możesz zobaczyć, wybierając „Visualizations seed" z menu Edycja. Możesz również samodzielnie ustawić ziarno, zmieniając wartość w polu.

Wyświetl wizualizacje

Wizualizacje na żywo są wyświetlane w oknach na dole przestrzeni roboczej Composera (z wyjątkiem dysku fazy, który pojawia się na końcu każdego przewodu kubitu). Możesz wybrać dowolną kombinację wizualizacji: wektora stanu, prawdopodobieństw i sfery Q, które mają pojawiać się na dole przestrzeni roboczej. Wybierz lub odznacz wizualizacje w menu Widok.

Pobieranie wizualizacji

Pobierz jedną z wizualizacji widocznych na dole obszaru roboczego Composera, klikając menu „Więcej opcji" w oknie wizualizacji. Wizualizacje możesz pobrać jako SVG, PNG lub CSV z danymi źródłowymi. Możesz też pobrać wizualizacje prawdopodobieństw pomiarów i histogramów wektora stanu jako plik PDF.

Dysk fazowy

Stan jednego kubitu można zapisać jako

ψ=1p0+ejφp1,\begin{split}\vert\psi\rangle = \sqrt{1-p}\vert0\rangle + e^{j\varphi} \sqrt{p} \vert1\rangle,\end{split}

gdzie pp to prawdopodobieństwo, że kubit jest w stanie 1|1\rangle, a φ\varphi to faza kwantowa. pp jest ścisłym analogiem klasycznego bitu probabilistycznego. Dla p=0p=0 kubit jest w stanie 0|0\rangle, dla p=1p=1 jest w stanie 1|1\rangle, a dla p=1/2p=1/2 jest mieszaniną 50/50. Tę mieszaninę nazywamy superpozycją, ponieważ — w odróżnieniu od klasycznych bitów — może ona posiadać fazę kwantową. Dysk fazowy wizualizuje ten stan.

Dysk fazowy na końcu każdego kubitu w IBM Quantum Composer pokazuje lokalny stan każdego kubitu po zakończeniu obliczeń. Składowe dysku fazowego opisano poniżej.

Prawdopodobieństwo, że kubit jest w stanie 1|1\rangle

Prawdopodobieństwo, że kubit jest w stanie 1|1\rangle, jest reprezentowane przez niebieskie wypełnienie dysku.

prawdopodobieństwo, że qubit jest w stanie 1

Faza kwantowa

Fazę kwantową stanu kubitu wyznacza linia biegnąca od środka diagramu do krawędzi szarego dysku (obracająca się przeciwnie do ruchu wskazówek zegara wokół środka).

faza lokalnego stanu qubitu

Przykład: dyski fazowe dla dwóch różnych qubitów

przykłady dysków fazowych

Dwa przykłady wizualizacji dysku fazowego. Pierwszy przykład przedstawia stan 1|1\rangle, a drugi — stan (01)/2(|0\rangle-|1\rangle)/\sqrt{2} z niezerową fazą względną.

Związek ze sferą Blocha

Dysk fazowy zawiera wszystkie informacje zawarte w sferze Blocha i jest dwuwymiarową reprezentacją kubitu. Przeliczenie na reprezentację sfery Blocha: x=2p(1p)Re[ejφ]x=2\sqrt{p(1-p)}\mathrm{Re}[e^{j\varphi} ], y=2p(1p)Im[ejφ]y=2\sqrt{p(1-p)}\mathrm{Im}[e^{j\varphi} ], oraz z=12pz=1-2p.

Stany N-qubitowe: maksymalnie 15 qubitów

N-qubitowy stan kwantowy przyjmuje postać

ψ=1p0...0+k=12N1ejφkpkk,\begin{split}\vert\psi\rangle = \sqrt{1-p}\vert0...0\rangle + \sum_{k=1}^{2^N-1}e^{j\varphi_k} \sqrt{p_k} \vert k\rangle,\end{split}

gdzie pkp_k to prawdopodobieństwo, że kubity są w stanie k|k\rangle z fazą kwantową φk\varphi_k względem stanu 0...0|0...0\rangle. p=k0pkp=\sum_{k\neq0}p_k to prawdopodobieństwo, że kubity nie są w stanie podstawowym 0...0|0...0\rangle. Łatwo zauważyć, że dla N-qubitowego stanu kwantowego istnieje 2N12^N-1 prawdopodobieństw i 2N12^N-1 faz. Dysk fazowy nie jest w stanie w pełni reprezentować tego stanu — N-qubitowe dyski fazowe zawierałyby jedynie NN prawdopodobieństw i NN faz — wynika to z faktu, że większość stanów jest splątana i nie można ich rozłożyć na niezależne jednoqubitowe stany kwantowe. Aby zaznaczyć, że wizualizacja nie zawiera pełnej informacji, wprowadzamy zredukowaną czystość jako składową dysku fazowego.

Zredukowana czystość stanu qubitu

Promień czarnego pierścienia na dysku fazowym reprezentuje zredukowaną czystość stanu kubitu, która dla kubitu jj w N-qubitowym stanie ψ|\psi\rangle wyraża się wzorem Tr[Trij[ψψ]2]\mathrm{Tr}\left[\mathrm{Tr}_{i\neq j}[\left|\psi\rangle\langle\psi\right|\right]^{2}]. Zredukowana czystość jednego kubitu mieści się w przedziale [0.5,1][0.5, 1]; wartość jeden oznacza, że kubit nie jest splątany z żadną inną składową. Z kolei zredukowana czystość równa 0.50.5 wskazuje, że kubit jest w stanie całkowicie mieszanym i wykazuje pewien poziom splątania z pozostałymi N1N-1 kubitami, a być może nawet ze środowiskiem.

Widok prawdopodobieństw

Limit 8 qubitów

Ten widok przedstawia prawdopodobieństwa stanu kwantowego w postaci wykresu słupkowego. Oś pozioma opisuje stany bazy obliczeniowej. Oś pionowa mierzy prawdopodobieństwa wyrażone w procentach. W tym widoku fazy kwantowe nie są reprezentowane, dlatego jest to reprezentacja niepełna. Jest ona jednak przydatna do przewidywania wyników pomiarów, gdy każdy kubit jest mierzony, a wynik zapisywany we własnym bicie klasycznym.

Rozważmy poniższy obwód kwantowy i odpowiadający mu widok prawdopodobieństw:

a quantum circuit

Probabilities view of the previous circuit

obwód wprowadza dwa kubity w stan ψ=(00+01+1011)/2.|\psi\rangle = (|00\rangle + |01\rangle+ |10\rangle-|11\rangle) / 2. Stany bazy obliczeniowej to 00,10,01,|00\rangle, |10\rangle, |01\rangle, oraz 11.|11\rangle. Prawdopodobieństwo każdego ze stanów obliczeniowych wynosi 1/4.

Widok sfery Q

Limit 5 qubitów

Sfera Q reprezentuje stan układu jednego lub więcej kubitów, przypisując każdemu stanowi bazy obliczeniowej punkt na powierzchni sfery. W każdym punkcie widoczny jest węzeł. Promień każdego węzła jest proporcjonalny do prawdopodobieństwa (pkp_k) jego stanu bazowego, natomiast kolor węzła wskazuje fazę kwantową (φk\varphi_k).

Węzły rozmieszczone są na sferze Q tak, że stan bazowy ze wszystkimi zerami (np. 000|000\rangle) znajduje się na jej biegunie północnym, a stan bazowy ze wszystkimi jedynkami (np. 111|111\rangle) — na biegunie południowym. Stany bazowe z tą samą liczbą zer (lub jedynek) leżą na tej samej szerokości geograficznej sfery Q (np. 001,010,100|001\rangle, |010\rangle, |100\rangle). Rozpoczynając od bieguna północnego sfery Q i przesuwając się ku południowi, kolejne równoleżniki odpowiadają stanom bazowym z coraz większą liczbą jedynek; równoleżnik stanu bazowego wyznacza jego odległość Hamminga od stanu zerowego. Sfera Q zawiera pełną informację o stanie kwantowym w zwartej reprezentacji.

Rozważmy poniższy obwód kwantowy i odpowiadającą mu sferę Q, reprezentującą stan tworzony przez ten obwód:

a quantum circuit

q-sphere view

Możesz kliknąć, przytrzymać i przeciągnąć, aby obrócić sferę Q. Aby przywrócić domyślną orientację sfery Q, kliknij przycisk cofnięcia w prawym górnym rogu sfery Q.

Czym różni się sfera Blocha od sfery Q?

Należy podkreślić, że sfera Q nie jest tym samym co sfera Blocha, nawet dla jednego kubitu. Podobnie jak dysk fazowy, sfera Blocha daje lokalny widok stanu kwantowego, w którym każdy kubit rozpatrywany jest osobno. Gdy chcemy zrozumieć, jak rejestry kubitów (stany wieloqubitowe) zachowują się pod wpływem obwodów kwantowych, bardziej użyteczne jest przyjęcie globalnego punktu widzenia i spojrzenie na stan kwantowy w całości. Sfera Q dostarcza wizualnej reprezentacji stanu kwantowego, a tym samym tego globalnego spojrzenia. Dlatego podczas eksplorowania aplikacji i algorytmów kwantowych na małej liczbie kubitów sfera Q powinna być podstawową metodą wizualizacji.

Widok wektora stanu

Limit 6 qubitów

Wyrażenie pkeiφk\sqrt{p_k}e^{i\varphi_k} powszechnie nazywa się amplitudą kwantową. Ten widok przedstawia amplitudy kwantowe w postaci wykresu słupkowego. Oś pozioma opisuje stany bazy obliczeniowej. Oś pionowa mierzy wartości bezwzględne amplitud (pk\sqrt{p_k}) powiązanych z każdym stanem bazy obliczeniowej. Kolor każdego słupka reprezentuje fazę kwantową (φk{\varphi_k}).

Rozważmy poniższy obwód kwantowy i odpowiadający mu widok wektora stanu:

a quantum circuit

statevector view

obwód wprowadza dwa kubity w stan ψ=(00+01+1011)/2|\psi\rangle = (|00\rangle + |01\rangle+ |10\rangle-|11\rangle) / 2. Stany bazy obliczeniowej to 00|00\rangle, 10|10\rangle, 01|01\rangle oraz 11|11\rangle. Wartości bezwzględne amplitud wynoszą 1/21/2, a fazy kwantowe względem stanu podstawowego są równe 00 dla 01|01\rangle i 10|10\rangle oraz π\pi dla 11|11\rangle.

Słownik operacji Composera

Ta strona stanowi odniesienie definiujące różne klasyczne i kwantowe operacje, których możesz używać do manipulowania qubitami w obwodzie kwantowym. Operacje kwantowe obejmują bramki kwantowe, takie jak bramka Hadamarda, a także operacje, które nie są bramkami kwantowymi, jak na przykład operacja pomiaru.

Każdy poniższy wpis zawiera szczegóły oraz odniesienie OpenQASM dla danej operacji. Więcej informacji znajdziesz w temacie Budowanie obwodu za pomocą kodu OpenQASM.

Obraz q-sfery w każdym wpisie bramki pokazuje stan po tym, jak bramka działa na początkowy stan równej superpozycji 12ni=02n1i\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}|i\rangle, gdzie nn to liczba qubitów potrzebnych do obsługi bramki. Więcej informacji na temat tej wizualizacji znajdziesz w temacie q-sfera.

Możesz zdefiniować własną operację do użycia w IBM Quantum Composer. Instrukcje znajdziesz w temacie Tworzenie własnej operacji w OpenQASM.

Kolory bramek

Kolory bramek nieznacznie różnią się w jasnym i ciemnym motywie. Pokazane tu kolory pochodzą z jasnego motywu.

Kliknij poniższą operację kwantową, aby wyświetlić jej definicję.

Bramki klasyczne

Bramka NOT

Bramka NOT, znana również jako bramka Pauliego X, zamienia stan 0\left|0\right\rangle na 1\left|1\right\rangle i odwrotnie. Bramka NOT jest równoważna RX dla kąta π\pi lub operacji HZH.

Odniesienie w ComposerzeOdniesienie OpenQASMQ-sferaUwaga dotycząca reprezentacji q-sfery
x_gatex q[0];image19Reprezentacja q-sfery pokazuje stan po tym, jak bramka działa na początkowy stan równej superpozycji 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, gdzie nn to liczba qubitów potrzebnych do obsługi bramki.

Bramka CNOT

Bramka kontrolowanego NOT, znana również jako bramka kontrolowanego X (CX), działa na parze qubitów, z których jeden pełni rolę „sterującego" (control), a drugi „docelowego" (target). Wykonuje operację NOT na qubicie docelowym zawsze wtedy, gdy qubit sterujący jest w stanie 1\left|1\right\rangle. Jeśli qubit sterujący jest w superpozycji, bramka ta tworzy splątanie.

Wszystkie unitarne obwody można rozłożyć na bramki jednokubitowe i bramki CNOT. Ponieważ dwukubitowa bramka CNOT wymaga znacznie więcej czasu na wykonanie na rzeczywistym sprzęcie niż bramki jednokubitowe, koszt obwodu mierzy się niekiedy liczbą bramek CNOT.

Odniesienie w ComposerzeOdniesienie OpenQASMQ-sferaUwaga dotycząca reprezentacji q-sfery
CX-Gatecx q[0], q[1];image19Reprezentacja q-sfery pokazuje stan po tym, jak bramka działa na początkowy stan równej superpozycji 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, gdzie nn to liczba qubitów potrzebnych do obsługi bramki.

Bramka Toffoliego

Bramka Toffoliego, znana również jako bramka podwójnie kontrolowanego NOT (CCX), ma dwa qubity sterujące i jeden docelowy. Stosuje operację NOT na qubicie docelowym tylko wtedy, gdy oba qubity sterujące są w stanie 1\left|1\right\rangle.

Bramka Toffoliego wraz z bramką Hadamarda stanowią uniwersalny zestaw bramek dla obliczeń kwantowych.

Odniesienie w ComposerzeOdniesienie OpenQASMQ-sferaUwaga dotycząca reprezentacji q-sfery
ccx-gateccx q[0], q[1], q[2];ccx_qsphReprezentacja q-sfery pokazuje stan po tym, jak bramka działa na początkowy stan równej superpozycji 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, gdzie nn to liczba qubitów potrzebnych do obsługi bramki.

Bramka SWAP

Bramka SWAP zamienia stany dwóch qubitów.

Odniesienie w ComposerzeOdniesienie OpenQASMQ-sferaUwaga dotycząca reprezentacji q-sfery
SWAP gateswap q[0], q[1];swap_qsphReprezentacja q-sfery pokazuje stan po tym, jak bramka działa na początkowy stan równej superpozycji 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, gdzie nn to liczba qubitów potrzebnych do obsługi bramki.

Bramka tożsamości

Bramka tożsamości (nazywana niekiedy bramką Id lub bramką I) jest w istocie brakiem bramki. Zapewnia ona, że do qubitu przez jedną jednostkę czasu bramki nie jest stosowana żadna operacja.

Odniesienie w ComposerzeOdniesienie Qasm
Identity gateid q[0];

Bramki fazowe

Bramka T

Bramka T jest odpowiednikiem RZ dla kąta π/4\pi/4. Odporne na błędy komputery kwantowe będą kompilować wszystkie programy kwantowe wyłącznie do bramki T i jej odwrotności, a także do bramek Clifforda.

Odniesienie w ComposerzeOdniesienie OpenQASMSfera QUwaga dotycząca reprezentacji na sferze Q
t_gatet q[0];image29Reprezentacja na sferze Q pokazuje stan po tym, jak bramka działa na początkowy stan równej superpozycji 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, gdzie nn jest liczbą kubitów potrzebną do obsługi bramki.

Bramka S

Bramka S stosuje fazę ii do stanu 1\left|1\right\rangle. Jest równoważna RZ dla kąta π/2\pi/2. Zauważ, że S=P(π/2\pi/2).

Odniesienie w ComposerzeOdniesienie OpenQASMSfera QUwaga dotycząca reprezentacji na sferze Q
s_gates q[0];image25Reprezentacja na sferze Q pokazuje stan po tym, jak bramka działa na początkowy stan równej superpozycji 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, gdzie nn jest liczbą kubitów potrzebną do obsługi bramki.

Bramka Z

Bramka Pauliego Z działa jako identyczność na stanie 0\left|0\right\rangle i mnoży znak stanu 1\left|1\right\rangle przez -1. W związku z tym zamienia stany +\left|+\right\rangle i \left|-\right\rangle miejscami. W bazie +/- pełni tę samą rolę, co bramka NOT w bazie 0\left|0\right\rangle/1\left|1\right\rangle.

Odniesienie w ComposerzeOdniesienie OpenQASMSfera QUwaga dotycząca reprezentacji na sferze Q
z_gatez q[0];image23Reprezentacja na sferze Q pokazuje stan po tym, jak bramka działa na początkowy stan równej superpozycji 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, gdzie nn jest liczbą kubitów potrzebną do obsługi bramki.

Bramka TT^{\dagger}

Znana również jako bramka Tdg lub T-dagger.

Odwrotność bramki T.

Odniesienie w ComposerzeOdniesienie OpenQASMSfera QUwaga dotycząca reprezentacji na sferze Q
T-dagger gatetdg q[0];image31Reprezentacja na sferze Q pokazuje stan po tym, jak bramka działa na początkowy stan równej superpozycji 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, gdzie nn jest liczbą kubitów potrzebną do obsługi bramki.

Bramka SS^{\dagger}

Znana również jako bramka Sdg lub S-dagger.

Odwrotność bramki S.

Odniesienie w ComposerzeOdniesienie OpenQASMSfera QUwaga dotycząca reprezentacji na sferze Q
S-dagger gatesdg q[0];image27Reprezentacja na sferze Q pokazuje stan po tym, jak bramka działa na początkowy stan równej superpozycji 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, gdzie nn jest liczbą kubitów potrzebną do obsługi bramki.

Bramka Phase

Bramka Phase (wcześniej nazywana bramką U1) stosuje fazę eiθe^{i\theta} do stanu 1\left|1\right\rangle. Dla pewnych wartości θ\theta jest równoważna innym bramkom. Na przykład P(π\pi)=Z, P(π\pi/22)=S oraz P(π/4\pi/4)=T. Z dokładnością do globalnej fazy eiθ/2e^{i\theta/2} jest równoważna RZ(θ\theta).

Odniesienie w ComposerzeOdniesienie OpenQASMSfera QUwaga dotycząca reprezentacji na sferze Q
p_gatep(theta) q[0];p_qsphReprezentacja na sferze Q pokazuje stan po tym, jak bramka działa na początkowy stan równej superpozycji 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, gdzie nn jest liczbą kubitów potrzebną do obsługi bramki.

W IBM Quantum Composer domyślna wartość theta wynosi π/2\pi/2.

Bramka RZ

Bramka RZ implementuje exp(iθ2Z)exp(-i\frac{\theta}{2}Z). Na sferze Blocha bramka ta odpowiada obrotowi stanu kubitu wokół osi z o podany kąt.

Odniesienie w ComposerzeOdniesienie OpenQASMSfera QUwaga dotycząca reprezentacji na sferze Q
rz_gaterz(angle) q[0];image17Reprezentacja na sferze Q pokazuje stan po tym, jak bramka działa na początkowy stan równej superpozycji 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, gdzie nn jest liczbą kubitów potrzebną do obsługi bramki.

W IBM Quantum Composer domyślna wartość angle wynosi π/2\pi/2. Dlatego właśnie ten kąt jest używany w wizualizacji na sferze Q.

Operatory nieunitarne i modyfikatory

Operacja reset

Operacja reset przywraca kubit do stanu 0\left|0\right\rangle, niezależnie od jego stanu przed zastosowaniem operacji. Nie jest to operacja odwracalna.

Odniesienie w ComposerzeOdniesienie OpenQASM
0-operareset q[0];

Pomiar

Pomiar w bazie standardowej, zwanej również bazą z lub bazą obliczeniową. W połączeniu z bramkami można go użyć do realizacji dowolnego rodzaju pomiaru. Nie jest to operacja odwracalna.

Odniesienie w ComposerzeOdniesienie OpenQASM
Measurement in the standard or z basismeasure q[0];

Modyfikator sterowania

Modyfikator sterowania tworzy bramkę, w której oryginalna operacja jest uzależniona od stanu kubitu sterującego. Gdy qubit sterujący jest w stanie 1|1\rangle, docelowe kubity przechodzą określoną ewolucję unitarną. Natomiast jeśli qubit sterujący jest w stanie 0|0\rangle, żadna operacja nie jest wykonywana. Jeśli qubit sterujący jest w stanie superpozycji, wynikowa operacja wynika z zasady liniowości.

Przeciągnij modyfikator sterowania na bramkę, aby dodać do niej qubit sterujący. Nad i pod bramką pojawią się kropki na przewodach kubitów, które mogą pełnić rolę celów sterowania; kliknij jedną lub więcej kropek, aby przypisać cel do jednego lub więcej kubitów. Możesz też przypisać qubit sterujący, klikając bramkę prawym przyciskiem myszy.

Aby usunąć qubit sterujący, kliknij bramkę prawym przyciskiem myszy i wybierz opcję usunięcia sterowania.

Odniesienie w ComposerzeOdniesienie OpenQASM
Control modifierc

Operacja barrier

Aby zwiększyć efektywność programu kwantowego, kompilator będzie próbował łączyć bramki. Barrier jest instrukcją dla kompilatora, która zapobiega takim połączeniom. Ponadto jest przydatny do wizualizacji.

Odniesienie w ComposerzeOdniesienie OpenQASM
barrierbarrier q;

Bramka Hadamarda

Bramka H

Bramka H, czyli bramka Hadamarda, obraca stany 0\left|0\right\rangle i 1\left|1\right\rangle odpowiednio do stanów +\left|+\right\rangle i \left|-\right\rangle. Jest przydatna do tworzenia superpozycji. Jeśli dysponujesz uniwersalnym zestawem bramek na komputerze klasycznym i dodasz do niego bramkę Hadamarda, stanie się on uniwersalnym zestawem bramek na komputerze kwantowym.

Odniesienie w ComposerzeOdniesienie w OpenQASMSfera QUwaga dotycząca reprezentacji na sferze Q
h-gateh q[0];image1Reprezentacja na sferze Q pokazuje stan po działaniu bramki na początkowy stan równej superpozycji 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, gdzie nn to liczba kubitów potrzebnych do obsługi bramki.

Bramki kwantowe

Bramka X\sqrt{X}

Znana również jako bramka pierwiastka kwadratowego z NOT.

Bramka ta implementuje pierwiastek kwadratowy z X, X\sqrt{X}. Dwukrotne zastosowanie tej bramki z rzędu daje standardową bramkę Pauliego X (bramkę NOT). Podobnie jak bramka Hadamarda, X\sqrt{X} tworzy stan równej superpozycji, gdy kubit jest w stanie 0|0\rangle, ale z inną fazą względną. Na niektórych urządzeniach jest to natywna bramka, którą można zaimplementować za pomocą impulsu π/2\pi/2 lub X90.

Odniesienie w ComposerzeOdniesienie w OpenQASMSfera QUwaga dotycząca reprezentacji na sferze Q
sx_gatesx q[0];sx_qsphReprezentacja na sferze Q pokazuje stan po działaniu bramki na początkowy stan równej superpozycji 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, gdzie nn to liczba kubitów potrzebnych do obsługi bramki.

Bramka X\sqrt{X}^{\dagger}

Znana również jako bramka SXdg lub pierwiastka kwadratowego z NOT-dagger.

Jest to odwrotność bramki X\sqrt{X}. Dwukrotne jej zastosowanie z rzędu daje bramkę Pauliego X (bramkę NOT), ponieważ bramka NOT jest swoją własną odwrotnością. Podobnie jak bramka X\sqrt{X}, ta bramka może służyć do tworzenia stanu równej superpozycji i jest również natywnie implementowana na niektórych urządzeniach za pomocą impulsu X90.

Odniesienie w ComposerzeOdniesienie w OpenQASMSfera QUwaga dotycząca reprezentacji na sferze Q
sxdg_gatesxdg q[0];sxdg_qsphReprezentacja na sferze Q pokazuje stan po działaniu bramki na początkowy stan równej superpozycji 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, gdzie nn to liczba kubitów potrzebnych do obsługi bramki.

Bramka Y

Bramka Pauliego Y jest równoważna Ry dla kąta π\pi. Jest równoważna zastosowaniu X i Z z dokładnością do globalnego czynnika fazowego.

Odniesienie w ComposerzeOdniesienie w OpenQASMSfera QUwaga dotycząca reprezentacji na sferze Q
y_gatey q[0];image21Reprezentacja na sferze Q pokazuje stan po działaniu bramki na początkowy stan równej superpozycji 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, gdzie nn to liczba kubitów potrzebnych do obsługi bramki.

Bramka RX

Bramka RX implementuje exp(iθ2X)exp(-i\frac{\theta}{2}X). Na sferze Blocha bramka ta odpowiada obrotowi stanu kubitu wokół osi x o zadany kąt.

Odniesienie w ComposerzeOdniesienie w OpenQASMSfera QUwaga dotycząca reprezentacji na sferze Q
rx_gaterx(angle) q[0];image13Reprezentacja na sferze Q pokazuje stan po działaniu bramki na początkowy stan równej superpozycji 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, gdzie nn to liczba kubitów potrzebnych do obsługi bramki.

W IBM Quantum Composer domyślna wartość parametru angle wynosi π/2\pi/2. Dlatego właśnie ten kąt jest używany w wizualizacji na sferze Q.

Bramka RY

Bramka RY implementuje exp(iθ2Y)exp(-i\frac{\theta}{2}Y). Na sferze Blocha bramka ta odpowiada obrotowi stanu kubitu wokół osi y o zadany kąt i nie wprowadza zespolonych amplitud.

Odniesienie w ComposerzeOdniesienie w OpenQASMSfera QUwaga dotycząca reprezentacji na sferze Q
ry_gatery(angle) q[0];image15Reprezentacja na sferze Q pokazuje stan po działaniu bramki na początkowy stan równej superpozycji 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, gdzie nn to liczba kubitów potrzebnych do obsługi bramki.

W IBM Quantum Composer domyślna wartość parametru angle wynosi π/2\pi/2. Dlatego właśnie ten kąt jest używany w poniższej wizualizacji na sferze Q.

Bramka RXX

Bramka RXX implementuje exp(iθ/2XX)\exp(-i \theta/2 X \otimes X). Bramka Mølmera–Sørensena, będąca natywną bramką w układach z pułapkami jonowymi, może być wyrażona jako suma bramek RXX.

Odniesienie w ComposerzeOdniesienie w OpenQASMSfera QUwaga dotycząca reprezentacji na sferze Q
rxx-gaterxx(angle) q[0], q[1];rxx_qsphReprezentacja na sferze Q pokazuje stan po działaniu bramki na początkowy stan równej superpozycji 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, gdzie nn to liczba kubitów potrzebnych do obsługi bramki.

W IBM Quantum Composer domyślna wartość parametru angle wynosi π/2\pi/2.

Bramka RZZ

Bramka RZZ wymaga jednego parametru: kąta wyrażonego w radianach. Bramka ta jest symetryczna – zamiana miejscami dwóch kubitów, na które działa, nie zmienia niczego.

Odniesienie w ComposerzeOdniesienie w OpenQASMSfera QUwaga dotycząca reprezentacji na sferze Q
rzz_gaterzz(angle) q[0], q[1];rzz_qsphReprezentacja na sferze Q pokazuje stan po działaniu bramki na początkowy stan równej superpozycji 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, gdzie nn to liczba kubitów potrzebnych do obsługi bramki.

W IBM Quantum Composer domyślna wartość parametru angle wynosi π/2\pi/2.

Bramka U

(Poprzednio nazywana bramką U3) Trzy parametry umożliwiają skonstruowanie dowolnej bramki jednokubitowej. Ma czas trwania równy jednej jednostce czasu bramki.

Odniesienie w ComposerzeOdniesienie w OpenQASMSfera QUwaga dotycząca reprezentacji na sferze Q
u_gateu(theta, phi, lam) q[0];u3_qsphReprezentacja na sferze Q pokazuje stan po działaniu bramki na początkowy stan równej superpozycji 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, gdzie nn to liczba kubitów potrzebnych do obsługi bramki.

W IBM Quantum Composer domyślna wartość parametru angle wynosi π/2\pi/2.

Bramka RCCX

Uproszczona bramka Toffoliego, zwana również bramką Margolusa.

Uproszczona bramka Toffoliego implementuje bramkę Toffoliego z dokładnością do faz względnych. Ta implementacja wymaga trzech bramek CX, co jest minimalną możliwą liczbą, jak pokazano w https://arxiv.org/abs/quant-ph/0312225. Należy zauważyć, że uproszczona bramka Toffoliego nie jest równoważna bramce Toffoliego, ale może być używana w miejscach, gdzie bramka Toffoliego jest następnie odwracana.

Odniesienie w ComposerzeOdniesienie w OpenQASMSfera QUwaga dotycząca reprezentacji na sferze Q
rccx-gaterccx a, b, c;rccx_qsphReprezentacja na sferze Q pokazuje stan po działaniu bramki na początkowy stan równej superpozycji 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, gdzie nn to liczba kubitów potrzebnych do obsługi bramki.

Bramka RC3X

Uproszczona bramka Toffoliego z 3 bitami kontrolnymi.

Uproszczona bramka Toffoliego implementuje bramkę Toffoliego z dokładnością do faz względnych. Należy zauważyć, że uproszczona bramka Toffoliego nie jest równoważna bramce Toffoliego, ale może być używana w miejscach, gdzie bramka Toffoliego jest następnie odwracana.

Odniesienie w ComposerzeOdniesienie w OpenQASMSfera QUwaga dotycząca reprezentacji na sferze Q
rc3x-gaterc3x a, b, c, d;rc3x_qsphReprezentacja na sferze Q pokazuje stan po działaniu bramki na początkowy stan równej superpozycji 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, gdzie nn to liczba kubitów potrzebnych do obsługi bramki.