양자컴퓨팅 공부에 필요한 수학 개념 총정리, 선형대수부터 확률까지

양자컴퓨팅에 적용되는 수학의 범위는 생각보다 넓지만 처음부터 전부 공부할 필요는 없습니다. 벡터·행렬·복소수·확률을 회로 실습과 함께 익히고, 미적분과 푸리에·최적화는 목표에 맞춰 더하면 됩니다. 기초부터 함께 알아보시죠.

복소수의 위상과 벡터·행렬, 텐서곱과 확률을 작은 양자회로와 연결하며 양자컴퓨팅 수학을 단계적으로 학습하는 모습
양자컴퓨팅 수학은 선형대수와 복소수·확률을 회로실습에 바로 적용하고, 미적분과 푸리에·최적화는 학습목표에 맞춰 더하는 방식이 효율적입니다.

양자컴퓨팅 수학 공부의 핵심부터 정리하면

양자컴퓨팅을 공부하다 보면 익숙하지 않은 수학기호가 계속 등장합니다. 큐비트는 복소수 벡터로 표현되고, 양자게이트는 행렬로 계산되며, 여러 큐비트를 결합할 때는 텐서곱을 사용합니다. 측정결과를 해석하려면 확률과 통계도 알아야 합니다.

이 때문에 선형대수와 미적분, 확률론과 양자역학을 모두 끝낸 뒤에야 양자컴퓨팅을 시작할 수 있다고 생각하기 쉽습니다. 하지만 입문 단계에서 필요한 수학과 양자 알고리즘·하드웨어 연구에 필요한 수학은 범위가 다릅니다.

IBM의 기초 양자정보 과정은 권장 배경지식으로 기본적인 선형대수와 복소수, 집합과 함수 개념을 제시합니다. MIT의 양자계산 입문과정도 선형대수를 선수지식으로 두고 있으며 양자역학 선행지식은 도움이 되지만 필수는 아니라고 안내합니다.[1][2]

따라서 처음에는 벡터와 행렬, 복소수와 확률을 중심으로 공부하고 실제 양자회로에 바로 적용하는 편이 좋습니다. 고유값과 미적분, 푸리에 변환과 최적화는 해당 개념이 필요한 알고리즘으로 넘어갈 때 추가할 수 있습니다.

수학 영역입문 중요도주요 활용권장 학습 시점
복소수매우 높음확률진폭·위상·간섭가장 먼저
벡터와 행렬매우 높음큐비트 상태와 양자게이트가장 먼저
내적·노름·기저매우 높음정규화·측정·기저변환초기 단계
텐서곱매우 높음여러 큐비트의 결합상태2큐비트 학습 전
확률과 통계매우 높음측정분포·샷·오류분석초기 단계
고유값·고유벡터높음측정·해밀토니안·위상추정기초 회로 이후
삼각함수와 좌표높음회전게이트·블로흐 구단일 큐비트 학습 중
집합·함수·논리중간알고리즘과 수학표기 해석필요할 때 병행
미적분·미분방정식목표에 따라 다름시간발전·제어·최적화심화 단계
푸리에 해석목표에 따라 다름QFT·위상추정·쇼어 알고리즘알고리즘 심화
최적화목표에 따라 다름VQE·QAOA·양자 머신러닝변분 알고리즘 전
정보이론·정수론·그래프분야별로 다름오류정정·쇼어·조합최적화목표별 선택

수학을 전부 마친 뒤 시작할 필요는 없다

수학공부와 양자회로 실습을 완전히 분리하면 각 개념이 왜 필요한지 이해하기 어렵습니다. 행렬곱을 배웠다면 바로 X 게이트와 H 게이트를 상태벡터에 적용해보고, 확률을 배웠다면 같은 회로를 여러 번 측정해 결과분포를 확인하는 방식이 좋습니다.

입문자가 처음부터 대학 수학과정을 순서대로 다시 공부하면 실제 양자회로에 도달하기까지 오랜 시간이 걸릴 수 있습니다. 반대로 수학을 전혀 보지 않고 예제코드만 실행하면 게이트 순서와 측정결과가 달라지는 이유를 설명하기 어렵습니다.

가장 현실적인 방법은 필요한 수학을 작은 단위로 배우고 곧바로 회로에 적용하는 것입니다.

  1. 복소수와 2차원 벡터를 익힙니다.
  2. 2×2 행렬과 행렬·벡터 곱을 계산합니다.
  3. X·H·Z 게이트의 작용을 직접 확인합니다.
  4. 내적과 정규화를 측정확률에 연결합니다.
  5. 텐서곱을 이용해 2큐비트 상태를 만듭니다.
  6. 확률분포와 반복측정을 실습합니다.
  7. 필요한 알고리즘에 따라 고유값·미적분·푸리에를 추가합니다.

1. 복소수는 양자상태의 크기와 위상을 표현한다

양자상태의 계수는 일반적인 실수뿐 아니라 복소수도 될 수 있습니다. 복소수는 실수부분과 허수부분으로 구성되며 크기와 위상을 함께 표현할 수 있습니다.

단일 큐비트 상태는 다음과 같이 쓸 수 있습니다.

|ψ⟩ = α|0⟩ + β|1⟩

|α|² + |β|² = 1

여기서 α와 β는 복소수 확률진폭입니다. 측정확률은 α와 β 자체가 아니라 각각의 절댓값을 제곱해 계산합니다. IBM과 Microsoft의 양자정보 설명도 큐비트 상태를 복소수 벡터로 나타내고 각 진폭의 절댓값 제곱을 측정확률과 연결합니다.[3][4]

먼저 익혀야 할 복소수 개념

  • 허수단위 i와 i² = -1의 의미
  • 복소수의 덧셈·곱셈과 나눗셈
  • 복소평면에서 실수축과 허수축
  • 복소수의 절댓값
  • 켤레복소수
  • 직교형과 극형식
  • 복소수의 위상과 회전
  • 오일러 공식의 기본적인 의미

