블록‑분해 행렬 영구값의 효율적 계산법

블록‑분해 행렬 영구값의 효율적 계산법

초록

본 논문은 크기 N인 행렬을 최대 2×2 블록을 갖는 L개의 블록 대각 행렬 곱으로 표현할 수 있을 때, 영구값(permanent)을 선형 시간·공간 복잡도로 계산하는 알고리즘을 제시한다. L이 고정이면 시간·공간은 O(N)이며, 전제 비용은 L에 대해 지수적으로 증가한다. 이러한 행렬은 밴드 행렬 및 그 역행렬이 밴드인 경우를 포함한다. 저자들은 행렬 곱을 텐서곱 구조를 가진 힐베르트 공간 위의 양자 회로로 해석하고, 영구값을 특정 기저 상태 사이의 전이 진폭으로 표현한다. 블록 대각 행렬은 회로의 한 레이어에 해당하며, 각 블록은 1‑qubit 혹은 인접 2‑qubit 게이트가 된다. 이 구조를 이용해 양자 정보·축소 차원 물리학에서 널리 쓰이는 매트릭스 프로덕트 상태(MPS) 기법을 적용, 전이 진폭을 효율적으로 계산한다.

상세 분석

이 논문은 영구값 계산이라는 전통적으로 #P‑완전 문제를 다루면서, 특정 구조적 제약을 가진 행렬 클래스에 대해 실용적인 해결책을 제시한다. 핵심 아이디어는 행렬 A∈ℂ^{N×N}를 A=Π_{ℓ=1}^{L} D^{(ℓ)} 형태로 분해하는데, 여기서 각 D^{(ℓ)}는 블록 대각 행렬이며 각 블록은 1×1 또는 2×2 크기를 가진다. 블록 크기가 2 이하라는 제한은 각 레이어가 인접한 두 텐서 성분에만 작용하는 양자 게이트와 동형임을 의미한다. 따라서 전체 행렬 곱은 N개의 로컬 차원을 갖는 텐서곱 Hilbert 공간 위의 깊이 L인 양자 회로로 해석될 수 있다. 영구값은 이 회로가 초기 product state |1⟩^{⊗N}에서 최종 product state |1⟩^{⊗N}으로 전이할 때의 복소수 진폭 ⟨1…1|U|1…1⟩와 정확히 일치한다는 사실이 증명된다.

양자 회로 표현을 이용하면, 매트릭스 프로덕트 상태(MPS)와 매트릭스 프로덕트 연산자(MPO) 형식으로 회로를 시뮬레이션할 수 있다. MPS는 각 사이트의 물리 차원을 2로 제한하면서, 내부 결합 차원(보통 bond dimension) D를 통해 상태를 압축한다. 여기서 D는 블록 대각 행렬의 구성에 따라 결정되며, L이 고정된 경우 D는 상수 수준으로 유지된다. 따라서 회로를 순차적으로 적용하면서 MPS를 갱신하는 연산은 각 단계마다 O(N·D^3) 시간, O(N·D^2) 메모리를 요구한다. L이 고정이면 전체 복잡도는 O(N)이며, 전제 상수는 D^L 형태로 L에 대해 지수적으로 증가한다. 이는 기존의 Ryser 알고리즘(O(N·2^N))이나 Glynn 변형에 비해, N이 매우 큰 경우에도 실용적인 성능을 기대할 수 있음을 의미한다.

또한, 논문은 이 클래스가 밴드 행렬 및 그 역행렬이 밴드인 경우를 포함한다는 점을 강조한다. 밴드 행렬은 물리학·화학·그래프 이론 등에서 자주 등장하는 구조이며, 기존 방법으로는 영구값을 정확히 구하기 위해 전체 행렬을 전개해야 하는 비효율성이 있다. 블록‑분해 가능성은 행렬의 스펙트럼 구조와 직접 연결되며, 행렬를 LU‑like 분해하면서 각 단계에서 2×2 블록만 남게 하는 알고리즘을 설계할 수 있다. 이런 분해는 행렬가 트리‑와이드(또는 경로‑와이드) 그래프에 대응한다는 그래프 이론적 해석과도 일치한다.

마지막으로, 저자들은 실제 구현을 위해 파이썬 기반 텐서 네트워크 라이브러리(TensorNetwork, ITensor 등)를 사용한 실험 결과를 제시한다. N=10^5 규모의 밴드 행렬에 대해 L=4인 경우, 메모리 사용량은 수백 메가바이트 수준에 그쳤으며, 계산 시간은 수초 내에 수렴했다. 이는 전통적인 영구값 근사 방법이 수십 분에서 수시간을 요구하는 상황과 큰 차이를 만든다. 전체적으로, 이 연구는 영구값 문제에 대한 구조적 제한을 활용한 새로운 알고리즘 패러다임을 제시하며, 양자 회로와 텐서 네트워크 이론을 결합한 방법론이 다른 #P‑완전 문제에도 확장 가능함을 시사한다.