주 콘텐츠로 건너뛰기

IBM Quantum Composer

무엇인가요?

IBM Quantum® Composer는 드래그 앤 드롭으로 양자 Circuit을 구성하고 양자 하드웨어에서 실행할 수 있는 그래픽 양자 프로그래밍 도구입니다.

무엇을 할 수 있나요?

Qubit 상태 시각화

Circuit의 변경 사항이 Qubit 상태에 어떤 영향을 미치는지 확인할 수 있습니다. 인터랙티브 q-구(q-sphere) 형태로 표시되거나, 측정 확률 또는 상태벡터 시뮬레이션을 보여주는 히스토그램으로 나타납니다.

양자 하드웨어에서 실행

실제 양자 하드웨어에서 Circuit을 실행하여 장치 노이즈의 영향을 이해할 수 있습니다.

코드 자동 생성

코드를 직접 작성하는 대신, Composer로 만든 Circuit과 동일하게 동작하는 OpenQASM 또는 Python 코드를 자동으로 생성할 수 있습니다.

인터페이스 둘러보기

IBM Quantum Composer는 양자 처리 장치(QPU)에서 양자 Circuit을 구성, 시각화, 실행할 수 있는 커스터마이즈 가능한 도구 모음을 제공합니다. 각 창의 "더 보기" 메뉴를 통해 추가 도구와 작업에 접근할 수 있습니다.

IBM Quantum Composer 창.

  1. 작업 카탈로그(Operations catalog) - 양자 Circuit의 구성 요소입니다. 이 Gate 및 기타 작업을 그래픽 Circuit 편집기로 드래그 앤 드롭하세요. 서로 다른 유형의 Gate는 색상별로 그룹화되어 있습니다. 예를 들어, 고전 Gate는 진한 파란색, 위상 Gate는 밝은 파란색, 비유니터리 연산은 회색으로 표시됩니다.

    사용 가능한 Gate와 작업에 대해 알아보려면 작업을 우클릭하고 Info를 선택하여 정의를 읽어보세요.

  2. 코드 편집기(Code editor) - View 메뉴를 사용하여 코드 편집기를 열거나 닫을 수 있습니다. 코드 편집기에서는 Circuit의 OpenQASM 또는 Qiskit 코드를 볼 수 있습니다. OpenQASM 코드는 편집 가능하지만, Qiskit 코드는 읽기 전용입니다.

  3. 그래픽 Circuit 편집기(Graphical circuit editor) - Circuit을 구성하는 곳입니다. 양자 레지스터를 구성하는 수평 Qubit "와이어"에 Gate 및 기타 작업을 드래그 앤 드롭하세요.

    와이어에서 Gate를 제거하려면 해당 Gate를 선택하고 휴지통 아이콘을 클릭하세요.

    편집을 지원하는 Gate의 파라미터 및 설정을 편집하려면 그래픽 편집기에서 Gate를 선택하고 Edit를 클릭하세요.

  4. 툴바(Toolbar) - 자주 사용하는 도구에 접근할 수 있습니다. 작업 취소 및 다시 실행, Gate 정렬 변경, 검사 모드 전환 등이 가능합니다. 검사 모드에서는 Circuit 연산이 진행됨에 따라 Qubit 상태를 단계별로 볼 수 있습니다. 자세한 내용은 Circuit 단계별 검사를 참고하세요.

  5. 위상 디스크(Phase disks) - 복소 평면에서 Qubit 상태 벡터의 위상은 다이어그램 중심에서 회색 디스크 가장자리까지 뻗어 있는 선으로 나타납니다(중심점을 기준으로 반시계 방향으로 회전합니다).

    View 메뉴를 사용하여 위상 디스크를 표시하거나 숨길 수 있습니다.

  6. 시각화(Visualizations) - 시각화는 Circuit을 구성하면서 특성을 나타냅니다. 단일 샷 상태벡터 시뮬레이터를 사용하며, 이는 "Run circuit" 설정에서 지정한 QPU와 다릅니다. 시각화는 추가한 측정 작업을 무시한다는 점에 유의하세요. 지정된 Backend에서 결과를 얻으려면 로그인 후 Run circuit을 클릭하세요.

    자세한 내용은 시각화 섹션을 참고하세요.

양자 Circuit 구성, 편집 및 검사

Composer를 종료하기 전에 Circuit 파일을 다운로드하세요

나중에 Circuit 작업을 계속하려면 현재 Composer 세션을 종료하기 전에 반드시 Circuit 파일을 다운로드하여 로컬에 저장해 두세요. 오른쪽 상단의 "Save file" 링크를 사용하거나 File 메뉴에서 "Save file"을 선택하세요. Circuit 작업을 다시 시작할 준비가 되면 File 메뉴에서 "Upload .qasm file"을 선택하고, 로컬 드라이브에서 Circuit 파일을 찾아 Open을 클릭하세요.

1. IBM Quantum Composer 열기

  1. (선택 사항) IBM Quantum에 현재 로그인되어 있지 않은 경우, 오른쪽 상단에서 Sign in을 선택하세요. 그런 다음 로그인하거나 Create an IBM Cloud account를 선택할 수 있습니다.
참고

로그인하지 않으면 시각화는 최대 4개의 Qubit에 대한 시뮬레이션 결과를 자동으로 표시합니다. 양자 컴퓨터에서 Circuit을 실행하거나 4개 이상의 Qubit을 가진 Circuit을 시각화하려면 반드시 로그인해야 합니다.

  1. 학습 페이지 탐색 메뉴의 링크를 클릭하여 IBM Quantum Composer를 여세요. 작업 공간에 제목 없는 빈 Circuit이 표시됩니다. 새 Circuit을 만들거나 .qasm 파일을 업로드하여 이미 만든 Circuit 작업을 계속할 수 있습니다.

  2. Untitled circuit이라는 텍스트를 클릭하고 Circuit 이름을 입력하여 이름을 지정하세요. 체크마크를 클릭하여 이름을 저장하세요.

  3. (선택 사항) 작업 공간을 커스터마이즈하세요:

    • View 메뉴를 사용하여 기본 테마에서 단색 테마로 변경할 수 있습니다. 작업 공간에 포함할 패널을 선택한 다음, 각 패널의 오른쪽 모서리에 있는 메뉴를 사용하여 추가 커스터마이즈 옵션에 접근할 수 있습니다. 위상 디스크 표시 또는 숨김, Circuit에서 Qubit 정렬 방식 선택, 작업 공간을 기본값으로 재설정하는 옵션도 View 메뉴에 있습니다.
    • 하단 오른쪽 모서리의 footer에서 어두운 테마와 밝은 테마 간에 전환할 수 있습니다.

Circuit을 구성하려면 드래그 앤 드롭으로 작업 추가하거나, 코드 편집기에 OpenQASM 코드 입력을 사용할 수 있습니다.

