Core Concepts
양자 게이트 행렬 캐싱과 회로 분할 기법을 통해 양자 회로 시뮬레이션의 실행 시간과 메모리 사용량을 크게 개선하였다.
Abstract
이 논문은 양자 회로 시뮬레이션의 계산 복잡성을 해결하기 위해 두 가지 새로운 기법을 제안한다:
양자 게이트 행렬 캐싱:
반복적으로 사용되는 게이트 행렬을 부분 행렬로 분해하여 저장하고 재사용함으로써 계산 overhead를 줄임
단일 큐비트 게이트뿐만 아니라 다중 큐비트 게이트에도 적용 가능
회로 분할:
회로를 더 작은 하위 회로로 분할하여 상태 벡터의 크기와 게이트 행렬의 크기를 줄임
하위 회로들을 순차적으로 실행하여 메모리 사용량을 최소화
이 두 기법을 결합하여 구현한 Qandle은 PyTorch 기반 기계 학습 워크플로우와 원활하게 통합되며, 기존 시뮬레이터들에 비해 실행 속도와 메모리 사용량 면에서 크게 향상된 성능을 보여준다.
Stats
큐비트 수가 증가함에 따라 상태 벡터 크기와 게이트 행렬 크기가 지수적으로 증가하여 시뮬레이션 복잡도가 높아짐
제안한 기법들을 통해 실행 시간과 메모리 사용량을 크게 개선할 수 있음
Quotes
"양자 게이트 행렬 캐싱은 상태 벡터에 게이트 행렬을 적용할 때 발생하는 Kronecker 곱 연산 overhead를 줄여준다."
"회로 분할은 회로를 더 작은 하위 회로로 나누어 상태 벡터와 게이트 행렬의 크기를 감소시킨다."