복소수를 공부할 때 복잡한 증명부터 시작할 필요는 없습니다. 복소수를 평면 위의 점이나 회전하는 벡터로 볼 수 있고, 절댓값과 켤레복소수를 계산할 수 있으면 기본 양자회로를 이해하는 데 충분합니다.

오일러 공식이 중요한 이유

e^(iθ) = cos θ + i sin θ

오일러 공식은 복소수의 위상을 회전각으로 표현할 수 있게 해줍니다. 위상게이트와 회전게이트, 양자 푸리에 변환과 위상추정에서 지수형 복소수가 반복적으로 등장하는 이유입니다.

입문자는 공식을 유도하는 것보다 각도 θ가 바뀔 때 복소평면의 단위원 위에서 점이 회전한다는 사실을 먼저 이해하면 됩니다.

2. 전역위상과 상대위상을 구분해야 한다

양자컴퓨팅에서 모든 위상변화가 측정결과를 바꾸는 것은 아닙니다. 상태 전체에 같은 복소수 위상인자가 곱해진 전역위상은 직접 관측할 수 없지만, 상태의 각 성분 사이에 생기는 상대위상은 이후 간섭결과에 영향을 줍니다.

전역위상:
|ψ⟩  →  e^(iφ)|ψ⟩

상대위상:
(|0⟩ + |1⟩)/√2
(|0⟩ - |1⟩)/√2

위의 두 중첩상태는 계산기저에서 바로 측정하면 모두 0과 1이 같은 확률로 나올 수 있습니다. 하지만 H 게이트를 추가하면 상대위상 차이가 간섭을 통해 서로 다른 결과로 나타납니다.

추천 실습

  1. 0 상태에 H 게이트를 적용합니다.
  2. H 게이트를 다시 적용해 원래 상태로 돌아오는지 확인합니다.
  3. 첫 번째 H와 두 번째 H 사이에 Z 게이트를 추가합니다.
  4. H-H 회로와 H-Z-H 회로의 측정결과를 비교합니다.
  5. Z 게이트가 확률이 아니라 상대위상을 먼저 바꾼다는 점을 설명합니다.

3. 벡터는 큐비트 상태를 표현하는 기본 언어다

단일 큐비트는 두 개의 복소수 성분으로 이루어진 열벡터로 표현할 수 있습니다. 계산기저의 0과 1은 다음 벡터에 대응합니다.

|0⟩ = [1, 0]ᵀ
|1⟩ = [0, 1]ᵀ

일반적인 큐비트 상태는 두 기저벡터의 선형결합입니다.

|ψ⟩ = α|0⟩ + β|1⟩
     = [α, β]ᵀ

Microsoft의 양자컴퓨팅 수학문서는 큐비트를 복소수 열벡터로 표현하고 양자연산을 정방행렬로 설명합니다. 선형대수에 익숙해지면 큐비트와 게이트를 서로 다른 개념으로 외우기보다 벡터와 선형변환의 관계로 이해할 수 있습니다.[3]

벡터에서 먼저 공부할 내용

  • 행벡터와 열벡터
  • 벡터의 덧셈과 스칼라배
  • 선형결합
  • 벡터의 차원
  • 기저벡터와 좌표
  • 선형독립과 선형종속
  • 부분공간의 기본개념

입문 단계에서는 추상적인 벡터공간의 모든 정리를 공부하기보다 2차원과 4차원 벡터를 직접 계산하고 그 벡터가 큐비트 상태에서 무엇을 뜻하는지 확인하는 편이 좋습니다.

4. 내적과 노름은 정규화와 측정을 이해하는 데 필요하다

내적은 두 벡터의 관계를 하나의 수로 나타냅니다. 복소수 벡터의 내적에서는 한 벡터에 켤레전치를 적용한다는 점이 일반적인 실수벡터 계산과 다릅니다.

⟨u|v⟩ = u†v

‖v‖² = ⟨v|v⟩

양자상태는 전체 측정확률의 합이 1이 되도록 노름이 1이어야 합니다. 이를 상태의 정규화라고 합니다.

  • 벡터의 길이와 노름
  • 켤레전치
  • 복소벡터의 내적
  • 정규화
  • 두 상태의 겹침 정도
  • 직교하는 상태
  • 정규직교기저

계산기저 상태 0과 1의 내적은 0이므로 서로 직교합니다. 각각의 노름은 1이므로 두 상태는 정규직교기저를 이룹니다.

⟨0|1⟩ = 0
⟨0|0⟩ = 1
⟨1|1⟩ = 1

5. 행렬은 양자게이트를 표현한다

양자게이트는 큐비트 상태벡터를 다른 상태벡터로 바꾸는 행렬입니다. 단일 큐비트 게이트는 일반적으로 2×2 행렬로 표현됩니다.

X = [0  1]
    [1  0]

Z = [1   0]
    [0  -1]

H = (1/√2)[1   1]
          [1  -1]

X 게이트를 0 상태에 적용하면 1 상태가 되고, H 게이트를 적용하면 두 계산기저 상태의 중첩이 만들어집니다.

X|0⟩ = |1⟩

H|0⟩ = (|0⟩ + |1⟩)/√2

행렬에서 먼저 공부할 내용

  • 행렬의 행과 열
  • 행렬과 벡터의 곱
  • 행렬곱의 계산순서
  • 단위행렬
  • 전치와 켤레전치
  • 역행렬
  • 행렬식의 기본적인 의미
  • 행렬곱은 일반적으로 교환되지 않는다는 사실

양자회로에서 게이트의 순서가 중요한 이유도 행렬곱이 일반적으로 교환법칙을 만족하지 않기 때문입니다. X 다음에 H를 적용한 결과와 H 다음에 X를 적용한 결과가 같다고 가정해서는 안 됩니다.

6. 유니터리 행렬은 양자연산의 가역성을 설명한다

측정 전의 이상적인 양자게이트는 유니터리 행렬로 표현됩니다. 유니터리 행렬은 켤레전치와 곱했을 때 단위행렬이 되는 행렬입니다.

U†U = UU† = I