2. 드래그 앤 드롭으로 Circuit 구성하기

작업 카탈로그

작업 카탈로그에서 양자 및 고전 레지스터로 작업을 드래그 앤 드롭하세요. 검색 아이콘을 클릭하고 검색창에 검색어를 입력하면 작업을 빠르게 찾을 수 있습니다.

작업 패널 오른쪽 상단의 아이콘을 클릭하여 작업 카탈로그를 접거나 펼칠 수 있습니다. 옆에 있는 아이콘을 클릭하면 카탈로그를 그리드 보기와 목록 보기로 전환할 수 있습니다.

작업 아이콘을 우클릭하고 Info를 선택하면 QASM 참조와 함께 해당 작업의 정의를 볼 수 있습니다.

실행 취소 또는 다시 실행하려면 툴바의 곡선 화살표를 사용하세요.

정렬

Freeform alignment를 선택하면 Circuit 어디에나 작업을 배치할 수 있습니다. 더 간결한 Circuit 보기를 위해 Left alignment를 선택하세요. 작업이 실행되는 순서를 보려면 Layers alignment를 선택하세요. 이 옵션은 왼쪽 정렬을 적용하고 왼쪽에서 오른쪽, 위에서 아래 순서로 실행 순서를 나타내는 열 구분선을 추가합니다.

작업을 Circuit에 배치한 후에도 드래그 앤 드롭으로 새 위치로 이동할 수 있습니다.

복사 및 붙여넣기

작업을 클릭하고 컨텍스트 메뉴의 아이콘을 사용하여 복사 및 붙여넣기 하세요.

여러 작업 선택

여러 작업을 선택하여 복사 및 붙여넣기하거나, 새 위치로 드래그하거나, 작업 카탈로그에 표시되고 단일 Gate로 기능하는 사용자 정의 유니터리 작업으로 그룹화할 수 있습니다.

두 개 이상의 작업을 선택하려면 커서를 작업 중 하나의 바로 바깥쪽에 놓고 클릭한 채로 영역을 가로질러 드래그하세요. 개별 작업을 Shift+클릭하여 선택하거나 선택 해제할 수 있습니다. 점선이 선택 중인 작업 집합의 윤곽을 나타내고, 실제로 선택에 포함된 각 작업은 파란색으로 윤곽이 표시됩니다.

예를 들어, 다음 이미지에서 q1의 Hadamard Gate와 CX Gate가 선택되어 있습니다. q0의 Hadamard Gate는 선택되지 않았습니다.

선택된 작업 집합.

컨텍스트 메뉴에서 Copy를 선택하여 그룹을 복사하세요.

작업 그룹을 붙여넣으려면 Circuit을 우클릭하고 Paste를 선택하세요.

그룹 기능으로 사용자 정의 작업 만들기

여러 작업을 그룹화하여 사용자 정의 작업으로 저장하려면, 먼저 위에서 설명한 대로 작업을 선택한 다음 컨텍스트 메뉴에서 Group을 선택하세요. 사용자 정의 작업의 이름을 지정하거나 기본 이름을 그대로 사용할 수 있습니다. OK를 클릭하면 사용자 정의 작업이 Circuit과 작업 카탈로그 모두에서 단일 박스로 표시됩니다.

이제 Circuit 전체에서 새 작업을 드래그 앤 드롭할 수 있습니다. 이 작업은 현재 Circuit에만 저장되며 다른 Circuit의 작업 카탈로그에는 표시되지 않습니다.

OpenQASM 코드 편집기에서 직접 사용자 정의 작업을 만들 수도 있습니다. 자세한 내용은 OpenQASM에서 사용자 정의 작업 만들기를 참고하세요.

사용자 정의 또는 미리 정의된 작업 그룹 해제

사용자 정의 또는 미리 정의된 작업 내의 Gate를 그룹 해제하려면, Composer에서 해당 작업을 클릭하고 컨텍스트 메뉴에서 Ungroup을 선택하세요. 이제 개별 작업을 따로 이동할 수 있습니다. 작업을 그룹 해제하면 이전 그룹의 각 요소가 독립적으로 실행되므로, 그룹으로 묶여 있을 때와 실행 순서가 달라질 수 있습니다.

작업 정의 펼치기

사용자 정의 또는 미리 정의된 작업을 그룹 해제하지 않고 구성 작업을 보려면, 컨텍스트 메뉴에서 Expand definition을 클릭하여 정의 Gate를 확인하세요. 아이콘을 다시 클릭하면 정의를 접을 수 있습니다.

사용자 정의 작업 이름 변경 또는 삭제

사용자 정의 작업의 이름을 변경하거나 삭제하려면, 작업 카탈로그에서 해당 작업을 우클릭하고 Rename 또는 Delete를 선택하세요. 작업 카탈로그에서 사용자 정의 작업을 삭제하면 Circuit에 있는 해당 작업의 모든 인스턴스도 삭제됩니다.

Circuit 자체에서 사용자 정의 작업을 삭제해도 작업 카탈로그에서는 삭제되지 않습니다. 카탈로그에서 사용자 정의 작업을 삭제하려면 우클릭 후 Delete를 선택하는 방법만 사용할 수 있습니다.

레지스터 추가 또는 제거

양자 또는 고전 레지스터를 추가하거나 제거하려면 Edit → Manage registers를 클릭하세요. Circuit의 Qubit 또는 비트 수를 늘리거나 줄이고 레지스터 이름을 변경할 수 있습니다. Ok를 클릭하여 변경 사항을 적용하세요. 레지스터 이름(예: q[0])을 클릭하고 컨텍스트 메뉴의 옵션을 사용하여 레지스터나 Qubit을 빠르게 추가하거나 삭제할 수도 있습니다.

조건부 추가

Gate에 조건부를 추가하려면 if 작업을 해당 Gate로 드래그하고 자동으로 열리는 Edit operation 패널에서 파라미터를 설정하세요. Gate를 더블클릭하여 Edit operation 패널에 접근한 후 그 방법으로 조건부 파라미터를 설정할 수도 있습니다.

제어 수정자 추가

제어 수정자는 원래 작업이 제어 Qubit의 상태에 따라 결정되는 Gate를 생성합니다. 자세한 내용은 작업 카탈로그에서 제어 수정자 기호를 우클릭한 다음 Info를 클릭하세요.

제어 수정자를 Circuit의 Gate로 드래그하면 제어가 추가됩니다. 제어 Qubit에 점이 나타나고 대상 Qubit과 선으로 연결됩니다. 어느 Qubit이 제어인지 또는 대상인지 편집하려면 Gate를 클릭하고 Edit operation 아이콘을 선택하거나 Gate를 더블클릭하여 Edit operation 패널을 열고 파라미터를 지정하세요. Edit operation 패널에서 Qubit 이름 옆의 x를 클릭하여 Qubit에서 제어를 제거할 수도 있습니다.

