Yangja Wiki / 회로설계이론

QSVT

Quantum Singular Value Transformation은 block-encoded 행렬의 singular value에 polynomial을 적용하는 프레임워크입니다. 많은 고급 양자 알고리즘을 하나의 문법으로 설명합니다.

Singular value 관점

일반 행렬 A는 SVD로 쓸 수 있습니다.

$$
A=\sum_j \sigma_j |u_j\rangle\langle v_j|
$$

QSVT는 singular value \sigma_j에 polynomial p를 적용해 아래와 같은 행렬을 구현합니다.

$$
p^{(SV)}(A)
=
\sum_j p(\sigma_j)|u_j\rangle\langle v_j|
$$

Hermitian 행렬이라면 singular value 대신 eigenvalue transformation처럼 볼 수 있고, 일반 행렬에는 singular value transformation이라는 이름이 더 정확합니다.

입력: block-encoding

QSVT의 출발점은 block-encoding입니다.

$$
U_A=
\begin{bmatrix}
A/\alpha & *\\
* & *
\end{bmatrix}
$$

위쪽 block에 A/\alpha가 들어 있습니다. QSVT는 U_A와 phase rotation을 반복해 p(A/\alpha)가 들어 있는 새로운 block-encoding을 만듭니다.

무엇을 할 수 있나

목표필요한 함수
Hamiltonian simulationp(x)\approx e^{-itx}
Linear systemp(x)\approx 1/x
Ground state filtering낮은 고유값만 통과시키는 step/filter
Search/amplification특정 singular value를 키우는 polynomial
Matrix function \sqrt{x}, sign, threshold 등

QSVT가 강력한 이유는 알고리즘별로 다른 트릭처럼 보였던 것들을 “block-encoding + polynomial transformation”으로 통합한다는 점입니다.

Polynomial 제약

아무 polynomial이나 QSVT로 바로 구현되는 것은 아닙니다. 대표적으로 아래 조건들이 중요합니다.

  • 구간 [-1,1]에서 bounded: |p(x)|\le1
  • degree와 parity 조건
  • 짝/홀 block에 따라 구현되는 matrix element 차이
  • 실수 polynomial인지 복소 polynomial인지에 따른 phase convention

그래서 QSVT 설계는 목표 함수 하나를 적고 끝나는 일이 아니라, 구현 가능한 polynomial 형태로 가공하는 과정까지 포함합니다.

Linear system을 QSVT로 보기

선형시스템에서는 1/x를 근사해야 합니다. 하지만 x=0에서 발산하므로 고유값 또는 singular value가 0에서 떨어져 있어야 합니다.

$$
x\in[1/\kappa,1]
$$

이 구간에서 1/x를 bounded polynomial로 근사합니다. 실제 구현에서는 normalization 때문에 (1/\kappa)/x처럼 크기를 줄인 함수를 씁니다.

$$
p(x)\approx {1\over \kappa x}
$$

이렇게 하면 |p(x)|\le1 조건을 맞추기 쉽습니다.

QPE 기반 방식과 비교

QPE 기반 HHL은 고유값을 별도 레지스터에 기록하고 조건부 회전을 수행합니다. QSVT 기반 방식은 고유값을 명시적으로 읽지 않고 polynomial transformation으로 역수 함수를 직접 구현합니다.

관점QPE/HHLQSVT
중심 객체eigenvalue registerblock-encoding
함수 적용조건부 회전polynomial transformation
오차phase estimation precisionpolynomial approximation error
회로 반복controlled powersblock-encoding 반복 호출

QSVT 설계 흐름

  1. 문제 행렬 A의 block-encoding을 만든다.
  2. normalization \alpha와 spectrum 범위를 기록한다.
  3. 구현하려는 함수 f를 정한다.
  4. f를 bounded polynomial p로 근사한다.
  5. QSP/QSVT phase sequence를 합성한다.
  6. block-encoding 호출 수, ancilla 수, 오차를 보고한다.