유니터리 연산은 상태벡터의 노름을 보존합니다. 따라서 연산 전후에도 전체 측정확률의 합은 1로 유지됩니다. 유니터리 행렬은 역행렬이 존재하고 그 역행렬이 켤레전치와 같기 때문에 측정 전 양자연산의 가역성을 설명하는 핵심 개념입니다.

  • 단위행렬
  • 켤레전치
  • 역행렬
  • 노름 보존
  • 가역적인 선형변환
  • 유니터리 행렬의 고유값 크기

모든 행렬이 유효한 양자게이트가 되는 것은 아닙니다. 임의의 행렬을 상태벡터에 곱하면 정규화가 깨질 수 있지만 유니터리 행렬은 확률을 보존합니다.

7. 기저와 기저변환은 측정방식을 이해하는 열쇠다

같은 벡터도 어떤 기저를 사용하느냐에 따라 다른 좌표로 나타낼 수 있습니다. 양자컴퓨팅에서는 계산기저뿐 아니라 X 기저와 Y 기저, 벨 기저 등 여러 기저가 사용됩니다.

|+⟩ = (|0⟩ + |1⟩)/√2
|-⟩ = (|0⟩ - |1⟩)/√2

계산기저에서 + 상태를 측정하면 0과 1이 같은 확률로 나타납니다. 하지만 X 기저에서는 + 상태가 하나의 확정된 기저상태입니다.

기저변환을 이해하면 H 게이트를 측정 전에 적용하는 이유와 서로 다른 파울리 측정의 의미를 설명할 수 있습니다. Microsoft의 파울리 측정 문서도 다른 기저에서의 측정을 적절한 게이트를 적용한 뒤 계산기저에서 측정하는 방식으로 연결합니다.[5]

기저에서 확인할 질문

  • 현재 상태는 어떤 기저로 표현됐는가
  • 측정은 어떤 기저에서 이루어지는가
  • 기저를 바꾸기 위해 어떤 게이트를 적용하는가
  • 서로 다른 기저벡터는 직교하는가
  • 상태의 좌표와 물리적 상태 자체를 구분하고 있는가

8. 텐서곱은 여러 큐비트를 하나의 상태로 결합한다

큐비트 두 개를 함께 다룰 때 각 큐비트의 벡터를 단순히 이어 붙이지 않습니다. 두 상태의 텐서곱을 이용해 결합된 상태공간을 만듭니다.

|0⟩ ⊗ |0⟩ = |00⟩
|0⟩ ⊗ |1⟩ = |01⟩
|1⟩ ⊗ |0⟩ = |10⟩
|1⟩ ⊗ |1⟩ = |11⟩

2차원 벡터 두 개를 텐서곱하면 4차원 벡터가 만들어집니다. 3큐비트는 8차원, n큐비트의 순수상태는 2의 n제곱 개 복소수 진폭으로 표현됩니다.

큐비트 수계산기저 상태 수상태벡터 차원
122차원
244차원
388차원
41616차원
n2ⁿ2ⁿ차원

Microsoft의 선형대수 안내문서도 텐서곱을 여러 큐비트의 결합상태를 표현하는 연산으로 설명합니다. IBM의 다중 시스템 과정에서는 Qiskit의 상태벡터와 연산자에 텐서곱을 적용해 여러 큐비트를 구성합니다.[3][6]

텐서곱에서 자주 하는 실수

  • 텐서곱과 일반 행렬곱을 같은 연산으로 생각함
  • 큐비트 표기순서와 출력 비트순서를 확인하지 않음
  • 차원이 두 배씩 커지는 이유를 외우기만 함
  • 모든 2큐비트 상태를 개별 상태의 텐서곱으로 나타낼 수 있다고 생각함

얽힌 상태는 각 큐비트의 독립된 상태벡터를 텐서곱한 형태로 분리할 수 없습니다. 텐서곱을 알아야 분리가능 상태와 얽힌 상태의 차이를 수학적으로 이해할 수 있습니다.

9. 고유값과 고유벡터는 측정과 위상추정에 연결된다

행렬 A를 벡터 v에 적용했을 때 벡터의 방향은 유지되고 크기만 λ배로 바뀐다면 v를 고유벡터, λ를 고유값이라고 합니다.

Av = λv

양자역학에서 관측가능량은 에르미트 행렬로 표현되고, 측정을 통해 얻을 수 있는 값은 해당 연산자의 고유값과 연결됩니다. 측정 후 상태는 측정결과에 대응하는 고유공간으로 바뀝니다.

양자 위상추정은 유니터리 연산자의 고유벡터가 주어졌을 때 그 고유값의 위상을 추정하는 알고리즘입니다. IBM의 QFT·위상추정 학습자료도 고유값과 복소수 위상, 역양자 푸리에 변환을 핵심 구조로 다룹니다.[7]

  • 고유값과 고유벡터의 정의
  • 특성방정식의 기본개념
  • 대각행렬과 대각화
  • 에르미트 행렬
  • 유니터리 행렬의 고유값
  • 스펙트럼 분해
  • 퇴화된 고유값의 기본개념

첫 번째 양자회로를 만들기 전에 모든 고유값 계산을 능숙하게 할 필요는 없습니다. 위상추정과 양자화학, 해밀토니안 시뮬레이션으로 넘어가기 전에 보완하면 됩니다.

10. 에르미트 행렬과 기대값은 측정결과를 해석한다

에르미트 행렬은 자신의 켤레전치와 같은 행렬입니다.

A† = A

에르미트 행렬의 고유값은 실수이며 서로 다른 고유값에 대응하는 고유벡터는 직교합니다. 이러한 성질 때문에 양자역학에서 측정가능한 물리량을 표현하는 데 사용됩니다.

상태 ψ에서 관측량 A의 기대값은 다음 형태로 계산합니다.

⟨A⟩ = ⟨ψ|A|ψ⟩

기대값은 같은 상태를 여러 번 준비하고 측정했을 때 얻는 결과의 평균과 연결됩니다. 변분 양자 고유값 해법과 양자 머신러닝에서는 여러 파울리 연산자의 기대값을 측정해 비용함수를 계산합니다.

11. 확률은 양자측정 결과를 해석하는 기본도구다