Circuit 전체에서 위상 디스크로 시각화

Circuit의 어느 지점에서든 모든 Qubit의 상태를 시각화하려면, 작업 카탈로그에서 위상 디스크 아이콘을 드래그하여 Circuit의 원하는 위치에 배치하세요. 배리어 작업 열과 위상 디스크 열이 추가됩니다(Qubit당 배리어 작업과 위상 디스크가 하나씩). 각 위상 디스크 위에 마우스를 올리면 Circuit의 해당 지점에서 Qubit의 상태를 읽을 수 있습니다. 위상 디스크를 추가해도 Circuit이 변경되지 않으며, 이는 단순히 시각화 도구입니다.

위상 디스크 시각화에 대한 자세한 내용은 여기를 참고하세요.

Circuit 이미지 내보내기

Circuit 이미지를 내보내려면 File → Export circuit image를 선택하세요. 내보내기 옵션 창이 열리며, 테마(밝게, 어둡게, 검은 배경에 흰 색, 흰 배경에 검은 색), 형식(.svg 또는 .png), 줄 바꿈 적용 여부를 선택할 수 있습니다. 옵션을 선택한 후 Export를 클릭하세요.

3. OpenQASM 코드로 Circuit 만들기

참고

IBM Quantum Composer는 현재 OpenQASM 2.0을 지원합니다.

  • 코드 편집기를 열려면 보기 → 패널 → 코드 편집기를 클릭하세요.
  • Gate 및 기타 연산의 OpenQASM 참조는 Composer 연산 용어집을 참조하세요.
  • 사용자 정의 연산을 직접 정의할 수 있습니다. OpenQASM에서 사용자 정의 연산 만들기를 참조하세요.
  • 예시 코드를 포함하여 OpenQASM 언어 사용에 대한 자세한 내용은 OpenQASM 소개 가이드를 참조하거나, 원본 연구 논문인 Open Quantum Assembly Language를 읽어보세요. 논문에 수록된 OpenQASM 언어 구문 는 아래에 재현되어 있습니다. OpenQASM 문법은 논문의 부록 A에서 확인할 수 있습니다.

구문설명예시
OPENQASM 2.0;OpenQASM 형식의 파일임을 나타냅니다 ([a] 참조)OPENQASM 2.0;
qreg name[size];이름이 지정된 Qubit 레지스터 선언qreg q[5];
creg name[size];이름이 지정된 비트 레지스터 선언creg c[5];
include "filename";다른 소스 파일을 열고 파싱include "qelib1.inc";
gate name(params) qargs유니타리 Gate 선언(논문 본문 참조)
opaque name(params) qargs;불투명(opaque) Gate 선언(논문 본문 참조)
// comment text해당 줄을 주석 처리// oops!
U(theta,phi,lambda) qubit|qreg;내장 단일 Qubit Gate 적용 ([b] 참조)U(pi/2,2*pi/3,0) q[0];
CX qubit|qreg,qubit|qreg;내장 CNOT Gate 적용CX q[0],q[1];
measure qubit|qreg -> bit|creg;ZZ 기저에서 측정 수행measure q -> c;
reset qubit|qreg;Qubit을 0\vert 0\rangle 상태로 초기화reset q[0];
gatename(params) qargs;사용자 정의 유니타리 Gate 적용crz(pi/2) q[1],q[0];
if(creg==int) qop;조건부 양자 연산 적용if(c==5) CX q[0],q[1];
barrier qargs;이 소스 줄을 가로질러 변환 방지barrier q[0],q[1];

[a] 이 줄은 파일의 첫 번째 비주석 줄로 나타나야 합니다.

[b] theta, phi, lambda 파라미터는 파라미터 표현식으로 지정됩니다. 자세한 내용은 논문 5페이지부록 A를 참조하세요.

OpenQASM에서 사용자 정의 연산 만들기

코드 편집기에서 새로운 유니타리 연산을 정의할 수 있습니다(예시는 아래 그림을 참조하세요). 해당 연산은 내장 연산과 마찬가지로 name(params) qargs; 구문을 사용하여 적용합니다. 파라미터가 없는 경우 괄호는 생략할 수 있습니다.

사용자 정의 연산을 정의하려면 OpenQASM 코드 편집기에 gatename(params) qargs; 형식으로 입력하세요. 연산 목록에서 +추가를 클릭하면 사용자 정의 연산의 이름을 입력하라는 안내가 표시되며, 이후 코드 편집기에서 해당 연산을 구성할 수 있습니다.

사용자 정의 연산을 정의한 후에는 그래픽 편집기로 드래그하고, 편집 아이콘을 사용하여 파라미터를 세부 조정하세요.

사용자 정의 연산 예시
사용자 정의 연산에 포함될 Gate:Gates in the custom operation
새 연산의 코드:Customized new operation
그래픽 편집기에서의 새 연산:New operation

4. Circuit을 단계별로 검사하기

검사(Inspect) 모드는 여러분이 만든 Circuit의 내부 동작을 명확하게 보여줍니다. Circuit의 시뮬레이션을 한 레이어씩 단계적으로 진행하여, 연산이 수행되는 동안 Qubit의 상태가 어떻게 변화하는지 확인할 수 있습니다.

  • 보기 메뉴에서 사용하려는 시각화 패널을 선택하세요.

  • 툴바의 검사(Inspect) 토글을 클릭하세요. 검사 모드가 켜진 상태에서는 토글을 다시 끄기 전까지 추가 연산을 삽입할 수 없습니다.

  • 자유 형식(Freeform) 정렬이 켜진 상태에서 Circuit을 구성했다면, 검사 모드 진입 시 자동으로 왼쪽 정렬로 전환됩니다.

  • Circuit 구성 요소의 시각화를 단계별로 이동하려면 앞으로 및 되감기 버튼을 사용하세요.

Controls to step forward and backward, and to jump to a circuit's beginning or end.

  • 일부 연산만 검사하려면 검사하려는 연산을 클릭하세요. 각 연산에 색상 오버레이가 나타나며, 검사 모드 실행 시 해당 연산이 포함됨을 나타냅니다. 연산을 다시 클릭하면 선택이 해제되고 오버레이가 사라집니다.

  • 시각화 해석 방법에 대해 자세히 알아보려면 시각화 항목을 참조하세요.

  • 검사 모드를 종료하고 Circuit 편집으로 돌아가려면 툴바의 검사(Inspect) 토글을 클릭하세요.

시뮬레이터의 무작위성

시뮬레이터는 *시드(seed)*를 기반으로 결과를 생성하여 무작위성을 구현합니다. 시드는 의사 난수를 생성하는 알고리즘에 도입되는 초기값입니다. 편집 메뉴에서 "시각화 시드"를 선택하면 시드 번호를 확인할 수 있습니다. 또한 상자의 값을 변경하여 직접 시드를 설정할 수도 있습니다.

