양자컴퓨팅 프로그램이 실제 하드웨어에서 실행되는 과정

양자 프로그램을 고전 컴퓨터에서 논리회로로 작성한 뒤 Transpilation과 ISA 회로 변환, Job 제출, QPU 제어와 측정을 거쳐 고전 결과를 반환받는 전체 과정을 설명한 이미지

양자컴퓨팅에서 내가 만든 양자회로는 실제로 어떻게 실행될까요? 양자 프로그램은 논리 회로를 실제 장치의 큐비트 연결과 지원 연산에 맞게 바꾼 뒤 제어 시스템을 거쳐 실행되는데요. 복잡하지만 아래 글을 통해 쉽게 정리할 수 있을겁니다. 함께보시죠. 양자 프로그램을 실행하면 실제로 어떤 일이 일어날까? 양자컴퓨팅을 처음 공부하면 Python으로 양자회로를 작성한 뒤 실행 버튼을 누르면 코드가 그대로 양자컴퓨터 내부로 전달되는 … Read more

양자컴퓨팅 회로 최적화는 왜 필요할까? 게이트 수와 오류를 줄이는 원리

논리 양자회로를 실제 QPU의 큐비트 연결성과 Native Gate에 맞게 Transpile하고 불필요한 게이트와 SWAP, Circuit Depth를 줄이는 회로 최적화 과정을 설명한 이미지

양자컴퓨팅에서 양자회로는 보통 컴퓨터의 입력 처럼 작성한 모습 그대로 실제 장치에서 실행되지 않는 경우가 많습니다. 양자 하드웨어마다 직접 지원 게이트가 다르고, 큐비트의 연결구조도 제한이 있기 때문인데요. 왜 이 얘기를 하는지 아래에서 확인하시죠. 양자회로는 왜 작성한 그대로 실행하지 않을까? 양자컴퓨터 프로그램을 처음 배우면 X, H, CNOT 같은 게이트를 연결해 원하는 회로를 만든 뒤 그대로 양자컴퓨터에 보내면 … Read more

양자컴퓨팅에서 회로 실행 횟수가 중요한 이유, Shots는 많을수록 좋을까?

하나의 양자회로를 여러 번 실행하는 Shot 수에 따라 측정 히스토그램과 확률 추정의 통계적 오차가 달라지고 실행 횟수가 증가할수록 표본오차가 감소하는 원리를 설명한 이미지

양자컴퓨팅은 우리가 흔히 사용하는 컴퓨터와 달리 한 번 실행한다고해서 정확한 확률을 알 수 없습니다. 즉, 실제 확률이나 기대값을 알아내려면 같은 회로를 여러 번 실행해야 하는데요. 이를 shot이라고 합니다. 아래에서 Shot에 대해 알아봅니다. 입문자를 위한 핵심 용어정리 용어 의미 Shot 양자회로를 한 번 실행하고 측정하는 반복 단위 Sampling 반복 측정으로 결과의 통계적 분포를 추정하는 과정 Counts … Read more

양자컴퓨팅의 제어 연산은 어떻게 이루어질까? CNOT부터 Controlled-U까지

Control Qubit이 중첩 상태인 채 Controlled-U를 적용해 목표 큐비트에 조건부 연산을 수행하고 CNOT으로 Bell 얽힘 상태를 만드는 양자 제어 연산 설명 이미지

양자컴퓨팅에서 양자 제어 연산은 제어 큐비트가 중첩 상태인 채로 다른 큐비트의 연산과 연결되면서, 이 과정에서 얽힘과 조건부 위상 같은 양자적인 효과가 만들어지는 연산입니다. 이번 글에서는 제어 연산의 과정에 대해 정리해봤습니다. 함께보시죠. 양자컴퓨팅에서 제어 연산이란 무엇일까 양자회로를 공부하다 보면 CNOT, Controlled-Z, Controlled-U처럼 ‘Controlled’가 붙은 게이트를 자주 만나게 됩니다. 이름만 보면 고전 프로그램의 if문처럼 어떤 조건을 확인한 … Read more

양자컴퓨팅에서 다중 큐비트 게이트가 필요한 이유

단일 큐비트 연산과 CNOT·CZ·SWAP 같은 다중 큐비트 게이트를 비교하고 H와 CNOT으로 Bell 얽힘 상태를 만드는 과정을 설명한 이미지

양자컴퓨팅에서 큐비트를 각각 따로 조작하는 것만으로는 여러 큐비트 사이의 복잡한 관계를 만들 수 없습니다. 즉, 다중 큐비트 게이트가 있어야 조건부 연산과 얽힘을 이용한 본격적인 양자회로를 구성할 수 있는데요. 아래 글을 함께보시죠. 다중 큐비트 게이트는 왜 필요할까 양자컴퓨터의 큐비트 수가 늘어나면 단순히 여러 개의 단일 큐비트를 따로 계산하는 것에서 끝나지 않습니다. 서로 다른 큐비트의 상태를 하나의 … Read more

양자컴퓨팅에서 큐비트와 고전 비트는 어떻게 함께 사용할까?