양자회로를 같은 조건에서 반복 실행해도 측정결과가 매번 같지 않을 수 있습니다. 양자상태의 각 진폭을 절댓값 제곱한 값이 해당 기저상태를 측정할 확률이 됩니다.[4]

|ψ⟩ = α|0⟩ + β|1⟩

P(0) = |α|²
P(1) = |β|²

먼저 익혀야 할 확률 개념

  • 표본공간과 사건
  • 확률의 합·곱 법칙
  • 조건부확률
  • 독립사건
  • 이산확률분포
  • 기댓값과 분산
  • 공분산과 상관관계
  • 주변확률과 결합확률

확률을 공부할 때 진폭과 확률을 반드시 구분해야 합니다. 확률은 0 이상인 실수이지만 진폭은 음수와 복소수 위상을 가질 수 있습니다. 양자간섭은 확률을 직접 더하는 것이 아니라 진폭이 결합된 뒤 확률이 계산되는 과정에서 나타납니다.

12. 통계는 샷과 실제 QPU 결과를 해석하게 해준다

양자회로를 한 번 실행하고 측정하는 반복단위를 샷이라고 합니다. 실제 확률분포를 직접 읽는 것이 아니라 유한한 샷으로 얻은 표본을 이용해 확률을 추정합니다.

IBM의 초급 실제 QPU 과정도 중첩상태를 확률분포로 확인하기 위해 여러 번의 샷과 통계수집이 필요하다고 설명합니다.[8]

  • 표본과 모집단
  • 표본평균과 표본분산
  • 표준오차
  • 신뢰구간의 기본개념
  • 이항분포
  • 통계적 변동과 체계적 편향
  • 가설검정의 기본적인 의미
  • 부트스트랩과 재표본추출의 개념
결과 차이의 원인샷을 늘리면 줄어드는가필요한 대응
표본의 우연한 변동대체로 줄어듦샷 수 증가
게이트오류자동으로 줄지 않음회로최적화·오류 완화
측정오류자동으로 줄지 않음판독오류 보정
잘못된 회로줄지 않음시뮬레이터와 손계산으로 검증
장비의 시간적 변화상황에 따라 달라짐실행시점과 장비정보 기록

샷 수를 늘리면 잘못된 결과가 올바르게 바뀌는 것이 아니라 현재의 결과분포를 더 정밀하게 추정하게 됩니다. 체계적인 장비오류나 회로설계 문제는 별도로 해결해야 합니다.

13. 집합과 함수는 알고리즘 설명을 읽는 데 필요하다

양자 알고리즘 논문과 교재에는 함수의 정의역과 공역, 일대일 대응과 역함수, 집합과 부분집합 등의 표현이 자주 등장합니다. IBM의 기초 양자정보 과정도 기본적인 집합과 함수를 권장 선수지식으로 제시합니다.[1]

  • 집합과 원소
  • 부분집합
  • 합집합과 교집합
  • 카르테시안 곱
  • 정의역·공역·치역
  • 일대일 함수와 전사함수
  • 역함수
  • 함수의 합성
  • 지시함수와 특성함수의 기본개념

오라클 기반 양자 알고리즘에서는 입력집합에서 출력집합으로 가는 함수가 문제의 핵심이 됩니다. Deutsch-Jozsa와 Simon 알고리즘, Grover 탐색을 이해할 때도 함수의 성질을 명확히 구분해야 합니다.

14. 논리와 이산수학은 양자 알고리즘의 구조를 보여준다

양자컴퓨터도 고전컴퓨터와 함께 작동하므로 비트와 논리연산, 알고리즘과 계산복잡도의 기초가 필요합니다.

  • 명제와 진리표
  • AND·OR·NOT과 배타적 논리합
  • 이진수와 비트열
  • 부울대수
  • 순열과 조합
  • 재귀와 점화식
  • 모듈러 연산
  • 그래프와 연결관계
  • 알고리즘의 시간복잡도

양자게이트는 고전 논리게이트와 비슷한 이름을 가질 수 있지만 작동방식은 다릅니다. 예를 들어 X 게이트는 계산기저에서 NOT과 비슷하지만 중첩상태의 복소수 진폭에도 작용합니다.

고전 알고리즘을 알아야 양자 알고리즘이 어느 조건에서 얼마나 유리한지도 비교할 수 있습니다. 양자회로의 게이트 수만 확인하지 말고 입력크기에 따른 전체 연산량과 상태준비·측정비용을 함께 봐야 합니다.

15. 삼각함수는 회전게이트와 블로흐 구에 사용된다

단일 큐비트의 순수상태는 두 개의 각도를 이용해 블로흐 구 위의 한 점으로 표현할 수 있습니다.

|ψ⟩ = cos(θ/2)|0⟩ + e^(iφ)sin(θ/2)|1⟩

여기서 θ와 φ는 구면 위의 위치와 관련된 각도입니다. X·Y·Z축 회전게이트도 회전각을 매개변수로 사용합니다.

  • 사인과 코사인
  • 단위원
  • 라디안
  • 주기함수
  • 좌표축과 벡터회전
  • 구면좌표의 기본개념
  • 반각 공식이 나타나는 이유

블로흐 구는 단일 큐비트 상태를 이해하는 데 유용하지만 여러 큐비트의 전체 상태를 같은 방식으로 표현할 수는 없습니다. 블로흐 구의 시각적 직관과 실제 고차원 상태공간을 구분해야 합니다.

16. 미적분은 입문 필수보다 심화 도구에 가깝다

기본 양자회로를 구성하고 측정하는 단계에서는 복잡한 미적분을 사용할 일이 많지 않습니다. 이미 정의된 게이트행렬을 상태벡터에 적용하는 과정은 주로 선형대수로 설명할 수 있습니다.

하지만 양자역학의 시간발전과 펄스제어, 변분 알고리즘과 양자화학을 깊이 공부하면 미적분이 중요해집니다.