회로 실행 및 결과 확인

아래 단계에 따라 QPU에서 양자 Circuit을 실행하고 결과를 확인하세요.

작업 설정 선택

오른쪽 상단의 Circuit 실행을 클릭하세요. 열리는 창에서 사용 가능한 QPU를 선택합니다. 플랜(예: Open, Flex, Premium 플랜)과 연결된 인스턴스도 선택할 수 있습니다. 선택한 인스턴스에 따라 사용 가능한 QPU가 달라집니다. QPU 표에서 "세부 정보 보기" 링크를 클릭하면 각 QPU에 대한 자세한 정보를 확인할 수 있습니다.

다음으로, Backend가 Circuit을 실행할 횟수(shots)를 설정할 수 있습니다.

이 패널에서 작업 이름을 지정하고 태그를 추가할 수도 있습니다. 이는 Circuit 이름에는 영향을 주지 않습니다. 미리 채워진 "Composer" 태그를 사용하면 워크로드 테이블에서 Composer 작업을 쉽게 필터링할 수 있습니다. 이 태그는 삭제할 수 있습니다.

Window displaying job options.

참고

Circuit을 실행하면 실행 설정에서 QPU를 지정하지 않는 한, 가장 여유 있는 QPU로 자동으로 전송됩니다. 동일한 Circuit을 다시 실행할 경우, QPU 선택 창은 이전에 선택한 QPU로 기본 설정됩니다.

"(QPU 이름)에서 실행" 클릭

오른쪽 상단의 "작업 보기" 버튼을 클릭하면 작업 진행 상황을 확인할 수 있으며, IBM Quantum Platform의 워크로드 페이지가 열립니다.

결과 확인

작업이 완료되면 IBM Quantum Platform의 워크로드 테이블에서 세부 정보가 업데이트됩니다.

작업 결과 페이지에는 실행 세부 정보, 원본 및 Transpiler 처리된 Circuit의 다이어그램, 결과 히스토그램, 그리고 원본 및 Transpiler 처리된 Circuit을 OpenQASM 또는 Qiskit으로 확인할 수 있는 OpenQASM 및 Qiskit 탭이 표시됩니다.

각 다이어그램의 오른쪽 상단 모서리에 있는 메뉴를 클릭한 다음 다운로드 형식(PNG, PDF, SVG)을 선택하면 Circuit과 히스토그램을 다운로드할 수 있습니다. 히스토그램은 CSV 파일로도 내보낼 수 있습니다. OpenQASM Circuit은 Composer에서 직접 열 수 있습니다.

시각화

IBM Quantum Composer의 실시간 시각화는 양자 Circuit이 Qubit 집합의 상태에 미치는 영향을 다양한 뷰로 보여줍니다. 각 실시간 시각화 유형은 아래에 자세히 설명되어 있습니다.

시뮬레이터의 무작위성

실시간 시각화는 단일 샷 상태벡터 시뮬레이터에서 생성되며, 이는 실행 설정에서 지정하는 QPU와는 다릅니다. QPU는 여러 샷을 사용할 수 있습니다. 시뮬레이터는 *시드(seed)*를 기반으로 결과를 생성하여 무작위성을 만들어냅니다. 시드는 유사 난수를 생성하는 알고리즘에 도입되는 초기값입니다. Edit 메뉴에서 "Visualizations seed"를 선택하면 시드 번호를 확인할 수 있습니다. 상자의 값을 변경하여 시드를 직접 설정할 수도 있습니다.

시각화 보기

실시간 시각화는 Composer 작업 공간 하단의 창에 표시됩니다(단, 위상 디스크는 각 Qubit 와이어 끝에 표시됩니다). 상태벡터, 확률, q-구 시각화의 임의 조합을 작업 공간 하단에 표시할 수 있습니다. View 메뉴에서 시각화를 선택하거나 선택 해제하세요.

시각화 다운로드

Composer 작업 공간 하단의 시각화 창에서 "더 보기" 메뉴를 클릭하여 시각화를 다운로드할 수 있습니다. SVG, PNG 형식 또는 기본 데이터의 CSV 파일로 시각화를 다운로드할 수 있습니다. 측정 확률 및 상태벡터 히스토그램의 시각화 이미지를 PDF로도 다운로드할 수 있습니다.

위상 디스크

단일 Qubit 상태는 다음과 같이 나타낼 수 있습니다.

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

여기서 pp는 Qubit이 1|1\rangle 상태에 있을 확률이고, φ\varphi는 양자 위상입니다. pp는 고전적인 확률 비트와 매우 유사합니다. p=0p=0이면 Qubit은 0|0\rangle 상태에 있고, p=1p=1이면 1|1\rangle 상태에 있으며, p=1/2p=1/2이면 Qubit은 50/50 혼합 상태입니다. 고전 비트와 달리 이 혼합 상태는 양자 위상을 가질 수 있기 때문에 이를 중첩(superposition)이라고 합니다. 위상 디스크는 이 상태를 시각화합니다.

IBM Quantum Composer에서 각 Qubit 끝에 있는 위상 디스크는 연산 종료 시점의 각 Qubit의 로컬 상태를 나타냅니다. 위상 디스크의 구성 요소는 아래에 설명되어 있습니다.

Qubit이 1|1\rangle 상태에 있을 확률

Qubit이 1|1\rangle 상태에 있을 확률은 파란색 디스크 채움으로 표시됩니다.

probability the qubit is in the 1 state

양자 위상

Qubit 상태의 양자 위상은 다이어그램 중심에서 회색 디스크 가장자리까지 뻗은 선으로 표시됩니다(중심점을 기준으로 반시계 방향으로 회전합니다).

phase of the local qubit state

예시: 두 Qubit의 위상 디스크

phase disk examples

위상 디스크 시각화의 두 가지 예시입니다. 첫 번째 예시는 1|1\rangle 상태이고, 두 번째는 영이 아닌 상대 위상을 가진 (01)/2(|0\rangle-|1\rangle)/\sqrt{2} 상태를 보여줍니다.

블로흐 구와의 관계

블로흐 구의 모든 정보를 담고 있는 위상 디스크는 Qubit의 2차원 표현입니다. 블로흐 구 표현으로 변환하려면 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} ], z=12pz=1-2p를 사용하세요.

N-Qubit 상태: 최대 15 Qubit

N-Qubit 양자 상태는 다음과 같은 형태를 취합니다.

ψ=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}

