지난 노트에서는 큐비트가 무엇이고, 이들이 사는 수학적 무대인 힐베르트 공간에 대해 알아보았다. 이번 노트에서는 고전 컴퓨터의 논리를 기초로 싱글 큐비트 연산 방법에 대해 상세히 다루어 보겠다.

1.고전 상태와 확률 벡터 (Classical States and Probability Vectors)
고전 컴퓨터의 세계, 즉 우리가 일상적으로 쓰는 디지털 논리에서 시스템의 상태는 언제나 명확하다. 비트는 0 아니면 1이다. 중간은 없다. 예를 들어 선풍기 스위치를 생각해보자. 스위치는 ‘강’, ‘중’, ‘약’, ‘꺼짐’ 중 딱 하나의 상태에만 머물러 있다. 스위치가 ‘강’이면서 동시에 ‘꺼짐’일 수는 없다. 하지만 우리가 시스템의 상태를 완벽히 모를 때는 어떻게 할까? 이때 ‘확률’이 등장한다. 비트 시스템 자체는 확정되어 있지만, 관찰자인 내가 모를 때 우리는 이를 확률 벡터로 표현한다. 비트가 0일 확률이 70%, 1일 확률이 30%라면 이를 벡터
으로 쓴다. 중요한 점은 벡터의 모든 성분은 0 이상의 실수여야 하고, 다 더하면 무조건 1이 되어야 한다.120% 확률 같은 건 수학적으로 없으니까.
2.확률 상태의 측정 (Measuring probabilistic states)
시스템의 상태를 확률적으로만 알고 있을 때, 이를 측정한다는 것은 무엇을 의미할까? 고전적인 관점에서 측정은 시스템을 변화시키는 것이 아니라, 우리의 ‘무지(ignorance)’를 깨고 지식을 업데이트하는 과정이다
시스템이 확률 벡터
로 표현되는 상태에 있다고 하자. 측정 결과가
라면, 우리의 지식은 불확실한 상태
에서 확실한 상태
로 즉시 업데이트된다.
예시:
동전을 던져서 아직 확인하지 않은 상태를 생각해보자. 앞면과 뒷면이 나올 확률이 반반이라면, 확률 벡터는 다음과 같다.
![]()
여기서
은 앞면,
은 뒷면을 의미한다.
이제 손을 치워 동전을 확인했더니 뒷면이 나왔다. 이 순간, 우리의 확률적 지식은 100% 확신으로 바뀐다.
![]()
이것이 고전적 측정의 본질이다. 동전은 원래 뒷면이었지만, 내가 몰랐던 확률(0.5*100%=50%)이 측정 행위를 통해 값(
)으로 확정된 것이다.
양자 역학에서도 측정은 이와 유사한 수학적 구조를 가진다. 하지만 결정적인 차이가 있다. 고전컴퓨팅에서는 측정 전에도 동전은 이미 뒷면이었다, 단지 내가 몰랐을 뿐이고 양자컴퓨팅의 측정 전 상태는 중첩 상태이며, 측정 행위 자체가 상태를 결정한다. 즉,
상태를 측정해
을 얻으면, 시스템은 물리적으로
상태로 변환된다.
3.양자 상태 벡터 (Quantum State Vectors)
고전 정보에서 확률 상태를 확률 벡터로 나타냈던 것처럼, 양자 정보에서는 양자 상태를 열벡터로 표현한다. 하지만 여기에는 아주 결정적인 차이가 있다.

3.1 양자 상태 벡터의 조건
어떤 열벡터
가 유효한 양자 상태가 되려면 반드시 다음 두 가지 조건을 만족해야 한다.
- 성분은 복소수다.
벡터의 각 항목 실수뿐만 아니라 허수를 포함한 복소수
가 될 수 있다. - 성분의 절대값 제곱의 합이 1이어야 한다.
고전 확률에서는 단순히 확률의 합이 1이었지만, 양자 상태에서는 각 성분의 절대값 제곱의 합이 1이어야 한다.
수식으로 쓰면, 벡터
가
개의 상태를 가진다면,