학습 분야미적분 필요성사용되는 개념
기초 양자회로낮음회전각과 간단한 함수
변분 알고리즘중간기울기·편미분·최적화
양자역학 이론높음미분방정식·시간발전
양자제어높음연속시간 신호·최적제어
양자화학높음에너지 최소화·적분
양자 하드웨어높음전자기장·파동·회로방정식
  • 함수와 극한
  • 미분과 변화율
  • 편미분과 기울기
  • 적분과 누적량
  • 다변수함수
  • 행렬미분의 기본개념
  • 미분방정식
  • 수치미분과 수치적분

입문자는 미분공식을 많이 암기하기보다 함수의 기울기와 최솟값, 시간에 따라 상태가 변한다는 의미를 이해하는 수준에서 시작할 수 있습니다.

17. 미분방정식은 양자상태의 시간변화를 설명한다

양자역학에서 닫힌 시스템의 시간발전은 슈뢰딩거 방정식으로 표현됩니다.

iℏ ∂|ψ(t)⟩/∂t = H|ψ(t)⟩

회로모델에서는 이미 정의된 게이트를 순서대로 적용하기 때문에 이 방정식을 직접 풀지 않고도 많은 알고리즘을 공부할 수 있습니다. 그러나 게이트가 실제 하드웨어의 연속적인 제어신호로 어떻게 구현되는지 이해하려면 시간발전과 미분방정식이 필요합니다.

  • 일계 미분방정식
  • 선형 미분방정식
  • 초기조건
  • 행렬지수
  • 고유값을 이용한 해
  • 시간독립·시간의존 해밀토니안
  • 수치적 시간발전

18. 푸리에 해석은 위상과 주기를 찾아낸다

푸리에 변환은 복잡한 신호나 함수를 서로 다른 주파수 성분으로 나누는 방법입니다. 양자 푸리에 변환은 이산 푸리에 변환에 대응하는 유니터리 연산으로 여러 양자 알고리즘에서 사용됩니다.

IBM의 양자 푸리에 변환 과정은 QFT를 기저변환으로 설명하고, 위상추정과 쇼어 알고리즘에서 주기와 고유값의 위상을 추출하는 데 사용된다고 안내합니다.[7]

  • 복소지수와 주기
  • 사인파와 코사인파
  • 이산 푸리에 변환
  • 주파수 영역
  • 푸리에 기저
  • 위상과 주기성
  • 역변환
  • 근사와 해상도의 기본개념

QFT를 처음 배울 때 고전 푸리에 해석 전체를 깊이 공부할 필요는 없습니다. 작은 차원의 이산 푸리에 변환 행렬을 계산하고 복소지수의 위상이 어떻게 기저상태의 진폭에 반영되는지 확인하는 것부터 시작하면 됩니다.

19. 최적화는 변분 양자 알고리즘의 절반을 담당한다

VQE와 QAOA 같은 변분 양자 알고리즘은 매개변수화된 양자회로와 고전 최적화기를 반복해서 사용합니다. QPU에서 비용함수나 기대값을 측정하고 고전컴퓨터가 다음 매개변수를 선택하는 구조입니다.

IBM의 변분 알고리즘 과정도 각 반복에서 현재 매개변수로 비용함수를 평가하고 최적화기가 다음 매개변수를 선택해 해에 수렴하는 흐름을 설명합니다.[9]

θₙ₊₁ = θₙ - η∇C(θₙ)
  • 목적함수와 비용함수
  • 최솟값과 최댓값
  • 기울기와 경사하강법
  • 학습률
  • 국소최적점과 전역최적점
  • 제약조건
  • 기울기를 사용하지 않는 최적화
  • 수렴과 종료조건
  • 잡음이 최적화에 미치는 영향

변분 알고리즘은 양자회로만 이해해서는 부족합니다. 같은 회로라도 최적화기와 초기값, 샷 수와 잡음에 따라 수렴결과가 달라질 수 있습니다.

20. 정보이론은 양자정보의 양과 잡음을 다룬다

정보이론은 확률분포가 가진 불확실성과 통신채널, 압축과 오류정정을 수학적으로 다룹니다. 양자정보에서는 고전적인 섀넌 엔트로피와 함께 폰 노이만 엔트로피, 양자채널과 상호정보량 등이 사용됩니다.

IBM의 심화 양자정보 과정은 상태벡터 중심의 기본 표현을 넘어 밀도행렬과 양자채널, 일반화된 측정을 다룹니다. MIT의 정보·엔트로피 과정도 확률과 엔트로피, 오류정정과 양자정보를 연결해 구성합니다.[10][11]

  • 확률분포와 불확실성
  • 섀넌 엔트로피
  • 조건부 엔트로피
  • 상호정보량
  • 채널과 잡음
  • 오류정정부호
  • 밀도행렬
  • 폰 노이만 엔트로피
  • 양자 상대엔트로피의 기본개념

양자 오류정정과 양자통신, 암호와 잡음채널을 공부하려면 정보이론의 중요성이 커집니다. 기본 게이트 실습만 목표라면 확률과 엔트로피의 개념부터 시작할 수 있습니다.

21. 밀도행렬은 잡음과 혼합상태를 표현한다

상태벡터는 완전히 알려진 순수상태를 표현하는 데 적합합니다. 하지만 여러 상태가 고전적인 확률로 섞여 있거나 환경과의 상호작용으로 일부 정보가 사라진 경우에는 밀도행렬을 사용합니다.

ρ = |ψ⟩⟨ψ|

일반적인 혼합상태:
ρ = Σ pᵢ|ψᵢ⟩⟨ψᵢ|
  • 외적과 투영연산자
  • 행렬의 대각성분과 비대각성분
  • 트레이스
  • 양의 준정부호 행렬
  • 순수상태와 혼합상태
  • 부분트레이스
  • 축약 밀도행렬
  • 양자채널

밀도행렬은 입문 첫 주에 반드시 배워야 하는 내용은 아닙니다. 잡음 시뮬레이션과 양자채널, 얽힌 시스템의 일부만 분석하는 단계에서 공부하는 편이 효율적입니다.

22. 정수론은 쇼어 알고리즘과 암호에 사용된다