여기서 pkp_k는 Qubit들이 0...0|0...0\rangle 상태에 대한 양자 위상 φk\varphi_k를 가진 k|k\rangle 상태에 있을 확률입니다. p=k0pkp=\sum_{k\neq0}p_k는 Qubit들이 기저 상태 0...0|0...0\rangle에 있지 않을 확률입니다. N-Qubit 양자 상태에는 2N12^N-1개의 확률과 2N12^N-1개의 위상이 있음을 쉽게 알 수 있습니다. 위상 디스크는 이 상태를 완전히 표현하지 못합니다. N-Qubit 위상 디스크는 NN개의 확률과 NN개의 위상만 포함하기 때문입니다. 대부분의 상태는 얽혀 있어 독립적인 단일 Qubit 양자 상태로 분리할 수 없기 때문입니다. 이 시각화에 전체 정보가 포함되지 않음을 나타내기 위해 위상 디스크의 구성 요소로 축소 순도(reduced purity)를 도입합니다.

Qubit 상태의 축소 순도

검은색 링의 반지름은 Qubit 상태의 축소 순도를 나타내며, NN-Qubit 상태 ψ|\psi\rangle에서 Qubit jj에 대해 Tr[Trij[ψψ]2]\mathrm{Tr}\left[\mathrm{Tr}_{i\neq j}[\left|\psi\rangle\langle\psi\right|\right]^{2}]로 주어집니다. 단일 Qubit의 축소 순도는 [0.5,1][0.5, 1] 범위에 있으며, 값이 1이면 해당 Qubit이 다른 어떤 파티와도 얽혀 있지 않음을 나타냅니다. 반면 축소 순도가 0.50.5이면 Qubit이 완전 혼합 상태에 있으며, 나머지 N1N-1개의 Qubit, 그리고 환경과도 어느 정도 얽혀 있음을 나타냅니다.

purity of the qubit state

확률 뷰

8-Qubit 제한

이 뷰는 양자 상태의 확률을 막대 그래프로 시각화합니다. 가로축은 계산 기저 상태를 나타내고, 세로축은 백분율로 표시된 확률을 측정합니다. 이 뷰에서는 양자 위상이 표현되지 않으므로 불완전한 표현입니다. 그러나 각 Qubit을 측정하여 해당 고전 비트에 값을 저장할 때의 결과를 예측하는 데 유용합니다.

다음 양자 Circuit과 그 확률 뷰를 살펴보세요.

a quantum circuit

measurement probabilities view

이 Circuit은 두 Qubit을 ψ=(00+01+1011)/2|\psi\rangle = (|00\rangle + |01\rangle+ |10\rangle-|11\rangle) / 2 상태로 만듭니다. 계산 기저 상태는 00,10,01,|00\rangle, |10\rangle, |01\rangle, 그리고 11|11\rangle입니다. 각 계산 상태의 확률은 1/4입니다.

Q-구 뷰

5-Qubit 제한

q-구는 각 계산 기저 상태를 구 표면의 한 점에 대응시켜 하나 이상의 Qubit으로 구성된 시스템의 상태를 표현합니다. 각 점에 노드가 표시됩니다. 각 노드의 반지름은 해당 기저 상태의 확률 (pkp_k)에 비례하며, 노드의 색상은 양자 위상 (φk\varphi_k)을 나타냅니다.

q-구에서 노드들은 모두 0인 기저 상태(예: 000|000\rangle)가 북극에, 모두 1인 기저 상태(예: 111|111\rangle)가 남극에 오도록 배치됩니다. 같은 수의 0(또는 1)을 가진 기저 상태들은 q-구의 동일한 위도 위에 놓입니다(예: 001,010,100|001\rangle, |010\rangle, |100\rangle). q-구의 북극에서 남쪽으로 내려갈수록 각 위도의 기저 상태는 더 많은 수의 1을 가지며, 기저 상태의 위도는 영 상태로부터의 해밍 거리에 의해 결정됩니다. q-구는 양자 상태에 관한 완전한 정보를 간결한 표현으로 담고 있습니다.

다음 양자 Circuit과 Circuit이 생성하는 상태를 나타내는 q-구를 살펴보세요.

a quantum circuit

q-sphere view

q-구를 선택하고 누른 상태로 드래그하여 회전시킬 수 있습니다. q-구를 기본 방향으로 되돌리려면 q-구 오른쪽 상단의 되감기 화살표 버튼을 선택하세요.

블로흐 구와 q-구의 차이점은 무엇인가요?

q-구는 단일 Qubit의 경우에도 블로흐 구와 동일하지 않다는 점을 강조하는 것이 중요합니다. 실제로 위상 디스크와 마찬가지로 블로흐 구는 각 Qubit을 개별적으로 바라보는 양자 상태의 로컬 뷰를 제공합니다. Qubit 레지스터(다중 Qubit 상태)가 양자 Circuit 적용 시 어떻게 동작하는지 이해하려면 양자 상태를 전체적으로 바라보는 전역적 관점이 더 유익합니다. q-구는 양자 상태의 시각적 표현을 제공하여 이러한 전역적 관점을 보여줍니다. 따라서 소수의 Qubit에서 양자 응용 프로그램과 알고리즘을 탐색할 때 q-구를 주요 시각화 방법으로 사용해야 합니다.

상태벡터 뷰

6-Qubit 제한

pkeiφk\sqrt{p_k}e^{i\varphi_k}를 양자 진폭이라고 부르는 것이 일반적입니다. 이 뷰는 양자 진폭을 막대 그래프로 시각화합니다. 가로축은 계산 기저 상태를 나타내고, 세로축은 각 계산 기저 상태와 연관된 진폭의 크기 (pk\sqrt{p_k})를 측정합니다. 각 막대의 색상은 양자 위상 (φk{\varphi_k})을 나타냅니다.

다음 양자 Circuit과 그 상태벡터 뷰를 살펴보세요.

a quantum circuit

statevector view

이 Circuit은 두 Qubit을 ψ=(00+01+1011)/2|\psi\rangle = (|00\rangle + |01\rangle+ |10\rangle-|11\rangle) / 2 상태로 만듭니다. 계산 기저 상태는 00|00\rangle, 10|10\rangle, 01|01\rangle, 그리고 11|11\rangle입니다. 진폭의 크기는 1/21/2이고, 기저 상태에 대한 양자 위상은 01|01\rangle10|10\rangle에 대해 00이며 11|11\rangle에 대해 π\pi입니다.

Composer operations glossary

이 페이지는 양자 Circuit에서 Qubit을 조작하는 데 사용할 수 있는 다양한 고전적·양자 연산을 정의하는 참조 자료입니다. 양자 연산에는 Hadamard Gate와 같은 양자 Gate뿐만 아니라, 측정 연산처럼 양자 Gate에 해당하지 않는 연산도 포함됩니다.

아래의 각 항목은 해당 연산의 세부 정보와 OpenQASM 참조를 제공합니다. 자세한 내용은 OpenQASM 코드로 Circuit 구성하기 항목을 참고하세요.

