@meyangja

yangja

양자 컴퓨팅

meeff0rtchung.kr의 시리즈

Series

yangja 읽는 순서

36개
가져온 글 · 사람 검토

행렬이란

행렬은 숫자 표가 아니라 좌표평면의 점과 화살표를 다른 위치로 보내는 규칙입니다. 양자 게이트를 이해하려면 먼저 행렬을 기하학적 변환으로 보는 감각이 필요합니다. 좌표와 벡터 {#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준위계

큐비트는 물리적으로 두 상태를 안정적으로 구분하고 조작할 수 있는 계입니다. 스핀 자체를 깊게 파기보다, 소프트웨어 회로가 실제 장비에서 무엇을 건드리는지 이해할 만큼만 정리합니다. 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

Deutsch-Jozsa 알고리즘은 오라클 함수가 constant인지 balanced인지 한 번의 질의로 구분합니다. 양자 간섭이 어떻게 답을 확정적으로 밀어주는지 보여주는 첫 예제입니다. 문제 설정 {#problem} 함수 $f: {0,1 }^n\to {0,1 }$가 주어졌다고 합니다. 단, promise가 있습니다. constant: 모든 입력에서 같은 값 balanced: 정확히 절반은…

가져온 글 · 사람 검토

Bernstein-Vazirani

숨겨진 비트열 $s$를 한 번의 오라클 질의로 찾는 알고리즘입니다. Deutsch-Jozsa보다 더 직접적으로 Hadamard 변환의 의미를 보여줍니다. 문제 설정 {#problem} 숨겨진 문자열 $s\in {0,1 }^n$가 있고, 함수는 입력과의 mod 2 내적을 반환합니다. $$ f_s(x)=s\cdot x \pmod 2 $$ 고전적으로는 각 비트를 확인하려면 n번 질의가 필요합니다.

가져온 글 · 사람 검토

Shor

Shor 알고리즘은 소인수분해를 order finding으로 바꾸고, order finding을 양자 위상추정과 QFT(양자 푸리에 변환)로 풉니다. 중요한 점은 이 알고리즘이 인수를 한 번에 찍어내는 절차가 아니라, 소인수분해 후보를 만들고 고전적으로 검증하는 과정을 성공할 때까지 반복한다는 것입니다. 먼저 기억할 것: 후보를 반복해서 찾는 알고리즘 {#candidate-loop} Shor…

가져온 글 · 사람 검토

Grover

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 기반 회로

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…

가져온 글 · 사람 검토

심화 QPE

Quantum Phase Estimation은 많은 고급 양자 알고리즘의 중심 부품입니다. Shor, HHL, Hamiltonian simulation 분석, amplitude estimation이 모두 “유니터리의 고유위상을 읽는다”는 문법 위에 있습니다. 문제 설정 {#problem} 유니터리 $U$와 그 고유상태 $|u\rangle$가 있다고 합니다. $$ U|u\rangle=e^{2\…

가져온 글 · 사람 검토

HHL과 선형시스템

HHL은 선형방정식 $A x=b$를 양자상태 수준에서 푸는 알고리즘입니다. 유명하지만 조건이 까다롭고, 결과 전체 벡터를 읽는 알고리즘이 아니라는 점을 분명히 해야 합니다. 목표 {#goal} Hermitian 행렬 $A$와 정규화된 입력 상태 $|b\rangle$가 있을 때, 목표는 아래 상태를 준비하는 것입니다. $$ |x\rangle \propto A^{-1}|b\rangle $$ 고전…

가져온 글 · 사람 검토

LCU와 OAA

LCU는 유니터리가 아닌 연산을 유니터리들의 선형결합으로 구현하는 설계 기법입니다. OAA는 그 구현이 성공한 branch의 진폭을 키우는 방식입니다. 왜 LCU가 필요한가 {#motivation} 양자 회로가 직접 실행할 수 있는 기본 연산은 유니터리입니다. 하지만 우리가 원하는 연산은 유니터리가 아닐 때가 많습니다. 예를 들어 $e^{-iHt}$를 근사하거나, $A^{-1}$, polyn…

가져온 글 · 사람 검토

Polynomial 근사와 Chebyshev 전개

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과 QSP

Qubitization은 block-encoding된 행렬을 walk operator로 바꾸고, QSP는 그 고유위상에 원하는 다항식을 새깁니다. 현대 Hamiltonian simulation과 QSVT의 핵심 언어입니다. 출발점: block-encoding {#block} 유니터리 $U$가 행렬 $A/\alpha$를 block으로 담고 있다고 합시다. $$ (\langle0|\otimes …

가져온 글 · 사람 검토

QSVT

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 심화

Hamiltonian simulation은 $e^{-iHt}$를 회로로 구현하는 문제입니다. 양자 화학, 물성, HHL, QPE 기반 에너지 추정의 핵심 하위 루틴입니다. 목표 {#goal} 해밀토니안 $H$와 시간 $t$가 주어졌을 때 아래 유니터리를 구현합니다. $$ U(t)=e^{-iHt} $$ 입력 상태가 에너지 고유상태라면 phase가 붙습니다. $$ H|E_j\rangle=E_j|…

가져온 글 · 사람 검토

QSVT 오차 줄이기

QSVT의 오차는 하나가 아닙니다. polynomial 근사 오차, block-encoding 오차, phase synthesis 오차, 하드웨어 게이트 오차가 모두 합쳐집니다. 오차의 출처 {#sources} | 오차원 | 의미 | | --- | --- | | approximation error | 목표 함수 $f$와 polynomial $p$의 차이 | | block-encoding er…

가져온 글 · 사람 검토

NISQ 시대 오류와 보정

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

pQC는 parameterized quantum circuit입니다. 실제 NISQ 응용에서 가장 자주 만나는 형태는 고정된 회로 구조에 각도 파라미터를 넣고, 측정값을 목적함수로 쓰는 방식입니다. 정의 {#definition} 파라미터 $\theta$를 가진 회로를 아래처럼 씁니다. $$ |\psi(\theta)\rangle=U(\theta)|0^n\rangle $$ 측정 가능한 값은 보통…

가져온 글 · 사람 검토

양자컴퓨터 실사용 - VQA

VQA는 양자회로와 고전 optimizer를 번갈아 쓰는 알고리즘 계열입니다. NISQ 장비에서 긴 오류정정 회로 대신 짧은 파라미터 회로를 반복 실행하는 전략입니다. 기본 루프 {#loop} 파라미터 $\theta$로 회로 $U(\theta)$를 준비합니다. 양자장비에서 observable 기대값을 추정합니다. 고전 optimizer가 $\theta$를 갱신합니다. 목적함수가 수렴할 때까지…

가져온 글 · 사람 검토

양자컴퓨터 실사용 - Quantum Machine Learning

QML은 양자회로를 머신러닝 모델의 일부로 쓰는 영역입니다. 핵심은 데이터 인코딩, 회로 표현력, 측정 가능한 출력, 학습 안정성입니다. 대표 형태 {#forms} | 형태 | 설명 | | --- | --- | | quantum kernel | 양자 feature map으로 kernel matrix를 계산 | | variational classifier | pQC 출력 기대값을 분류 점수로 …

가져온 글 · 사람 검토

양자컴퓨터 실사용 - 해밀토니언

해밀토니언은 물리계의 에너지 규칙을 담은 연산자입니다. 양자컴퓨터 응용에서는 에너지 계산, 시간발전, 양자화학, 물성 시뮬레이션의 중심 객체입니다. 물리 직관 {#intuition} 고전역학에서 에너지는 운동에너지와 위치에너지의 합으로 생각할 수 있습니다. 양자역학에서는 에너지를 숫자 하나가 아니라 연산자 $H$로 다룹니다. 상태 $|\psi\rangle$에 대해 평균 에너지는 아래입니다. …