정보보호 공부

양자 계산을 위한 선형대수학 -1 : 벡터

모카롤 2020. 7. 6. 15:27

본 게시물은 Qiskit의 게시글을 번역 및 추가한 게시물입니다.

 

Introduction

선형대수학은 양자역학의 언어입니다. 그렇기 때문에 양자역학을 이용한 계산과 알고리즘에 대해 더 깊은 이해를 위해서는 선형대수학 공부가 필수적입니다. 이번 세션의 목표는 기본적인 선형대수학의 개념을 알아가는 것입니다.

선형대수를 몰라도 코딩을 하고 사용할 수 있을진 모르겠지만 기본 개념을 알아야 어떤식으로 더 발전해나갈지 알 수 있을 것이기 때문에 결국 선형대수부터 공부를 다시 합니다. 분명 대학교 수업으로 들었던것 같은데 매번 다시 볼때마다 새로워서 걱정이네요.

 

Vectors and Vector Spaces

벡터부터 시작하도록 하겠습니다.

벡터 |v⟩는 벡터 공간(vector space)으로 알려진 집합의 한 원소입니다. 기하학적인 정의로는 '방향과 질량을 포함한 수학적 양'을 의미합니다. 예를 들어 $\left(\begin{array} {r} 3 \\ 5  \end{array}\right) $ 벡터를 보면 x축으로 3, y축으로 5만큼의 방향을 가리키는 화살표가 나올 것 입니다.  

주피터 노트북을 활용해서 한번 그려보면 아래와 같습니다.

Qiskit은 기본적으로 파이썬과 주피터노트북을 이용해 알고리즘의 예시 및 구현을 설명합니다.

plt.figure()
ax = plt.gca()
ax.quiver([3], [5], angles='xy', scale_units='xy', scale=1)
ax.set_xlim([-1, 10])
ax.set_ylim([-1, 10])
plt.draw()
plt.show()

그림에서 볼 수 있듯이 벡터의 끝은 항상 원점일 필요가 없습니다.

 

양자 컴퓨팅에서는 상태 벡터(state vector)를 다루게 됩니다. 여기서 상태벡터란 특정 양자 상태에 대응하는 한 점을 나타내는 벡터를 의미합니다. 이 벡터는 블로흐 구(Bloch Sphere)를 통해서 시각화될 수 있습니다. 

plot_bloch_vector([1, 0, 0])

이처럼 하나의 화살표처럼 표현이 될 수 있으며, 이러한 벡터는 다양한 양자 상태를 표현할 수 있으며, 구의 모든 곳을 다 표현할 수 있습니다. 

 

 

이제 벡터 공간을 정의하도록 하겠습니다. 체(Field) F위 의  벡터 공간 V는 다음 두 가지 조건을 만족하는 벡터들의 집합입니다.

 

1. 벡터 덧셈(Vector Addition)

|a, |b  V 인 두 벡터를 더해서 |a + |b = |c⟩인 세번째 벡터가 나오면 이 벡터 또한 V에 원소이다. 

 

2. 스칼라 곱셈(Scalar Multiplication)

|a⟩ ∈ V인 벡터와 n ∈ F인 scalar에 대해서 n|a⟩ 또한 V의 원소가 된다.

더보기

체(Field) : 사칙연산이 자유롭게 시행되며 산술이 잘 알려진 규칙들을 만족하는 대수 구조. 보통 알고있는 유리수, 실수, 복소수의 집합은 다 체로 볼 수 있다. 

스칼라(Scalar) : 크기만 있고 방향을 가지지 않는 양. 여기서 방향이 추가되면 벡터와 같은 개념이다.

 

위의 정의를 예시로 살펴보면 아래와 같습니다. 실수집합 $R^2$ 에 대해서,

 

$\left(\begin{array} {r} x_{1} \\ y_{1}  \end{array}\right) $ + $\left(\begin{array} {r} x_{2} \\ y_{2}  \end{array}\right) $ = $\left(\begin{array} {r} x_{1} + x_{2} \\ y_{1} + y_{2}  \end{array}\right) $

 

결과 또한 $R^2$에 속합니다. 당연히 $x_{1}$, $x_{2}$ , $y_{1}$ , $y_{2}$ 가 실수이므로 그들의 덧셈의 결과도 실수가 될 것입니다. 그렇기 때문에 1번 조건을 만족합니다.

 

그 다음 조건인 스칼라 곱셈을 살펴보면 아래와 같습니다. 

 

n|v = $\left(\begin{array} {r} nx \\ ny \end{array}\right) \in V$  , $ \forall n \in R$

 

이 식 또한 당연히 성립하는데, 실수인 n과 실수인 x,y를 곱하면 당연히 실수가 나오기 때문입니다.