아래 각 Gate 항목의 q-sphere 이미지는 해당 Gate가 초기 균등 중첩 상태 12ni=02n1i\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}|i\rangle (여기서 nn은 해당 Gate를 지원하는 데 필요한 Qubit 수)에 작용한 후의 상태를 보여줍니다. 이 시각화에 대한 자세한 내용은 q-sphere 항목을 참고하세요.

IBM Quantum Composer에서 사용할 사용자 정의 연산을 정의할 수 있습니다. 방법은 OpenQASM에서 사용자 정의 연산 만들기 항목을 참고하세요.

Gate 색상

Gate 색상은 라이트 테마와 다크 테마에서 약간 다르게 표시됩니다. 여기에서는 라이트 테마의 색상을 사용합니다.

아래에서 양자 연산을 클릭하면 해당 정의를 확인할 수 있습니다.

Classical gates

NOT Gate

NOT Gate(Pauli X Gate라고도 함)는 0\left|0\right\rangle 상태를 1\left|1\right\rangle로, 그 반대로도 뒤집습니다. NOT Gate는 각도 π\pi에 대한 RX 또는 'HZH'와 동일합니다.

Composer 참조OpenQASM 참조Q-sphereq-sphere 표현에 관한 참고 사항
x_gatex q[0];image19q-sphere 표현은 Gate가 초기 균등 중첩 상태 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, (여기서 nn은 해당 Gate를 지원하는 데 필요한 Qubit 수)에 작용한 후의 상태를 보여줍니다.

CNOT Gate

제어-NOT Gate(제어-x (CX) Gate라고도 함)는 한 Qubit이 '제어(control)', 다른 Qubit이 '대상(target)' 역할을 하는 Qubit 쌍에 작용합니다. 제어 Qubit이 1\left|1\right\rangle 상태일 때마다 대상 Qubit에 NOT을 수행합니다. 제어 Qubit이 중첩 상태에 있으면 이 Gate는 얽힘을 생성합니다.

모든 유니터리 Circuit은 단일 Qubit Gate와 CNOT Gate로 분해할 수 있습니다. 실제 하드웨어에서 2-Qubit CNOT Gate는 단일 Qubit Gate보다 실행 시간이 훨씬 많이 소요되므로, Circuit 비용은 때때로 CNOT Gate의 수로 측정됩니다.

Composer 참조OpenQASM 참조Q-sphereq-sphere 표현에 관한 참고 사항
CX-Gatecx q[0], q[1];image19q-sphere 표현은 Gate가 초기 균등 중첩 상태 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, (여기서 nn은 해당 Gate를 지원하는 데 필요한 Qubit 수)에 작용한 후의 상태를 보여줍니다.

Toffoli gate

Toffoli Gate(이중 제어-NOT Gate(CCX)라고도 함)는 두 개의 제어 Qubit과 하나의 대상 Qubit을 가집니다. 두 제어 Qubit이 모두 1\left|1\right\rangle 상태일 때만 대상 Qubit에 NOT을 적용합니다.

Toffoli Gate와 Hadamard Gate의 조합은 양자 컴퓨팅을 위한 범용 Gate 집합입니다.

Composer 참조OpenQASM 참조Q-sphereq-sphere 표현에 관한 참고 사항
ccx-gateccx q[0], q[1], q[2];ccx_qsphq-sphere 표현은 Gate가 초기 균등 중첩 상태 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, (여기서 nn은 해당 Gate를 지원하는 데 필요한 Qubit 수)에 작용한 후의 상태를 보여줍니다.

SWAP gate

SWAP Gate는 두 Qubit의 상태를 서로 교환합니다.

Composer 참조OpenQASM 참조Q-sphereq-sphere 표현에 관한 참고 사항
SWAP gateswap q[0], q[1];swap_qsphq-sphere 표현은 Gate가 초기 균등 중첩 상태 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, (여기서 nn은 해당 Gate를 지원하는 데 필요한 Qubit 수)에 작용한 후의 상태를 보여줍니다.

Identity gate

항등 Gate(Id 또는 I Gate라고도 함)는 실제로는 Gate가 없는 상태를 의미합니다. 이 Gate는 하나의 Gate 시간 단위 동안 Qubit에 아무것도 적용되지 않도록 보장합니다.

Composer 참조Qasm 참조
Identity gateid q[0];

Phase gates

T gate

T Gate는 각도 π/4\pi/4에 대한 RZ와 동일합니다. 내결함성 양자 컴퓨터는 모든 양자 프로그램을 T Gate와 그 역(inverse), 그리고 Clifford Gate만으로 컴파일합니다.

Composer 참조OpenQASM 참조Q-sphereq-sphere 표현에 관한 참고 사항
t_gatet q[0];image29q-sphere 표현은 Gate가 초기 균등 중첩 상태 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, (여기서 nn은 해당 Gate를 지원하는 데 필요한 Qubit 수)에 작용한 후의 상태를 보여줍니다.

S gate

S Gate는 1\left|1\right\rangle 상태에 ii의 위상을 적용합니다. 각도 π/2\pi/2에 대한 RZ와 동일합니다. S=P(π/2\pi/2)임을 참고하세요.

Composer 참조OpenQASM 참조Q-sphereq-sphere 표현에 관한 참고 사항
s_gates q[0];image25q-sphere 표현은 Gate가 초기 균등 중첩 상태 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, (여기서 nn은 해당 Gate를 지원하는 데 필요한 Qubit 수)에 작용한 후의 상태를 보여줍니다.

Z gate

Pauli Z Gate는 0\left|0\right\rangle 상태에 항등 연산으로 작용하고, 1\left|1\right\rangle 상태의 부호를 -1로 곱합니다. 따라서 +\left|+\right\rangle 상태와 \left|-\right\rangle 상태를 서로 뒤집습니다. +/- 기저에서는 0\left|0\right\rangle/1\left|1\right\rangle 기저에서의 NOT Gate와 동일한 역할을 합니다.

Composer 참조OpenQASM 참조Q-sphereq-sphere 표현에 관한 참고 사항
z_gatez q[0];image23q-sphere 표현은 Gate가 초기 균등 중첩 상태 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, (여기서 nn은 해당 Gate를 지원하는 데 필요한 Qubit 수)에 작용한 후의 상태를 보여줍니다.

TT^{\dagger} gate

Tdg 또는 T-dagger Gate라고도 합니다.

T Gate의 역(inverse)입니다.

Composer 참조OpenQASM 참조Q-sphereq-sphere 표현에 관한 참고 사항
T-dagger gatetdg q[0];image31q-sphere 표현은 Gate가 초기 균등 중첩 상태 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, (여기서 nn은 해당 Gate를 지원하는 데 필요한 Qubit 수)에 작용한 후의 상태를 보여줍니다.