정수론은 양자컴퓨팅 전체의 필수 수학은 아니지만 쇼어 알고리즘과 암호분야를 공부할 때 중요합니다.

  • 소수와 합성수
  • 최대공약수
  • 유클리드 알고리즘
  • 모듈러 연산
  • 모듈러 지수승
  • 합동식
  • 곱셈군과 원소의 위수
  • 주기찾기
  • 중국인의 나머지 정리의 기본개념

쇼어 알고리즘의 양자부분은 주기정보를 찾지만, 정수분해로 연결하는 과정에는 최대공약수와 모듈러 연산을 포함한 고전적인 정수론이 함께 사용됩니다.

23. 그래프이론은 조합최적화 문제를 표현한다

물류와 네트워크, 일정과 배치문제는 그래프의 정점과 간선으로 표현할 수 있습니다. QAOA와 양자 어닐링의 예제에서도 Max-Cut과 경로·배치 문제가 자주 사용됩니다.

  • 정점과 간선
  • 방향·무방향 그래프
  • 가중치
  • 인접행렬
  • 경로와 연결성
  • 부분그래프
  • 그래프 분할
  • Max-Cut
  • 그래프 라플라시안의 기본개념

양자 최적화에서는 산업문제를 바로 회로에 넣기보다 먼저 이진변수와 목적함수, 제약조건으로 변환해야 합니다. 그래프와 조합최적화의 기초가 있어야 문제변환이 적절한지 판단할 수 있습니다.

목표에 따라 필요한 수학은 달라진다

학습 목표우선 공부할 수학심화해서 배울 내용
양자컴퓨팅 교양복소수·벡터·확률기저·텐서곱의 개념
양자회로 프로그래밍행렬·내적·텐서곱·통계유니터리·장비오류 분석
양자 알고리즘선형대수·확률·이산수학고유값·푸리에·복잡도이론
변분 알고리즘·QML선형대수·확률·미적분최적화·수치해석·통계학
양자화학선형대수·고유값·미적분양자역학·수치해석·최적화
양자 오류정정선형대수·확률·이산수학정보이론·부호이론·유한체
양자암호확률·선형대수·정보이론정수론·복잡도·통계검정
양자 하드웨어미적분·미분방정식·선형대수전자기학·신호처리·제어이론
양자 최적화조합론·그래프·선형대수정수계획·수치최적화

비전공자가 먼저 준비할 최소 수학범위

수학을 오랫동안 공부하지 않은 사람이라면 아래 범위부터 준비해도 양자회로 입문을 시작할 수 있습니다.

  • 복소수의 실수부와 허수부를 구분할 수 있음
  • 켤레복소수와 절댓값을 계산할 수 있음
  • 2차원 벡터를 더하고 상수를 곱할 수 있음
  • 2×2 행렬과 2차원 벡터를 곱할 수 있음
  • 벡터의 노름과 정규화를 이해함
  • 두 벡터의 내적을 계산할 수 있음
  • 2차원 벡터 두 개의 텐서곱을 계산할 수 있음
  • 확률의 합이 1이 된다는 의미를 이해함
  • 기댓값과 반복측정의 의미를 설명할 수 있음
  • 각도와 사인·코사인의 기본개념을 알고 있음

이 목록을 모두 능숙하게 계산한 뒤 시작하는 것이 아니라 개념을 확인한 다음 작은 회로에 적용하면서 반복해서 익히는 편이 좋습니다.

12주 양자컴퓨팅 수학 학습 로드맵

기간수학 주제양자컴퓨팅 실습완료 목표
1주차복소수와 복소평면위상게이트 관찰크기와 위상을 설명
2주차벡터와 선형결합큐비트 상태 작성상태벡터를 기저로 분해
3주차행렬과 행렬곱X·H·Z 게이트 계산게이트 전후 상태를 손계산
4주차내적·노름·직교상태 정규화와 측정유효한 큐비트 상태 판별
5주차기저와 기저변환X·Z 기저 측정측정기저 차이 설명
6주차텐서곱2큐비트와 벨 상태결합상태 벡터 구성
7주차확률분포와 기댓값샷과 측정 히스토그램진폭·확률·빈도 구분
8주차고유값과 에르미트 행렬파울리 측정고유상태와 결과 연결
9주차삼각함수와 회전블로흐 구·회전게이트회전각과 상태변화 설명
10주차미분과 최적화매개변수 회로비용함수 최소화 이해
11주차이산 푸리에 변환소규모 QFT 회로푸리에 기저변환 설명
12주차목표별 선택수학VQE·쇼어·QAOA 중 선택다음 학습방향 결정

수학과 회로를 연결하는 공부방법

  1. 새로운 수학개념의 정의를 읽습니다.
  2. 가장 작은 크기의 숫자 예제를 손으로 계산합니다.
  3. 같은 계산을 NumPy로 구현합니다.
  4. 해당 계산이 사용되는 양자게이트나 상태를 찾습니다.
  5. Qiskit 등의 시뮬레이터에서 회로를 실행합니다.
  6. 손계산과 시뮬레이터 결과를 비교합니다.
  7. 개념을 수식 없이 한 문장으로 설명합니다.

예를 들어 행렬곱을 공부했다면 일반적인 숫자행렬 문제만 풀지 말고 H 게이트를 0 상태에 적용해 결과를 계산합니다. 텐서곱을 배웠다면 바로 00·01·10·11 상태를 만들어보고, 확률을 배웠다면 벨 상태를 반복 측정해 분포를 확인합니다.

NumPy로 수학을 직접 확인하는 간단한 예제

Python과 NumPy를 사용할 수 있다면 작은 벡터와 행렬을 직접 계산하면서 양자회로의 작동을 확인할 수 있습니다.

import numpy as np

zero = np.array([1, 0], dtype=complex)
one = np.array([0, 1], dtype=complex)

x_gate = np.array([
    [0, 1],
    [1, 0]
], dtype=complex)

h_gate = (1 / np.sqrt(2)) * np.array([
    [1,  1],
    [1, -1]
], dtype=complex)

print("X|0> =", x_gate @ zero)
print("H|0> =", h_gate @ zero)

결과를 확인한 뒤 H 게이트를 두 번 적용하거나 Z 게이트를 추가해 상태벡터가 어떻게 달라지는지 비교할 수 있습니다.