큐비트에서 수행된 양자계산을 측정해 고전 비트로 저장하고 CPU가 결과를 분석한 뒤 다시 QPU의 양자회로를 제어하는 하이브리드 양자컴퓨팅 구조

양자컴퓨팅의 기본은 큐비트 이지만, 모든 계산을 큐비트만으로 처리하지는 않습니다. CPU와 함께 유기적으로 움직이는데요. 큐비트가 양자상태를 계산하면 측정결과는 고전 비트가 되고, CPU가 이를 분석해 다음 양자연산을 결정하는 원리입니다. 아래글을 보시죠. 양자컴퓨팅에도 고전 비트가 필요한 이유 양자컴퓨터를 처음 접하면 기존 컴퓨터의 비트를 모두 큐비트로 바꾸어 계산하는 장치를 떠올리기 쉽습니다. 하지만 실제 양자컴퓨팅 시스템은 그렇게 동작하지 않습니다. 큐비트는 … Read more

양자컴퓨팅에서 큐비트를 복제할 수 없는 이유, 비복제 정리 쉽게 이해하기

CNOT이 |0⟩과 |1⟩은 복사하는 것처럼 동작하지만 |+⟩ 중첩 상태에서는 Bell 얽힘 상태를 만들어 임의 큐비트를 완벽히 복제할 수 없는 비복제 정리를 설명한 이미지

양자컴퓨팅에서 고전적인 0과 1은 얼마든지 복사할 수 있지만 알려지지 않은 임의의 큐비트 상태는 원본을 유지한 채 완벽하게 복제할 수 없습니다. 그 이유는 양자연산의 선형성과 상태의 중첩 구조에 있는데요. 이번 글에서는 비복제 정리에 대해 알아보시죠. 큐비트는 왜 고전 비트처럼 복사할 수 없을까 컴퓨터를 사용하면서 데이터를 복사하는 것은 너무나 자연스러운 일입니다. 파일을 복사하고, 메모리의 값을 다른 위치에 … Read more

양자컴퓨팅에서 단일 큐비트 게이트는 어떻게 작동할까?

X·H·Z와 Rx·Ry·Rz 단일 큐비트 게이트가 상태벡터의 확률진폭과 상대위상을 변화시키고 블로흐 구에서 상태를 회전시키는 원리를 설명한 이미지

양자컴퓨팅에서 단일 큐비트 게이트는 큐비트를 단순히 0을 1로 바꾸는 스위치가 아닙니다. 확률진폭과 상대위상을 조절해 큐비트의 상태를 바꾸는 게이트인데요. 이번 글에서는 블로흐 구와 연결시켜 단일 큐비트 게이트가 어떻게 작동하는지 정리해봤습니다. 단일 큐비트 게이트는 무엇을 하는 연산일까 양자컴퓨팅을 처음 공부하면 X 게이트, Hadamard 게이트, Z 게이트처럼 여러 종류의 양자 게이트를 만나게 됩니다. 모양은 서로 다르지만 단일 큐비트 … Read more

양자컴퓨팅 큐비트 배열 구조는 성능에 어떤 영향을 줄까?

선형·격자·육각형 큐비트 배열을 비교하고 물리적 연결성에 따라 Routing과 SWAP, 회로 깊이와 오류가 달라지는 원리를 설명한 양자컴퓨팅 이미지

양자컴퓨팅에서 큐비트의 증가는 표현가능한 부분의 확장성에 영향을 줬는데요. 이 배열구조는 연결 방식에 따라 실제 회로 성능에 영향을 미칩니다. 이번 글에서는 큐비트의 배열 구조와 구조별 특징에 대해 함께 알아보도록 하시죠. 큐비트 배열 구조가 왜 양자컴퓨터 성능에 중요할까 양자컴퓨터의 성능을 이야기할 때 가장 먼저 눈에 들어오는 숫자는 큐비트 수입니다. 하지만 실제 양자회로를 실행할 때는 큐비트가 몇 개인지만큼이나 … Read more

양자컴퓨팅의 큐비트 확장성이 중요한 이유, 많기만 하면 될까?

큐비트 수 증가에 따라 상태공간이 2ⁿ으로 확장되고, 실제 양자컴퓨터의 확장을 위해 큐비트 품질·속도·연결성·오류정정과 논리 큐비트가 함께 필요한 이유를 설명한 이미지

양자컴퓨팅에서 큐비트가 뭐길래 계속 확장성에 대한 얘기가 나오는 걸까요? 큐비트가 증가하면 표현할 수 있는 상태공간이 빠르게 커지게 되는데요. 사실 이것만 늘려서는 좋은 양자컴퓨터가 된다고 할 수 없습니다. 이번 글에서는 큐비트의 확장성에 대해 다룹니다. 양자컴퓨팅에서 큐비트 확장성이 중요한 이유 양자컴퓨터의 발전을 이야기할 때 가장 먼저 등장하는 숫자 가운데 하나가 큐비트 수입니다. 몇 개의 큐비트를 사용하는지에 따라 … Read more