일 때,

을 만족해야 한다.
3.2 유클리드 노름(Euclidean Norm)과의 관계
위의 2번째 조건은 벡터의 유클리드 노름(Euclidean norm) 이 1이라는 말과 같다. 유클리드 노름
는 다음과 같이 정의된다.

따라서, 양자 상태 벡터는 유클리드 노름이 1인 단위 벡터(Unit vector)이다 라고 정의할 수 있다.
3.3. 큐비트와 상태 예시
큐비트는 고전적인 비트(0 또는 1)에 대응되는 양자 시스템이다. 즉, 고전 상태 집합이
인 시스템을 말한다.
가장 기본적인 상태는
과
이다.
![]()
이 벡터들이 유효한지 확인해보자면
:
(만족)
:
(만족)
단순히 0이나 1이 아닌, 복소수 계수를 가진 상태도 가능하다.
예시 1: 실수 계수를 가진 중첩

이 벡터가 유효한지 검증하려면 각 성분의 절대값 제곱을 더해본다.
![]()
합이 1이므로 유효한 양자 상태다. 이 상태는 양자 컴퓨팅에서 자주 등장하며 플러스 상태(
) 라고 부른다.
![]()
마찬가지로 가운데 부호만 바꾼 마이너스 상태(
)도 있다.
![]()
예시 2: 복소수 계수를 가진 중첩
조금 더 복잡한 예시를 보자.

이게 진짜 양자 상태인지 확인하려면 직접 계산해봐야 한다.
- 첫 번째 성분
의 절대값 제곱:
![]()
- 두 번째 성분
의 절대값 제곱:
![]()
- 두 값의 합:
![]()
정확히 1이 나오므로, 이것 역시 유효한 큐비트 상태다.
4. 디랙 표기법과 내적 (Dirac Notation and Inner Product)
지난편에서 소개했듯이 양자역학에서는 벡터를 다룰 때 브라-켓(Bra-Ket)표기법을 쓴다.

켓(Ket)과 브라(Bra)
- 켓(Ket,
): 열벡터를 의미한다.
![]()
- 브라(Bra,
): 켓 벡터의 켤레 전치인 행벡터를 의미한다. 전치를 취하고, 각 성분에 켤레 복소수를 취해야 한다.
![]()
예시: 위에서 본 복소수 벡터
를 브라로 바꿔보자.

- 전치(Transpose)를 해서 열벡터를 행벡터로 바꾼다.
![]()
- 각 성분의 켤레(Conjugate)를 취한다.
-
(
를
로 바꿈)
(실수는 그대로)
- 결과:
![]()
또한, 표준 기저
와의 내적 표현(Inner Product)도 아래처럼 계산할 수 있다.
![]()
즉,
는
의 첫 번째 성분(0번 상태의 계수)을 뽑아내는 연산이 된다.

5. 유니타리 연산 (Unitary Operations)
앞서 우리는 양자 상태가 벡터이고, 연산이 행렬이라는 것을 소개했다. 하지만 “행렬을 곱한다”는 건 수학적인 행위일 뿐이다. 실제 양자 컴퓨터 안에서 이 연산들이 무슨 짓을 하고 있는지, 왜 이 특정 행렬들이 ‘주요 연산’으로 꼽히는지 이해해야 한다.