텐서곱과 벨 상태를 계산하는 예제

import numpy as np

zero = np.array([1, 0], dtype=complex)
one = np.array([0, 1], dtype=complex)

zero_zero = np.kron(zero, zero)
zero_one = np.kron(zero, one)

bell_phi_plus = (
    np.kron(zero, zero) +
    np.kron(one, one)
) / np.sqrt(2)

print("|00> =", zero_zero)
print("|01> =", zero_one)
print("Bell state =", bell_phi_plus)
print("Probabilities =", np.abs(bell_phi_plus) ** 2)

벨 상태의 확률벡터에서는 00과 11에 대응하는 성분만 각각 1/2의 확률을 갖습니다. 하지만 이 상태를 단순히 00과 11을 절반씩 섞은 고전적 확률분포와 같다고 생각해서는 안 됩니다. 상대위상과 다른 기저에서의 측정까지 확인해야 얽힘의 성질을 구분할 수 있습니다.

양자컴퓨팅 수학공부에서 자주 하는 실수

선형대수 교재를 전부 끝내려 한다

벡터와 행렬, 내적과 텐서곱을 배우기 위해 선형대수의 모든 증명과 정리를 먼저 마칠 필요는 없습니다. 기본 회로를 실습한 뒤 고유값과 스펙트럼 분해가 필요해질 때 심화할 수 있습니다.

복소수 진폭과 측정확률을 같은 값으로 생각한다

진폭은 복소수와 부호·위상을 가질 수 있지만 확률은 진폭의 절댓값 제곱으로 얻습니다. 두 개념을 구분하지 않으면 간섭을 이해하기 어렵습니다.

행렬곱의 순서를 확인하지 않는다

양자게이트의 적용순서는 결과에 영향을 줍니다. 회로를 읽는 방향과 상태벡터에 행렬을 적는 순서도 혼동하기 쉬우므로 작은 예제로 직접 확인해야 합니다.

텐서곱을 일반 곱셈처럼 계산한다

텐서곱은 결합시스템의 상태공간을 만드는 연산입니다. 행렬곱과 결과의 차원·의미가 다르므로 별도로 연습해야 합니다.

블로흐 구로 모든 양자상태를 설명하려 한다

블로흐 구는 단일 큐비트의 직관을 제공하지만 여러 큐비트의 전체 상태와 얽힘을 같은 구면 위에 완전히 표현할 수는 없습니다.

샷 수를 늘리면 모든 오류가 줄어든다고 생각한다

샷 수 증가는 표본오차를 줄일 수 있지만 게이트오류와 판독편향, 잘못된 회로는 자동으로 해결하지 못합니다.

미적분을 못하면 시작할 수 없다고 생각한다

기초 회로모델은 선형대수를 중심으로 시작할 수 있습니다. 미적분은 변분 알고리즘과 시간발전, 하드웨어·양자제어를 공부할 때 추가해도 됩니다.

공식을 외우고 상태변화를 설명하지 못한다

게이트행렬을 외우는 것보다 입력상태에 적용했을 때 진폭과 위상, 측정확률이 어떻게 바뀌는지 설명하는 것이 중요합니다.

수학 학습 완료 기준

수학 개념입문 완료 기준
복소수절댓값·켤레복소수와 위상을 계산할 수 있음
벡터큐비트 상태를 기저벡터의 선형결합으로 나타낼 수 있음
행렬2×2 게이트행렬을 상태벡터에 적용할 수 있음
내적정규화와 직교여부를 확인할 수 있음
기저계산기저와 X 기저의 차이를 설명할 수 있음
텐서곱2큐비트 계산기저 상태를 직접 구성할 수 있음
확률진폭에서 측정확률을 계산할 수 있음
통계샷 수와 표본변동의 관계를 설명할 수 있음
고유값고유상태와 측정결과의 관계를 설명할 수 있음
삼각함수회전게이트의 각도와 블로흐 구를 연결할 수 있음
미적분기울기와 비용함수 최적화의 의미를 이해함
푸리에QFT가 복소수 기저변환이라는 점을 설명할 수 있음

양자컴퓨팅 수학 준비도 자가진단

  • 복소수의 절댓값과 켤레복소수를 계산할 수 있는가
  • 2차원 벡터와 2×2 행렬을 곱할 수 있는가
  • 벡터의 노름이 1이라는 의미를 설명할 수 있는가
  • 두 벡터가 직교하는지 내적으로 확인할 수 있는가
  • 진폭과 측정확률이 다른 개념이라는 점을 아는가
  • 행렬곱의 순서가 달라지면 결과도 달라질 수 있음을 아는가
  • 2큐비트 상태의 텐서곱을 계산할 수 있는가
  • 샷 수가 측정분포에 미치는 영향을 설명할 수 있는가
  • 기저변환과 양자게이트의 관계를 설명할 수 있는가
  • 고유값과 고유벡터의 정의를 이해하는가
  • 비용함수와 기울기의 의미를 알고 있는가
  • 필요한 수학을 회로와 코드로 확인하는 습관이 있는가

절반 이상에 답할 수 있다면 수학공부를 더 미루지 않고 양자회로 입문을 시작해도 됩니다. 나머지는 회로와 알고리즘을 공부하는 과정에서 보완할 수 있습니다.

입문자가 자주 묻는 질문

양자컴퓨팅을 공부하려면 수학을 잘해야 할까

수학을 잘한다는 기준을 모든 공식을 외우거나 어려운 증명을 바로 해결하는 능력으로 잡을 필요는 없습니다. 작은 벡터와 행렬을 계산하고 그 결과가 큐비트와 측정에서 무엇을 뜻하는지 이해하는 능력이 더 중요합니다.

선형대수와 미적분 중 무엇이 먼저일까

양자회로 입문에서는 선형대수가 먼저입니다. 큐비트는 벡터, 게이트는 행렬, 여러 큐비트는 텐서곱으로 표현됩니다. 미적분은 변분 알고리즘과 하드웨어·시간발전으로 넘어갈 때 추가할 수 있습니다.

