Quirk: 브라우저 기반 양자 회로 시뮬레이터로 기초를 배우다
Quirk는 양자 회로를 실시간으로 시뮬레이션하는 웹 도구입니다. Google의 Craig Gidney가 양자 연산을 빠르게 프로토타이핑하고 시각화하기 위해 개발했습니다. 이 시뮬레이터는 수동 트리거 없이 0.1초마다 회로 상태를 업데이트하여 순수 JavaScript 대비 실험 속도를 100배 가속화합니다.
중급 및 시니어 개발자가 양자 컴퓨팅을 배우기에 적합합니다: 가설 검증, 최대 16큐비트의 소규모 회로 디버깅, 소프트웨어 설치 없이 알고리즘 시연.
인터페이스와 네비게이션
주 메뉴에는 문서, 동영상, 소스 코드, 예제 회로가 포함됩니다. 작업 공간은 패널로 나뉩니다:
- 상단: 기본 게이트, 프로브, 디스플레이.
- 하단: 고급 게이트, 산술 연산.
- 중앙 필드: 드래그 앤 드롭 게이트.
큐비트 왼쪽에는 상태 표시기(|0⟩, |1⟩, |+⟩, |-⟩, |i⟩, |-i⟩)가 있습니다. 게이트를 외부로 드래그하여 삭제합니다. URL은 회로를 저장하기 위해 인코딩됩니다.
색상 코딩:
- 흰색: 정적 게이트.
- 노란색: 애니메이션(실시간 회전).
- 회색: 다중 큐비트.
- 녹색/파랑: 디스플레이(Amps는 복소 진폭 표시).
요소 위에 마우스를 올리면 행렬과 회전 축이 표시됩니다.
게이트 및 요소 그룹
프로브와 디스플레이
프로브는 상태를 변경하지 않고 정보를 추출하여 디버깅에 유용합니다. 디스플레이는 회로의 어느 지점에서든 진폭과 확률을 보여줍니다.
회전 및 기본 연산
- 반 회전: 180°에서 X/Y/Z, H(중첩), Swap.
- 1/4 회전: √X/√Y/√Z(90°), S(√Z).
- 1/8 회전: T(45°), 분수 근.
스피닝: 연속 회전, 드래그로 각도 설정.
공식적: t, x, y가 있는 공식(예: sin(t)).
매개변수화: 입력에 의존하는 각도를 위한 변수 A.
고급 그룹
- 샘플링: 분기 없이 확률적 측정, 클릭 시 재계산.
- 패리티: 큐비트 그룹의 패리티 제어.
- X/Y 프로브: X/Y 기저에서 측정.
- 순서: 산술을 위한 큐비트 순서 반전.
- 주파수: QFT, 위상 조정을 위한 기울기.
기타에는 양자 레지스터의 산술(덧셈, 곱셈)이 포함됩니다.
내장 회로 예제
Quirk에는 주요 알고리즘에 대한 시연 회로가 포함됩니다:
- Grover 검색: O(√N)에서 검색, 반복으로 확률 증가.
- Shor 주기 찾기: 주기 B^r ≡ 1 mod R, QFT 후 피크.
- Bell 부등식 테스트: 얽힘을 통한 국소적 사실주의 위반.
- 양자 텔레포테이션: 얽힘을 통한 상태 전송.
- 초고밀 코딩: 1큐비트 + 쌍으로 2클래식 비트.
- 지연 선택 지우개: 사후 경로 지우기, 선택에 의한 간섭.
| 회로 | 주요 효과 | 큐비트 |
|---------|------------|--------|
| Grover | 확률 증가 | 3-5 |
| Shor | 1/r에서 피크 | 8+ |
| Bell | 고전적 상관관계 초과 | 4 |
| Teleport | 복사 없이 전송 | 3 |
| Superdense | 100% 디코딩 | 2 |
| Eraser | 사후 간섭 | 4 |
제한 사항과 응용
최대 16큐비트—프로토타입용, 프로덕션용 아님. UI를 통한 사용자 정의 게이트, 검출기 통계, 모바일 최적화 없음. 숨겨진 게이트는 URL을 통해 접근 가능.
개발자에게 장점:
- 등록 없음, 즉각 응답.
- 실시간 상태 시각화.
- 오픈 소스(Apache 2.0).
직관적 이해에 이상적: 중첩, 얽힘, 코드 없이 QFT.
핵심 포인트
- 실시간 시뮬레이션(0.1초/프레임)으로 반복 가속.
- 디스플레이는 출력뿐만 아니라 회로 내부 상태 표시.
- 동적 게이트를 위한 공식/매개변수 지원.
- 주요 알고리즘(Grover, Shor) 내장 예제.
- 16큐비트 제한—확장보다 학습에 집중.
— Editorial Team
아직 댓글이 없습니다.