5.1 유니타리 행렬의 정의
양자 시스템의 상태를 변화시키는 연산은 유니타리 행렬(Unitary Matrix)로 표현된다.
어떤 행렬
가 유니타리(Unitary)하다는 것은 다음을 만족한다는 뜻이다.
![]()
여기서
는
의 켤레 전치 행렬이고,
는 항등 행렬(Identity Matrix)이다. 이 조건은 벡터의 길이를 변화시키지 않는다는 기하학적 의미를 가진다. 이것이 내포하는 의미는 크게 두 가지다.
- 확률의 보존
양자 상태 벡터의 길이는 항상 1이어야 한다. 유니타리 연산은 벡터를 회전시키기만 할 뿐, 그 길이를 늘리거나 줄이지 않는다. 만약 연산자가 유니타리가 아니라면, 연산 후에 확률의 총합이 1이 안 되거나 1을 넘어가 버리는, 물리적으로 불가능한 상황이 발생한다.
- 가역성 (Reversibility)
유니타리 행렬은 항상 역행렬이 존재하며, 그 역행렬은
다.
![]()
유니타리 연산은 힐베르트 공간 거대한 구체 위에서 상태 벡터을 이리저리 돌리는 회전(Spin)과 같다. 양자 컴퓨터에서 수행하는 모든 게이트 연산은거꾸로 되돌릴 수 있다. 예를 들어 고전 컴퓨터 비트에 AND 게이트 연산을 한다 하자. 만약 입력이 (0,0), (0,1), (1,0)일 때 AND 연산을 하면 모두 0을 출력하므로, 결과만 보고 입력을 알 수 없다(정보 손실). 하지만 양자 유니타리 연산은 가역성 때문에정보를 절대 잃어버리지 않는다.
5.2 싱글 큐비트 파울리, 하마다드, 위상 연산자 (Pauli & Hadamard & Phase Operation)
큐비트를 조작한다는 것은 곧 유니타리 연산을 수행한다는 뜻이다. 이제 유니타리 연산 성질을 만족하면서 양자 알고리즘의 기초가 되는 세 가지 핵심 연산 방법을 (Pauli, Hadamard, Phase Operation)을 상세히 살펴보자.
5.2.1파울리 연산자 (Pauli Operations)
파울리 행렬
는 큐비트를 다루는 가장 기초적인 연산 방식이다.
- Pauli-X (
): 비트 뒤집기 (Bit Flip)
이 연산은 상태 벡터의 첫 번째 성분(
의 계수)과 두 번째 성분(
의 계수)을 서로 맞바꾸는 방식으로 작동한다.
![]()
만약 상태가
라면, 행렬 곱을 통해 다음과 같이 변한다.
![]()
와
의 자리가 바뀌었으므로,
이었던 확률은
로,
이었던 확률은
로 이동한다. 고전컴퓨터의 NOT 게이트와 완벽히 동일한 역할을 수행한다.
왜 쓰는가?
큐비트는 기본적으로 에너지가 낮은
상태로 초기화되는데, 연산을 위해
상태가 필요할 때 비트 뒤집기쓴다. 그리고 데이터가 노이즈로 인해 뒤집어졌을 때, 다시 X를 적용해서 원래대로 되돌리는(복구) 용도로도 쓴다.
- Pauli-Z (
): 위상 뒤집기 (Phase Flip)
이 연산은
성분은 건드리지 않고,
성분의 부호만 반대(
)로 바꾸는 방식으로 작동한다.
![]()
상태 벡터에 적용하면 다음과 같다.
![]()
확률값인
와
는 변하지 않는다. 즉, 측정했을 때 0이나 1이 나올 확률은 그대로다. 하지만
앞에 붙은 위상(Phase)이 180도 뒤집혔다.
왜 쓰는가?
양자 간섭 제어를 하는데 쓸수 있다. 확률은 그대로지만, 이 상태를 다른 상태와 더하거나 뺄 때 결과가 완전히 달라진다. 예를 들어
상태(
)에 Z를 걸면
상태(
)가 된다. 양자 알고리즘에서 정답이 되는 상태의 위상만 뒤집어서, 나중에 간섭을 통해 정답 확률을 증폭시킬 때 핵심적으로 쓰인다.
- Pauli-Y (
): 복합 회전
이 연산은 성분을 서로 맞바꾸면서 동시에 허수 단위
를 곱하여 위상을 90도 비틀어버리는 방식으로 작동한다.
![]()
![]()
Pauli-X처럼 0과 1을 뒤집는 효과와 Z처럼 위상을 조작하는 효과가 섞여 있다. 블로흐 구면에서 Y축을 기준으로 180도 회전시키는 것과 같다.
5.2.2. 하다마드 연산자(Hadamard Operation)
양자 컴퓨터에서 가장 중요한 연산 중 하나로, 기저 상태를 중첩 상태로 만든다. 양자 컴퓨터가 고전 컴퓨터와 다르게 작동하게 만드는 ‘마법의 키’가 바로 하다마드 게이트다.이 연산은 각 기저 상태(
)를 두 기저가 균등하게 섞인 중첩 상태(합 또는 차)로 퍼뜨리는 방식으로 작동한다.
![]()
가 유니타리인지(
) 직접 계산해보자.
는 실수 행렬이고 대칭이므로
다.