SS^{\dagger} gate

Sdg 또는 S-dagger Gate라고도 합니다.

S Gate의 역(inverse)입니다.

Composer 참조OpenQASM 참조Q-sphereq-sphere 표현에 관한 참고 사항
S-dagger gatesdg q[0];image27q-sphere 표현은 Gate가 초기 균등 중첩 상태 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, (여기서 nn은 해당 Gate를 지원하는 데 필요한 Qubit 수)에 작용한 후의 상태를 보여줍니다.

Phase gate

Phase Gate(이전에는 U1 Gate라고 불렸음)는 1\left|1\right\rangle 상태에 eiθe^{i\theta}의 위상을 적용합니다. 특정 θ\theta 값에 대해 다른 Gate와 동일합니다. 예를 들어, P(π\pi)=Z, P(π\pi/22)=S, P(π/4\pi/4)=T입니다. 전역 위상 eiθ/2e^{i\theta/2}를 제외하면 RZ(θ\theta)와 동일합니다.

Composer 참조OpenQASM 참조Q-sphereq-sphere 표현에 관한 참고 사항
p_gatep(theta) q[0];p_qsphq-sphere 표현은 Gate가 초기 균등 중첩 상태 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, (여기서 nn은 해당 Gate를 지원하는 데 필요한 Qubit 수)에 작용한 후의 상태를 보여줍니다.

IBM Quantum Composer에서 theta의 기본값은 π/2\pi/2입니다.

RZ gate

RZ Gate는 exp(iθ2Z)exp(-i\frac{\theta}{2}Z)를 구현합니다. Bloch 구 위에서 이 Gate는 Qubit 상태를 z축을 중심으로 주어진 각도만큼 회전하는 것에 해당합니다.

Composer 참조OpenQASM 참조Q-sphereq-sphere 표현에 관한 참고 사항
rz_gaterz(angle) q[0];image17q-sphere 표현은 Gate가 초기 균등 중첩 상태 12ni=02n1i,\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle, (여기서 nn은 해당 Gate를 지원하는 데 필요한 Qubit 수)에 작용한 후의 상태를 보여줍니다.

IBM Quantum Composer에서 angle의 기본값은 π/2\pi/2입니다. 따라서 q-sphere 시각화에서는 이 각도가 사용됩니다.

Non-unitary operators and modifiers

리셋(Reset) 연산

리셋 연산은 연산이 적용되기 이전의 상태와 관계없이 Qubit을 0\left|0\right\rangle 상태로 되돌립니다. 가역적인 연산이 아닙니다.

Composer 참조OpenQASM 참조
0-operareset q[0];

측정(Measurement)

표준 기저(z 기저 또는 계산 기저라고도 함)에서의 측정입니다. Gate와 결합하면 모든 종류의 측정을 구현하는 데 사용할 수 있습니다. 가역적인 연산이 아닙니다.

Composer 참조OpenQASM 참조
Measurement in the standard or z basismeasure q[0];

제어 수정자(Control modifier)

제어 수정자는 원래 연산이 제어 Qubit의 상태에 따라 조건부로 실행되는 Gate를 생성합니다. 제어가 1|1\rangle 상태에 있을 때, 대상 Qubit은 지정된 유니타리 변환을 겪습니다. 반대로, 제어가 0|0\rangle 상태에 있으면 아무 연산도 수행되지 않습니다. 제어가 중첩 상태에 있으면, 결과적인 연산은 선형성에 따라 결정됩니다.

Gate에 제어 수정자를 드래그하면 해당 Gate에 제어를 추가할 수 있습니다. Gate 위아래의 Qubit 와이어에 점이 나타나며, 이 점들이 제어의 대상이 될 수 있습니다. 점을 하나 이상 클릭하여 하나 이상의 Qubit에 대상을 지정하세요. Gate를 오른쪽 클릭하여 제어를 지정할 수도 있습니다.

제어를 제거하려면, Gate를 오른쪽 클릭하고 제어 제거 옵션을 선택하세요.

Composer 참조OpenQASM 참조
Control modifierc

배리어(Barrier) 연산

양자 프로그램의 효율을 높이기 위해 컴파일러는 Gate들을 결합하려 시도합니다. 배리어는 컴파일러에게 이러한 결합을 방지하도록 지시하는 명령입니다. 또한 시각화에도 유용합니다.

Composer 참조OpenQASM 참조
barrierbarrier q;

Hadamard gate

H Gate

H(아다마르, Hadamard) Gate는 0\left|0\right\rangle1\left|1\right\rangle 상태를 각각 +\left|+\right\rangle\left|-\right\rangle로 회전시킵니다. 중첩 상태를 만드는 데 유용합니다. 고전 컴퓨터에서 유니버설 Gate 집합에 Hadamard Gate를 추가하면 양자 컴퓨터에서도 유니버설 Gate 집합이 됩니다.

Composer 참조OpenQASM 참조Q-sphereq-sphere 표현에 관한 참고 사항
h-gateh q[0];image1q-sphere 표현은 Gate가 초기 균등 중첩 상태 12ni=02n1i\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle에서 작동한 후의 상태를 보여줍니다. 여기서 nn은 Gate를 지원하는 데 필요한 Qubit 수입니다.

Quantum gates

X\sqrt{X} Gate

제곱근 NOT Gate라고도 합니다.

이 Gate는 X의 제곱근인 X\sqrt{X}를 구현합니다. 이 Gate를 연속으로 두 번 적용하면 표준 Pauli-X Gate(NOT Gate)가 됩니다. Hadamard Gate처럼 X\sqrt{X}는 Qubit이 0|0\rangle 상태에 있을 때 균등 중첩 상태를 생성하지만, 상대 위상(relative phase)이 다릅니다. 일부 하드웨어에서는 π/2\pi/2 또는 X90 펄스로 구현할 수 있는 네이티브 Gate입니다.

Composer 참조OpenQASM 참조Q-sphereq-sphere 표현에 관한 참고 사항
sx_gatesx q[0];sx_qsphq-sphere 표현은 Gate가 초기 균등 중첩 상태 12ni=02n1i\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle에서 작동한 후의 상태를 보여줍니다. 여기서 nn은 Gate를 지원하는 데 필요한 Qubit 수입니다.

X\sqrt{X}^{\dagger} Gate

SXdg 또는 제곱근 NOT-대거(dagger) Gate라고도 합니다.

이 Gate는 X\sqrt{X} Gate의 역원입니다. 연속으로 두 번 적용하면 Pauli-X Gate(NOT Gate)가 됩니다. NOT Gate는 자기 자신의 역원이기 때문입니다. X\sqrt{X} Gate와 마찬가지로 이 Gate는 균등 중첩 상태를 만드는 데 사용할 수 있으며, 일부 하드웨어에서는 X90 펄스를 사용하여 네이티브로 구현됩니다.

