행렬이란
행렬은 숫자 표가 아니라 좌표평면의 점과 화살표를 다른 위치로 보내는 규칙입니다. 양자 게이트를 이해하려면 먼저 행렬을 기하학적 변환으로 보는 감각이 필요합니다. 좌표와 벡터 {#coordinate} 평면 위의 점은 두 숫자로 적습니다. 원점에서 그 점까지 향하는 화살표로 보면 이것이 벡터입니다. $$ v = \begin{bmatrix} x \ y \end{bmatrix} $$ 고등학교 기하…
Series
행렬은 숫자 표가 아니라 좌표평면의 점과 화살표를 다른 위치로 보내는 규칙입니다. 양자 게이트를 이해하려면 먼저 행렬을 기하학적 변환으로 보는 감각이 필요합니다. 좌표와 벡터 {#coordinate} 평면 위의 점은 두 숫자로 적습니다. 원점에서 그 점까지 향하는 화살표로 보면 이것이 벡터입니다. $$ v = \begin{bmatrix} x \ y \end{bmatrix} $$ 고등학교 기하…
양자 컴퓨팅에서 선형대수는 배경지식이 아니라 상태, 게이트, 측정, 얽힘을 적는 언어입니다. 이 문서는 여러 문서로 쪼개지 않고 필요한 개념을 한 번에 훑습니다. 목차 {#toc} 상태공간과 벡터 기저와 좌표 브라-켓 표기와 내적 선형변환과 행렬 유니터리와 확률 보존 부분공간과 사영 텐서곱 스펙트럼 분해 상태공간과 벡터 {#state-space} 양자상태는 복소 벡터공간의 단위벡터로 표현합니…
큐비트 게이트를 수학적으로 읽는 방법을 압축합니다. 브라-켓과 내적에서 시작해 단일 큐비트 게이트, 텐서 확장, CX/CCX/ancilla 패턴까지 이어갑니다. 브라-켓과 내적 {#braket} 켓은 열벡터, 브라는 켤레전치한 행벡터입니다. 게이트는 ket에 왼쪽에서 곱하는 행렬입니다. $$ |\psi\rangle = \begin{bmatrix}\alpha \\beta\end{bmatrix}…
큐비트는 물리적으로 두 상태를 안정적으로 구분하고 조작할 수 있는 계입니다. 스핀 자체를 깊게 파기보다, 소프트웨어 회로가 실제 장비에서 무엇을 건드리는지 이해할 만큼만 정리합니다. 2준위계 {#two-level} 2준위계는 에너지 상태 두 개를 골라 계산기저로 쓰는 물리계입니다. 소프트웨어에서는 이를 단순히 $|0\rangle$, $|1\rangle$로 부릅니다. $$ |\psi\rangl…
닫힌 양자계의 시간발전은 유니터리로 표현됩니다. 회로 모델의 게이트도 결국 짧은 시간 동안의 제어된 시간발전으로 볼 수 있습니다. 슈뢰딩거 방정식 {#schrodinger} 시간에 따라 변하는 양자상태는 아래 방정식으로 기술합니다. $$ i{\partial\over\partial t}|\psi(t)\rangle=H|\psi(t)\rangle $$ 여기서는 $\hbar=1$ 단위를 사용합니다.…
하드웨어 심화까지 가지 않더라도, 회로설계와 실험 결과 해석을 하려면 이 정도 용어는 알아야 합니다. 이 문서는 양자 소프트웨어 관점의 하드웨어 최소 사전입니다. 왜 하드웨어 용어가 필요한가 {#why} 양자 회로는 이상적인 유니터리 연산처럼 보이지만 실제 장비에서는 제한된 연결, 제한된 native gate, 잡음, 측정 오류, calibration 상태에 묶입니다. 그래서 같은 알고리즘이…
큐비트는 단순히 0과 1을 동시에 갖는다는 말로는 부족합니다. 상태벡터, Bloch sphere, 얽힘, Bell 상태, 부분추적까지 한 흐름으로 봐야 양자정보 문서를 읽을 수 있습니다. 큐비트 {#qubit} 큐비트 하나는 2차원 복소 벡터공간의 정규화된 상태입니다. $$ |\psi\rangle = \alpha|0\rangle+\beta|1\rangle, \qquad |\alpha|^2+|…
양자상태를 정보로 다룰 때는 순수상태만으로 부족합니다. 밀도행렬, 채널, 정보량, 큐비트 수 증가에 따른 확장, 그리고 constructive/destructive amplitude를 함께 봅니다. 밀도행렬 {#density} 순수상태 $|\psi\rangle$는 밀도행렬로 아래처럼 씁니다. $$ \rho = |\psi\rangle\langle\psi| $$ 확률적으로 여러 상태 중 하나가 …
양자 회로는 행렬곱을 그림으로 적은 것입니다. wire는 큐비트의 시간 흐름이고, 게이트 박스는 상태벡터에 곱하는 유니터리입니다. 시간 방향과 wire {#time} 대부분의 회로도에서 시간은 왼쪽에서 오른쪽으로 흐릅니다. 같은 wire 위의 게이트는 순서대로 적용됩니다. $$ |\psi _ {\mathrm{out}}\rangle = U_3U_2U_1|\psi _ {\mathrm{in}}\r…
제어 게이트는 control 큐비트의 값에 따라 target에 연산을 적용합니다. 오라클, 산술 회로, 조건부 위상 반전의 기본 재료입니다. Controlled-U {#controlled-u} control이 0이면 아무것도 하지 않고, 1이면 target에 $U$를 적용합니다. $$ \mathrm{C}U |0\rangle\langle0|\otimes I +|1\rangle\langle1|\…
큐비트가 늘어나면 게이트는 전체 상태공간 위의 큰 행렬로 lift됩니다. 이 문서는 그 확장 규칙을 작은 예제로 계산합니다. 차원 증가 {#dimension} 큐비트 하나는 2차원, 큐비트 n개는 $2^n$차원이다. 재귀적으로 1큐비트 늘어날 때마다 텐서곱을 통해 차원이 2배가 된다. $$ |\psi\rangle = \sum _ {x\in {0,1 }^n} a_x |x\rangle, \qqu…
얽힘은 다중 큐비트 회로의 핵심 자원입니다. Bell pair, GHZ, swap test를 통해 얽힘 회로를 계산으로 확인합니다. Bell pair {#bell} 가장 작은 얽힘 회로는 H와 CX로 만듭니다. $$ |00\rangle \xrightarrow{H\otimes I} { |00\rangle+|10\rangle \over \sqrt{2}} \xrightarrow{\mathrm{CX…
Deutsch-Jozsa 알고리즘은 오라클 함수가 constant인지 balanced인지 한 번의 질의로 구분합니다. 양자 간섭이 어떻게 답을 확정적으로 밀어주는지 보여주는 첫 예제입니다. 문제 설정 {#problem} 함수 $f: {0,1 }^n\to {0,1 }$가 주어졌다고 합니다. 단, promise가 있습니다. constant: 모든 입력에서 같은 값 balanced: 정확히 절반은…
숨겨진 비트열 $s$를 한 번의 오라클 질의로 찾는 알고리즘입니다. Deutsch-Jozsa보다 더 직접적으로 Hadamard 변환의 의미를 보여줍니다. 문제 설정 {#problem} 숨겨진 문자열 $s\in {0,1 }^n$가 있고, 함수는 입력과의 mod 2 내적을 반환합니다. $$ f_s(x)=s\cdot x \pmod 2 $$ 고전적으로는 각 비트를 확인하려면 n번 질의가 필요합니다.
Shor 알고리즘은 소인수분해를 order finding으로 바꾸고, order finding을 양자 위상추정과 QFT(양자 푸리에 변환)로 풉니다. 중요한 점은 이 알고리즘이 인수를 한 번에 찍어내는 절차가 아니라, 소인수분해 후보를 만들고 고전적으로 검증하는 과정을 성공할 때까지 반복한다는 것입니다. 먼저 기억할 것: 후보를 반복해서 찾는 알고리즘 {#candidate-loop} Shor…
Grover 알고리즘은 비정렬 탐색에서 정답 상태의 진폭을 반복적으로 키웁니다. 핵심은 oracle reflection과 diffusion reflection을 번갈아 적용하는 amplitude amplification입니다. 문제 설정 {#problem} 크기 $N=2^n$인 탐색공간에서 정답 집합 $M$을 찾습니다. 오라클은 정답이면 1을 반환합니다. $$ f(x)= \begin{case…
상태 준비는 알고리즘이 시작되는 지점입니다. 데이터를 어떤 양자상태로 올릴지에 따라 회로 깊이와 전체 이점이 결정됩니다. Basis state 준비 {#basis} 고전 비트열 $x$를 계산기저 상태 $|x\rangle$로 준비하려면 1인 비트에 X를 적용합니다. $$ |0000\rangle \xrightarrow{X_1X_3} |0101\rangle $$ 균등중첩 {#uniform} 모든 …
오라클은 고전 함수를 양자 회로에 넣는 방식입니다. 핵심은 비가역 함수를 reversible하게 embedding하고, 필요 없는 garbage를 지우는 것입니다. Bit oracle {#bit} 가장 표준적인 오라클은 아래입니다. $$ U_f|x,y\rangle=|x,y\oplus f(x)\rangle $$ 이 형태는 항상 reversible입니다. 입력 $x$가 보존되고 target에 함…
양자 산술은 고전 산술을 reversible하게 구현하는 문제입니다. Shor의 modular exponentiation, oracle 설계, comparator 회로가 모두 여기서 시작합니다. 비가역 연산을 reversible하게 만들기 {#reversible} 고전 덧셈 $a+b$는 입력을 덮어쓰면 비가역입니다. 양자 회로에서는 보통 아래처럼 target register에 더합니다. $$
QFT는 주기와 위상 정보를 측정 가능한 basis state로 바꾸는 회로입니다. Shor와 phase estimation의 핵심 부품입니다. 정의 {#definition} $$ \mathrm{QFT} _ N|x\rangle {1\over\sqrt{N}}\sum _ {y=0}^{N-1}e^{2\pi ixy/N}|y\rangle $$ $N=2^n$이면 n큐비트 회로로 구현합니다. 이진 분해 …
회로가 수학적으로 맞는 것과 실행 가능한 것은 다릅니다. 리소스 추정은 큐비트 수, 깊이, 2큐비트 게이트, T-count, shots를 숫자로 보는 작업입니다. 기본 지표 {#metrics} | 지표 | 의미 | | --- | --- | | width | 필요한 큐비트 수 | | depth | 병렬화를 고려한 시간 단계 수 | | gate count | 전체 게이트 수 | | 2Q coun…
Quantum Phase Estimation은 많은 고급 양자 알고리즘의 중심 부품입니다. Shor, HHL, Hamiltonian simulation 분석, amplitude estimation이 모두 “유니터리의 고유위상을 읽는다”는 문법 위에 있습니다. 문제 설정 {#problem} 유니터리 $U$와 그 고유상태 $|u\rangle$가 있다고 합니다. $$ U|u\rangle=e^{2\…
HHL은 선형방정식 $A x=b$를 양자상태 수준에서 푸는 알고리즘입니다. 유명하지만 조건이 까다롭고, 결과 전체 벡터를 읽는 알고리즘이 아니라는 점을 분명히 해야 합니다. 목표 {#goal} Hermitian 행렬 $A$와 정규화된 입력 상태 $|b\rangle$가 있을 때, 목표는 아래 상태를 준비하는 것입니다. $$ |x\rangle \propto A^{-1}|b\rangle $$ 고전…
LCU는 유니터리가 아닌 연산을 유니터리들의 선형결합으로 구현하는 설계 기법입니다. OAA는 그 구현이 성공한 branch의 진폭을 키우는 방식입니다. 왜 LCU가 필요한가 {#motivation} 양자 회로가 직접 실행할 수 있는 기본 연산은 유니터리입니다. 하지만 우리가 원하는 연산은 유니터리가 아닐 때가 많습니다. 예를 들어 $e^{-iHt}$를 근사하거나, $A^{-1}$, polyn…
QSP/QSVT의 실질적인 입력은 “어떤 행렬 함수 $f(A)$를 어떤 다항식 $p(A)$로 근사할 것인가”입니다. 여기서 approximation theory가 회로설계의 일부가 됩니다. 왜 polynomial인가 {#why} 행렬 $A$에 대한 함수 $f(A)$를 직접 구현하기 어렵다면, 다항식으로 근사합니다. $$ f(A)\approx p(A)=\sum _ {k=0}^{d} c_k A^…
Qubitization은 block-encoding된 행렬을 walk operator로 바꾸고, QSP는 그 고유위상에 원하는 다항식을 새깁니다. 현대 Hamiltonian simulation과 QSVT의 핵심 언어입니다. 출발점: block-encoding {#block} 유니터리 $U$가 행렬 $A/\alpha$를 block으로 담고 있다고 합시다. $$ (\langle0|\otimes …
Quantum Singular Value Transformation은 block-encoded 행렬의 singular value에 polynomial을 적용하는 프레임워크입니다. 많은 고급 양자 알고리즘을 하나의 문법으로 설명합니다. Singular value 관점 {#svd} 일반 행렬 $A$는 SVD로 쓸 수 있습니다. $$ A=\sum_j \sigma_j |u_j\rangle\langl…
Hamiltonian simulation은 $e^{-iHt}$를 회로로 구현하는 문제입니다. 양자 화학, 물성, HHL, QPE 기반 에너지 추정의 핵심 하위 루틴입니다. 목표 {#goal} 해밀토니안 $H$와 시간 $t$가 주어졌을 때 아래 유니터리를 구현합니다. $$ U(t)=e^{-iHt} $$ 입력 상태가 에너지 고유상태라면 phase가 붙습니다. $$ H|E_j\rangle=E_j|…
QSVT의 오차는 하나가 아닙니다. polynomial 근사 오차, block-encoding 오차, phase synthesis 오차, 하드웨어 게이트 오차가 모두 합쳐집니다. 오차의 출처 {#sources} | 오차원 | 의미 | | --- | --- | | approximation error | 목표 함수 $f$와 polynomial $p$의 차이 | | block-encoding er…
NISQ 장비는 큐비트 수가 제한되고 오류정정이 완전하지 않은 장비입니다. 실사용에서는 알고리즘 수식보다 오류가 어떻게 결과를 흐리는지 먼저 봐야 합니다. NISQ란 무엇인가 {#nisq} NISQ는 noisy intermediate-scale quantum의 약자입니다. 핵심은 “실제 양자장비는 존재하지만, 긴 회로를 안정적으로 돌릴 만큼 오류정정이 충분하지 않다”는 뜻입니다. 따라서 NI…
이 문서는 Qiskit과 PennyLane을 uv 가상환경 기반으로 설치하는 실습용 안내입니다. OS별 명령을 분리해, 나중에 그대로 따라 치기 쉽게 둡니다. Qiskit과 PennyLane {#qiskit-pennylane} * * Qiskit * * 은 IBM Quantum 생태계에서 제공되는 오픈소스 양자 컴퓨팅 SDK입니다. Python 코드로 양자 회로를 만들고, 시뮬레이터에서 먼저…
양자컴퓨터가 정보보안에 주는 대표적 충격은 두 가지입니다. Shor는 소인수분해와 이산로그 기반 비대칭 암호를 직접 위협하고, Grover는 대칭키 전수조사의 비용을 제곱근 수준으로 낮춥니다. 범위 {#scope} 이 문서는 양자 알고리즘이 기존 암호 체계에 주는 계산복잡도 관점의 영향을 설명합니다. Kyber 같은 post-quantum cryptography는 여기서 다루지 않습니다. 목…
pQC는 parameterized quantum circuit입니다. 실제 NISQ 응용에서 가장 자주 만나는 형태는 고정된 회로 구조에 각도 파라미터를 넣고, 측정값을 목적함수로 쓰는 방식입니다. 정의 {#definition} 파라미터 $\theta$를 가진 회로를 아래처럼 씁니다. $$ |\psi(\theta)\rangle=U(\theta)|0^n\rangle $$ 측정 가능한 값은 보통…
VQA는 양자회로와 고전 optimizer를 번갈아 쓰는 알고리즘 계열입니다. NISQ 장비에서 긴 오류정정 회로 대신 짧은 파라미터 회로를 반복 실행하는 전략입니다. 기본 루프 {#loop} 파라미터 $\theta$로 회로 $U(\theta)$를 준비합니다. 양자장비에서 observable 기대값을 추정합니다. 고전 optimizer가 $\theta$를 갱신합니다. 목적함수가 수렴할 때까지…
QML은 양자회로를 머신러닝 모델의 일부로 쓰는 영역입니다. 핵심은 데이터 인코딩, 회로 표현력, 측정 가능한 출력, 학습 안정성입니다. 대표 형태 {#forms} | 형태 | 설명 | | --- | --- | | quantum kernel | 양자 feature map으로 kernel matrix를 계산 | | variational classifier | pQC 출력 기대값을 분류 점수로 …
해밀토니언은 물리계의 에너지 규칙을 담은 연산자입니다. 양자컴퓨터 응용에서는 에너지 계산, 시간발전, 양자화학, 물성 시뮬레이션의 중심 객체입니다. 물리 직관 {#intuition} 고전역학에서 에너지는 운동에너지와 위치에너지의 합으로 생각할 수 있습니다. 양자역학에서는 에너지를 숫자 하나가 아니라 연산자 $H$로 다룹니다. 상태 $|\psi\rangle$에 대해 평균 에너지는 아래입니다. …