상수
를 앞으로 뺀다.
![]()
행렬 곱셈을 수행한다:
- 1행 1열:

- 1행 2열:

- 2행 1열:

- 2행 2열:

![]()
정확히 항등 행렬이 나오므로, 하다마드 행렬은 유니타리다.
상태 변환 계산:
계산:
![]()
계산:
![]()
계산:
플러스 상태에 다시 H를 걸면 어떻게 될까?
![]()
위에서 구한 결과를 대입한다.
![]()
이걸 다시 기저 벡터로 풀면,
![]()
![]()
즉,
를 두 번 연달아 적용하면 원래 상태로 돌아온다 (
).
위에서 보듯이 확정적이었던
상태가
과
이 반반 섞인
상태로 변했다. 반대로
은
상태로 변했다. 여기서 중요한 건
에서 유래한 정보는 ‘마이너스 부호’라는 위상 정보로 숨겨진다는 점이다.
왜 쓰는가?
알고리즘의 시작 단계에서 모든 큐비트에 H를 걸면,
부터
까지 가능한 모든 입력값이 동시에 존재하는 거대한 중첩 상태가 만들어진다. 이 상태에서 한 번의 연산을 수행하면, 모든 입력값에 대해 동시에 계산한 것과 같은 효과를 낸다. 그리고
축 기준의 정보(0인지 1인지)를
축 기준의 정보(플러스인지 마이너스인지)로 변환한다. 이를 통해 측정하는 관점을 바꿀 수 있다.
5.2.3.위상 연산자 (Phase Operations)
파울리 Z와 하다마드만으로는 180도 뒤집거나 90도 꺾는 투박한 조작만 가능하다. 더 섬세한 양자 계산을 위해서는 임의의 각도로 돌릴 수 있어야 한다.이때 위상연산이 필요하다.위상연산은
성분은 그대로 두고,
성분에만 복소수 지수함수
를 곱하여 상대적인 위상차를 만드는 방식으로 작동한다.
![]()
- S 게이트
(90도)를 대입하여,
의 계수에 허수
를 곱한다.
![]()
게이트는 180도(
)를 돌리는 것이므로,
는 그 절반인 90도만 돌린다. 그래서
를 두 번 적용하면(
)
게이트가 된다. 복소평면에서 실수를 허수축으로 보내는 역할을 한다.
- T 게이트
(45도)를 대입하여,
의 계수에
를 곱한다.
![]()
게이트의 절반인 45도만 회전시킨다.
를 두 번 적용하면
가 되고, 네 번 적용하면
가 된다.
왜 쓰는가?
하다마드 게이트만으로는 만들 수 없는 각도의 회전들이 존재한다. 하지만 여기에 T 게이트를 추가하면, 양자 컴퓨터는 이론적으로 가능한 모든 유니타리 연산을 만들어낼 수 있게 된다. 즉, T 게이트는 양자 컴퓨터가 모든 종류의 계산을 다 할 수 있게 만들어주는 필수적인 부품이다. 마치 레고 블록에서 직각 블록만 있다가, 45도 블록이 추가됨으로써 모든 모양을 만들 수 있게 되는 것과 같다.
6. 마무리
지금까지 양자 상태 벡터의 정의부터, 큐비트를 조작하는 핵심 도구인 유니타리 연산까지 상세하게 소개해 봤다. 그리고 파울리 게이트로 비트를 뒤집고, 하다마드 게이트로 중첩을 만들고, 위상 게이트로 미세하게 각도를 조절하는 연산자도 소개해 봤다. 이 모든 게 단 하나의 큐비트 위에서 벌어지는 현상을 계산하는 방식이다. 하지만 큐비트 하나만으로는 슈퍼컴퓨터를 이길 수 없다. 양자 컴퓨터가 진짜 무서운 이유는 큐비트가 늘어날 때마다 정보의 공간이 기하급수적으로 커지기 때문이다. 하나의 큐비트는 단순히 원 위의 점일 뿐이지만, 둘이 만나면 차원이 폭발하고 얽힘이라는 기묘한 현상이 시작된다. 이걸 수학적으로 기술하는 도구가 바로 텐서곱(Tensor Product)다. 다음 편에는 큐비트 하나라는 좁은 세상에서 벗어나, 여러 개의 큐비트를 연결하는 방법을 소개해보려고 한다.
참고자료
- Dr. David Zaret (2022), Johns Hopkins University: Quantum Computation Lecture Notes (Quantum Mechanics Formalism Lecture)
- Classical information | IBM Quantum Learning. (n.d.). IBM Quantum Learning. https://quantum.cloud.ibm.com/learning/en/courses/basics-of-quantum-information/single-systems/classical-information
- Quantum Information | IBM Quantum Learning. (n.d.). IBM Quantum Learning. https://quantum.cloud.ibm.com/learning/en/courses/basics-of-quantum-information/single-systems/quantum-information
- Educative, (n.d.). Hands-On Quantum Machine Learning with Python. Educative. https://www.educative.io/courses/hands-on-quantum-machine-learning-python/quantum-computing
- Quantum Sense. (2023, January 27). Ch 11: What are unitary operators? | Maths of Quantum Mechanics [Video]. YouTube. https://www.youtube.com/watch?v=dD-oYfhSKhg
- Quera, What is Pauli-X Gate? (n.d.). https://www.quera.com/glossary/pauli-x-gate
- PennyLane, What is a Hadamard gate? | PennyLane. (n.d.). https://pennylane.ai/qml/glossary/what-is-a-hadamard-gate
- Wikipedia contributors. (2025, December 3). Quantum logic gate. Wikipedia. https://en.wikipedia.org/wiki/Quantum_logic_gate