고등학교 수학만으로 시작할 수 있을까

복소수와 확률, 함수와 삼각함수의 기초가 있다면 벡터와 행렬을 추가로 공부하면서 시작할 수 있습니다. 대학 수준의 모든 수학을 먼저 끝낼 필요는 없습니다.

텐서곱이 너무 어려우면 어떻게 공부해야 할까

추상적인 정의보다 길이 2인 벡터 두 개를 직접 텐서곱해 길이 4인 벡터가 만들어지는 과정부터 연습합니다. 이후 계산기저 네 개와 벨 상태에 적용하면 의미를 이해하기 쉽습니다.

고유값을 모르면 양자회로를 만들 수 없을까

기본 게이트와 중첩·얽힘 회로는 만들 수 있습니다. 고유값은 측정이론과 위상추정, 양자화학과 해밀토니안 시뮬레이션을 공부할 때 중요해집니다.

통계학을 어느 정도 공부해야 할까

입문 단계에서는 이항분포와 기댓값·분산, 표본오차와 신뢰구간의 기본개념을 이해하면 됩니다. 실제 QPU 실험과 오류 완화를 연구할수록 더 체계적인 통계분석이 필요합니다.

수학과 코딩 중 무엇을 먼저 해야 할까

둘을 함께 진행하는 편이 좋습니다. 손으로 계산한 벡터와 행렬을 NumPy로 확인하고 같은 회로를 시뮬레이터에서 실행하면 수학과 코드가 서로 연결됩니다.

양자컴퓨팅 수학 관련 주요 용어

용어의미
복소수실수부와 허수부로 구성되며 크기와 위상을 표현할 수 있는 수
확률진폭양자상태의 각 기저성분에 붙는 복소수 계수
상태벡터양자시스템의 상태를 복소수 벡터로 표현한 것
노름벡터의 크기로 양자상태는 보통 1로 정규화됨
내적두 벡터의 관계를 스칼라로 나타내는 연산
기저벡터공간의 모든 상태를 표현할 수 있는 기준벡터의 집합
직교두 벡터의 내적이 0인 관계
유니터리 행렬노름을 보존하며 가역적인 양자연산을 표현하는 행렬
에르미트 행렬켤레전치가 자기 자신과 같고 측정가능량을 표현하는 행렬
고유값특정 고유벡터에 행렬을 적용했을 때 곱해지는 스칼라
고유벡터행렬을 적용해도 방향이 유지되는 벡터
텐서곱여러 양자시스템의 결합상태와 연산을 만드는 연산
기대값같은 측정을 반복했을 때 결과의 평균에 해당하는 값
기저변환같은 상태를 다른 기준벡터로 표현하는 과정
전역위상상태 전체에 공통으로 곱해져 직접 관측되지 않는 위상
상대위상상태성분 사이의 위상차로 간섭결과에 영향을 줌
밀도행렬순수상태와 혼합상태·잡음을 함께 표현할 수 있는 행렬
부분트레이스복합시스템의 일부만 남겨 축약상태를 구하는 연산
푸리에 변환데이터나 상태를 주파수·위상 성분의 기저로 변환하는 방법
비용함수최적화 과정에서 줄이거나 늘리려는 평가값

양자컴퓨팅 수학공부의 현실적인 결론

양자컴퓨팅을 공부하면서 가장 먼저 익혀야 할 수학은 복소수와 선형대수, 확률입니다. 큐비트 상태는 복소수 벡터로 표현되고 양자게이트는 유니터리 행렬로 작동하며 측정결과는 확률분포로 나타나기 때문입니다.

2큐비트 이상으로 넘어가면 텐서곱과 기저, 내적과 직교개념이 중요해집니다. 측정과 위상추정, 양자화학을 공부할 때는 고유값·고유벡터와 에르미트 행렬을 추가해야 합니다.

미적분과 미분방정식은 기초 양자회로를 시작하기 위한 필수조건은 아닙니다. 변분 알고리즘과 양자제어, 시간발전과 하드웨어를 깊이 공부할 때 필요한 부분을 보완할 수 있습니다.

푸리에 해석과 최적화, 정보이론과 정수론·그래프이론은 모든 학습자가 같은 깊이로 공부할 필요가 없습니다. 위상추정과 쇼어 알고리즘, VQE와 QAOA, 오류정정과 양자통신 등 목표에 맞춰 선택하면 됩니다.

가장 좋은 공부방법은 수학교재를 모두 끝낸 뒤 양자컴퓨팅으로 넘어가는 것이 아닙니다. 작은 벡터와 행렬을 손으로 계산하고, Python으로 확인하며, 같은 연산을 양자회로에서 실행하는 과정을 반복하는 것입니다.

2×2 행렬이 큐비트 상태를 어떻게 바꾸고 그 결과가 측정확률로 어떻게 나타나는지 설명할 수 있다면 양자컴퓨팅 수학의 첫 단계는 이미 넘어선 셈입니다.

참고자료

  1. IBM Quantum Learning, Basics of Quantum Information
  2. MIT OpenCourseWare, Quantum Computation Syllabus
  3. Microsoft Learn, Vectors and Matrices in Quantum Computing
  4. IBM Quantum Learning, Quantum Information
  5. Microsoft Learn, Pauli Measurements
  6. IBM Quantum Learning, Multiple Systems and Tensor Products
  7. IBM Quantum Learning, Quantum Fourier Transform
  8. IBM Quantum Learning, Build and Run Your First Quantum Program
  9. IBM Quantum Learning, Optimization Loops
  10. IBM Quantum Learning, General Formulation of Quantum Information
  11. MIT OpenCourseWare, Information and Entropy
  12. Microsoft Learn, The Qubit in Quantum Computing
Andrew Shin

양자컴퓨팅을 처음 접하는 사람도 이해할 수 있도록 복잡한 개념과 기술을 쉽게 풀어 설명합니다. 기초 원리부터 큐비트, 양자게이트, 하드웨어, 실제 활용 분야와 최신 기술 흐름까지 신뢰할 수 있는 자료를 바탕으로 정리합니다.

문의: jyamee01@gmail.com

댓글 남기기