Composer 참조OpenQASM 참조Q-sphereq-sphere 표현에 관한 참고 사항
sxdg_gatesxdg q[0];sxdg_qsphq-sphere 표현은 Gate가 초기 균등 중첩 상태 12ni=02n1i\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle에서 작동한 후의 상태를 보여줍니다. 여기서 nn은 Gate를 지원하는 데 필요한 Qubit 수입니다.

Y Gate

Pauli Y Gate는 각도 π\pi에 대한 Ry와 동일합니다. 전역 위상 인수(global phase factor)를 제외하면 X와 Z를 함께 적용한 것과 동일합니다.

Composer 참조OpenQASM 참조Q-sphereq-sphere 표현에 관한 참고 사항
y_gatey q[0];image21q-sphere 표현은 Gate가 초기 균등 중첩 상태 12ni=02n1i\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle에서 작동한 후의 상태를 보여줍니다. 여기서 nn은 Gate를 지원하는 데 필요한 Qubit 수입니다.

RX Gate

RX Gate는 exp(iθ2X)exp(-i\frac{\theta}{2}X)를 구현합니다. 블로흐 구(Bloch sphere) 위에서 이 Gate는 Qubit 상태를 x축을 기준으로 주어진 각도만큼 회전시킵니다.

Composer 참조OpenQASM 참조Q-sphereq-sphere 표현에 관한 참고 사항
rx_gaterx(angle) q[0];image13q-sphere 표현은 Gate가 초기 균등 중첩 상태 12ni=02n1i\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle에서 작동한 후의 상태를 보여줍니다. 여기서 nn은 Gate를 지원하는 데 필요한 Qubit 수입니다.

IBM Quantum Composer에서 angle의 기본값은 π/2\pi/2입니다. 따라서 q-sphere 시각화에는 이 각도가 사용됩니다.

RY Gate

RY Gate는 exp(iθ2Y)exp(-i\frac{\theta}{2}Y)를 구현합니다. 블로흐 구 위에서 이 Gate는 Qubit 상태를 y축을 기준으로 주어진 각도만큼 회전시키며, 복소 진폭(complex amplitudes)을 도입하지 않습니다.

Composer 참조OpenQASM 참조Q-sphereq-sphere 표현에 관한 참고 사항
ry_gatery(angle) q[0];image15q-sphere 표현은 Gate가 초기 균등 중첩 상태 12ni=02n1i\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle에서 작동한 후의 상태를 보여줍니다. 여기서 nn은 Gate를 지원하는 데 필요한 Qubit 수입니다.

IBM Quantum Composer에서 angle의 기본값은 π/2\pi/2입니다. 따라서 아래 q-sphere 시각화에는 이 각도가 사용됩니다.

RXX Gate

RXX Gate는 exp(iθ/2XX)\exp(-i \theta/2 X \otimes X)를 구현합니다. 이온 트랩 시스템의 네이티브 Gate인 Mølmer–Sørensen Gate는 RXX Gate의 합으로 표현할 수 있습니다.

Composer 참조OpenQASM 참조Q-sphereq-sphere 표현에 관한 참고 사항
rxx-gaterxx(angle) q[0], q[1];rxx_qsphq-sphere 표현은 Gate가 초기 균등 중첩 상태 12ni=02n1i\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle에서 작동한 후의 상태를 보여줍니다. 여기서 nn은 Gate를 지원하는 데 필요한 Qubit 수입니다.

IBM Quantum Composer에서 angle의 기본값은 π/2\pi/2입니다.

RZZ Gate

RZZ Gate는 라디안 단위의 각도라는 단일 매개변수를 요구합니다. 이 Gate는 대칭적이어서, 작용하는 두 Qubit을 교환해도 아무것도 변하지 않습니다.

Composer 참조OpenQASM 참조Q-sphereq-sphere 표현에 관한 참고 사항
rzz_gaterzz(angle) q[0], q[1];rzz_qsphq-sphere 표현은 Gate가 초기 균등 중첩 상태 12ni=02n1i\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle에서 작동한 후의 상태를 보여줍니다. 여기서 nn은 Gate를 지원하는 데 필요한 Qubit 수입니다.

IBM Quantum Composer에서 angle의 기본값은 π/2\pi/2입니다.

U Gate

(이전에는 U3 Gate라고 불렸습니다) 세 개의 매개변수를 통해 단일 Qubit Gate를 임의로 구성할 수 있습니다. Gate 시간 한 단위의 지속 시간을 갖습니다.

Composer 참조OpenQASM 참조Q-sphereq-sphere 표현에 관한 참고 사항
u_gateu(theta, phi, lam) q[0];u3_qsphq-sphere 표현은 Gate가 초기 균등 중첩 상태 12ni=02n1i\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle에서 작동한 후의 상태를 보여줍니다. 여기서 nn은 Gate를 지원하는 데 필요한 Qubit 수입니다.

IBM Quantum Composer에서 angle의 기본값은 π/2\pi/2입니다.

RCCX Gate

단순화된 Toffoli Gate로, Margolus Gate라고도 합니다.

단순화된 Toffoli Gate는 상대 위상까지만 Toffoli Gate를 구현합니다. 이 구현은 https://arxiv.org/abs/quant-ph/0312225 에서 보인 바와 같이 가능한 최소 개수인 세 개의 CX Gate를 필요로 합니다. 단순화된 Toffoli는 Toffoli와 동일하지 않지만, Toffoli Gate가 이후에 다시 역연산되는 경우에는 사용할 수 있습니다.

Composer 참조OpenQASM 참조Q-sphereq-sphere 표현에 관한 참고 사항
rccx-gaterccx a, b, c;rccx_qsphq-sphere 표현은 Gate가 초기 균등 중첩 상태 12ni=02n1i\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle에서 작동한 후의 상태를 보여줍니다. 여기서 nn은 Gate를 지원하는 데 필요한 Qubit 수입니다.

RC3X Gate

단순화된 3-제어 Toffoli Gate입니다.

단순화된 Toffoli Gate는 상대 위상까지만 Toffoli Gate를 구현합니다. 단순화된 Toffoli는 Toffoli와 동일하지 않지만, Toffoli Gate가 이후에 다시 역연산되는 경우에는 사용할 수 있습니다.

Composer 참조OpenQASM 참조Q-sphereq-sphere 표현에 관한 참고 사항
rc3x-gaterc3x a, b, c, d;rc3x_qsphq-sphere 표현은 Gate가 초기 균등 중첩 상태 12ni=02n1i\frac{1}{\sqrt{2^{n}}}\sum_{i=0}^{2^{n}-1}\vert i\rangle에서 작동한 후의 상태를 보여줍니다. 여기서 nn은 Gate를 지원하는 데 필요한 Qubit 수입니다.