좀 天书지만 ㅎㅎ 우리나무다운 글임다.
에. 저두 쓰면서 “이게 뭐더라?” 하구 한참 리뷰하다가 다시 수정하고 또 다시 리뷰, 수정 하면서 썻슴다. 누군가한테 도움이 되겠지 하고 자료 정리하면서 올리는 중 임다.
아이 수학 숙제를 봐주다가 “몇 번을 얘기했는데 아직도몰라”라는 내면의 목소리가 절로 겸손해지는 글이군요. 몇 번을 읽어도 모르겠다는…
저두 처음에는 이해 안되다가 계속 문제를 푸니까 익숙해집데다. 패턴인식 하는데 시간과 연습이 많이 필요한 것 같슴다.
하하. 저도 첫번째 글때 좀 읽어보다가…. 빠른 포기. 하지만 댓글에서 언급한것처럼 누군가에게는 나중에라도 꼭 도움이 될검다. 우리나무에 이런 글들도 있어서 참 좋은거 같슴다.
:)ㅎㅎㅎㅎ저두 쓰면서 중간중간 어떻게 풀었던지 기억 안나서 포기하려다가 억지로 쓰고 있슴다. 한글로 된 자료들이 별로 없어서 누군가 구글하면 그래도 우리나무 뜨지 아늘까 해서 계속 글을 올리고 있슴다.