Dual Space & Transpose의 기하적 해석

전치도 사상이다

Introduction

혹시 행렬에 대해 배워봤는가? 그 $n \times m$ 개의 값을 예쁘게 모아둔 그 행렬 말이다. 처음 행렬을 배울 때, 다들 행렬곱이 왜 그따구로 정의되는지 의문이 들었을 것이다. 도대체 이 식이 무슨 의미를 가지는 것일까?

\[
\begin{equation*}
[AB]_{ij} = \sum_{k = 1}^m [A]_{ik}[B]_{kj} \tag{1}
\end{equation*}
\]

사실 행렬을 각각의 선형변환에 일대일 대응시킬 때, 행렬곱은 합성변환에 대응된다. 그런 맥락에서 행렬곱이 훨씬 자명하기에, 행렬을 선형변환을 이용해 정의하는 방법도 있다. 이렇게 하면 역행렬, 행렬곱 등등을 자명하게 정의할 수 있지만 전치 행렬을 정의하기가 어렵다. 해당 정의에서 전치 행렬을 정의할 때 이용하는 것이, 바로 dual space이다.

이번 글에서는 행렬이 어떻게 선형변환에 대응되는지에서 시작해 전치 행렬의 기하학적 의미까지 다뤄보도록 하자!

여담으로 원래 선형대수학 시리즈를 다 쓴 다음에 이 글을 쓰려 했는데, 어쩌다보니 이 글을 먼저 쓰게 되었다. 그래서 선형대수학 용어를 막 쓸테니 무슨 말인지 모르겠다면 댓글로 달아보자! 다음 선대 시리즈에 그를 설명하는 글을 쓸 것이다.

Is Linear Transformation Matrix?

선형변환과 행렬 사이 대응관계

사진: UnsplashOsman Rana

Linear Transformation

선형 변환(Linear Transformation)은 두 벡터 공간 V, W 사이에서 정의되는 선형 사상이다.

Definition. Linear Transformation
T : V $\rightarrow$ W가 벡터 공간 V에서 W로 대응되는 사상이고, V의 임의의 두 원소 $mathbf{u}$와 $\mathbf{v}$에 대해 아래 두 조건을 만족할 때 T를 선형 변환(Linear Transformation)이라고 한다.
\[
\begin{gather}
T(k\mathbf{u}) = kT(\mathbf{u})\\
T(\mathbf{u} + \mathbf{v}) = T(\mathbf{u}) +T(\mathbf{v})
\end{gather}
\]

여담으로 벡터 공간 V, W에 대해 V에서 W로 가는 선형변환의 집합을 $\mathcal{L}(V, W)$라고 한다. 일반적인 함수의 덧셈, 스칼라배를 이용할 때 $\mathcal{L}(V, W)$는 자명하게 벡터 공간이다.

이 때 V의 기저가 V를 span한다는 것과 Transformation이 선형이라는 것을 이용할 때, V의 기저가 대응되는 벡터만 결정되면 Transformation이 유일하게 존재함을 알 수 있다.
무슨 말인가 하면, V의 기저 $\beta = \{\mathbf{v_1}, \mathbf{v_2}, ... \mathbf{v_n}\}$에 대해 $T(\mathbf{v_1}), T(\mathbf{v_2}), ... T(\mathbf{v_n})$만 정해진다면 V의 임의의 벡터 $\mathbf{v}$에 대해 $T(\mathbf{v})$가 정해진다는 것이다. 아무래도 $\mathbf{v}$가 $\beta$의 선형 결합으로 표현되니 $T(\mathbf{v})$도 동일한 계수를 가진 $T(\beta)$의 선형 결합으로 표현될 것이다(여기서 $T(\beta)$는 $\beta$의 image를 의미한다).
유일성 말고 존재성도 증명해야 하긴 하지만, 존재성은 너무나도 자명해서 아래 수식으로만 적는다. 수식적인 유일성, 존재성의 state와 증명은 아래와 같다.

Theorem. JH1.
n차원 벡터 공간 V, m차원 벡터 공간 W과 V의 기저 $\{\mathbf{v}_i\}_{i=1}^n$, 그리고 W의 부분집합 $\{\mathbf{w}_i\}_{i=1}^n$에 대해 $T \in \mathcal{L}(V, W)$, $T(v_i) = w_i$인 $T$가 유일하게 존재한다.
proof.
Uniqueness(유일성)
문제의 조건을 만족하는 모든 $T, R \in \mathcal{L}(V, W)$를 고려하자.
이 때 $V$의 임의의 벡터 $\mathbf{v}$에 대해 $T(\mathbf{v}) = R(\mathbf{v})$임, 즉 $T = R$임을 보임으로써 유일성을 증명할 수 있다.
\[
\begin{aligned}
& \forall \mathbf{v} \in V, \exists 1 \{c_i\}_{i = 1}^n, \text{s.t.} \quad v =\sum_{i=1}^n c_i v_i\\
T(v) &= T(\sum_{i=1}^n c_i v_i)\\
&=\sum_{i = 1}^n c_i T(v_i) \quad \because \text{T is linear function}\\
&=\sum_{i = 1}^n c_i w_i \\
&\overset{\text{ISW}}{=} R(v)
\end{aligned}
\]

Existence(존재성)
그냥 위에서 사용한 특성과 같이 함수를 정의해주면 된다. 다만 특성을 유도해서 정의하는게 아니라, 단순히 아래와 같이 정의하면 문제 조건을 만족함을 논증함으로써 존재성을 보일 수 있다.
\[
\begin{aligned}
&\forall \mathbf{v} \in V, \exists 1 \{c_i\}_{i = 1}^n, \text{s.t.} \quad v =\sum_{i=1}^n c_i v_i\\
&\exists T \in \mathcal{L}(V, W), \text{s.t.}\quad T(v) = \sum_{i = 1}^n c_i w_i\\
&\Rightarrow T(v_i) = \sum_{j=1}^n \delta_{ij} w_j = w_i
\end{aligned}
\]

존재성 증명 부분에서 basis는 lineary independent이기에 $c_i$의 유일성이 존재하고, 이 덕분에 함수가 잘 정의되는 것이다. 해당 부분을 더 명확히 하기 위해 $c_i$ 대신 $[\mathbf{v}]_\beta$의 노테이션을 이용할 수도 있다.

이렇게 기저의 image만 저장해도 된다는 점을 잘 생각해보면 $\mathcal{L}(V, W)$의 차원과 관련된 재밌는 아이디어를 얻을 수 있다.
V의 dimension을 n, W의 dimesnion을 m이라 할 때 v 한 개의 상의 자유도는 m이다(v의 상은 W의 벡터이고, W는 m 차원 벡터공간이기 때문이다). 이 때 우리는 V의 벡터 중 n 개만을 고른 후, 그 상을 아무렇게나 결정하는 것이 T를 정하는 것과 동일한 행위임을 논증하였다. 그러다면 이 선형변환은 $n \times m$의 자유도를 가짐을 추측할 수 있다. 다시 말해, $dim \mathcal{L}(V, W) = nm$일 것이다. 이 때 $M_{m \times n}$도 nm차원이기에, 두 벡터 공간이 isomorphic하다고 추측할 수 있다.

위의 아이디어에 적당히 대응되는 isomorphism을 제시한다면 $\mathcal{L}(V, W)$이 $M_{m \times n}$과 동형임, 즉 Linear Transformation이 결국은 matrix임을 보일 수 있을 것이다.

이에 대한 원활한 논의를 위해 아까 얘기한 $[\mathbf{v}]_\beta$의 노테이션을 이용하고자 한다. $[\mathbf{v}]_\beta$은 basis $\beta = \{v_i\}_{i=1}^n$에 대해 $v = \sum_{i=1}^n c_i v_i$인 c들이 element인 $\mathbb{R}^n$의 원소를 의미한다. 즉, $v = \sum_{i=1}^n [[\mathbf{v}]_\beta]_i v_i$이다. 이 때 basis가 independent하므로 $[\mathbf{v}]_\beta$의 유일성이, basis가 V의 spanning set이므로 $[\mathbf{v}]_\beta$의 존재성이 증명된다.

참고로 $\mathbf{v}$에서 $[\mathbf{v}]_\beta$로 대응되는 map을 coordinate map이라 하며, V와 $\mathbb{R}^n$ 사이의 isomorphism이다.

\[
\begin{gathered}
\phi_\beta : V \rightarrow \mathbb{R}^n\\
\mathbf{v} \mapsto [\mathbf{v}]_\beta
\end{gathered}
\]

이제 정말 $\mathcal{L}(V, W)$과 $M_{m \times n}(\mathbb{R})$ 사이의 isomorphism을 주장해보자.

Isomorphism between $\mathcal{L}(V, W)$ and $M_{m \times n}(\mathbb{R})$
let. $\beta = \{v_i\}_{i=1}^n$ be V's basis, $\gamma$ be W's basis.
\[
\begin{gathered}
\psi : \mathcal{L}(V, W) \rightarrow M_{m \times n}\\
T \mapsto
\begin{bmatrix}
[T(v_1)]_\gamma & [T(v_2)]_\gamma & \cdots & [T(v_n)]_\gamma
\end{bmatrix}
\end{gathered}
\]
$|\gamma| = m$ 이므로 $[T(v_i)]_\gamma \in \mathbb{R}^m$이므로 $\begin{bmatrix}
[T(v_1)]_\gamma & [T(v_2)]_\gamma & \cdots & [T(v_n)]_\gamma
\end{bmatrix}$은
$M_{m \times n}(\mathbb{R})$의 원소이므로, $\psi$가 잘 정의된다.
proof of $\psi$ is isomorphism
subjection.
$\forall A \in M_{m \times n}(\mathbb{R})$에 대해 $A$의 각 열을 $a_1, a_2, ... a_n$이라 하자. 각각의 i에 대해 $w_i = \phi_\gamma^{-1}(a_i)$라 하자. ($\phi_\gamma$가 isomorphism이므로 일대일대응이고, 역변환이 정의된다.)
Theorem JH1.의 존재성에 의해 $\exists T \in \mathcal{L}(V, W), T(v_i) = w_i$이다. 따라서 $[T(v_i)]_\beta = a_i$이고 $\psi(T) = A$가 된다.

bijection.
$\forall T, R \in \mathcal{L}(V, W)$, s.t. $\psi(T) = \psi(R)$, $\beta$의 원소 $v_i$에 대해 $[T(v_i)]_\gamma = [R(v_i)]_\gamma$이다. $\phi_\gamma^{-1}$을 양변에 취하면 $T(v_i) = R(v_i)$이므로, Theorem JH1.의 유일성에 의해 $T = R$이다.

흔히 이렇게 $T$에 대응되는 matrix $\psi(T)$를 $[T]_{\gamma, \beta}$, $[T]_{\beta}^{\gamma}$ 등으로 표현한다. 혹은 자명한 기저(standard basis)에서 행렬 $A$에 대응되는 변환 $\psi^{-1}(A)$를 $T_A$로 적기도 한다.

Product of matrix

따라서 이런 isomorphism을 이용, 변환을 이용해 matrix를 정의할 수 있다. 그래서 이렇게 하면 뭐가 좋다는 걸까? 바로 행렬곱을 조금 더 자명하게 정의할 수 있다.

Vector space V, U, W를 생각하고 각각의 차원을 n, k, m, 기저를 $\beta, \gamma, \delta$이라 하자. 이 때 $\mathcal{L}(V, U)$의 원소 $T$와 $\mathcal{L}(U, W)$의 원소 $R$에 대해 합성변환 $R \cdot T$에 대응되는 행렬 $[R \cdot T]^\delta_\beta$는 $[R]^\delta_\gamma[T]^\gamma_\beta$, 즉 각 행렬의 행렬곱과 같다. 적당히 자명하긴 하지만, 증명은 아래와 같다.

proof of $[R \cdot T]^\delta_\beta = [R]^\delta_\gamma[T]^\gamma_\beta$
$\forall \mathbf{v} \in V$에 대해 $[R\cdot T]_\beta^\delta[\mathbf{v}]_\beta = [R(T(\mathbf{v}))]_\delta$이다. $[(R\cdot T)(\mathbf{v})]_\delta = [R(T(\mathbf{v}))]_\delta = [R]_\gamma^\delta[T(\mathbf{v})]_\gamma = [R]_\gamma^\delta[T]_\beta^\gamma[\mathbf{v}]_\beta$이다. 모든 $[\mathbf{v}]_\beta$에 대해 성립하므로, $\mathbf{v} = \phi_\beta^{-1}(e_i)$인$\mathbf{v}$에 대해 확인해보면 두 행렬이 같음을 알 수 있다.

이게 어떻게 행렬곱으로 직접적으로 연결되냐 하면은, $T_{AB} = T_A \cdot T_B$로 표현됨을 이용해 행렬곱을 정의하는 것이다. 이렇게 정의할 경우, 합성변환은 결합법칙이 자명하게 성립하므로 행렬곱의 결합성도 쉽게 증명할 수 있다. 나아가서 역행렬 등도 역변환에 대응되는 행렬로 쉽게 정의된다.

이런 맥락에서 행렬을 선형변환에서 정의하는 방법도 있다. 아마 axler의 책이 이렇게 논리 전개를 했던 거 같은데, 궁금하다면 해당 책을 찾아보도록 하자.

Transpose

그런데 전치행렬이 조금 문제다. $A \in M_{m \times n}(\mathbb{R})$이라면, A에 대응되는 변환은 n차원 공간 V에서 m차원 공간 W로 가는 변환이다. 그런데 $A^T$는 $M_{n \times m}(\mathbb{R})$의 원소이므로, W에서 V로 가는 변환으로 예상된다. 그런데 우리가 아는 W에서 V로 가는 변환은 역변환밖에 없는데, 아무래도 역변환은 $A^{-1}$에 대응되지 $A^T$에 대응되지 않는다. 그러면 도대체 무슨 변환에 대응되는 것일까.

그거를 알기 위해서 dual space를 알아야 한다.

Dual Space

사진: UnsplashTim Mossholder

Definition

어떻게 Dual space에 대한 화두를 꺼낼까 한시간 정도 고민을 해보았는데, 도저히 좋은 방법이 생각나지 않아 그냥 정의를 던지기로 하였다. $V$의 dual space는 $\mathcal{L}(V, \mathbb{R})$이고 $V^*$라고 쓰인다. 즉 V에서 실수로 가는 선형변환의 공간이며, $Hom(V, \mathbb{R})$, 즉 Homogenous space로 정의할수도 있지만 우리 수준에서는 $\mathcal{L}(V, \mathbb{R})$이라 정의해도 무방하며 이게 용이하다.

이 dual space가 어떻게 transpose와 연결되는지 알기 전에, dual space에 대한 직관적인 이해가 필요하다. 사실 현재로서는 그냥 함수 공간처럼 느껴지지, 왜 dual인지 이해하기 힘들 것이다. 그 이해를 위한 첫번째 단계로 dual space의 basis, 그중에서도 $V$의 basis와 유사한 basis가 존재해야 한다.

$V$의 basis $\beta = \{v_i\}_{i=1}^n$와 임의의 i에 대해, Theorem JH1.을 이용해 $\phi (v_j) = \delta_{ij}$인 $\phi$가 $V^*$에 존재함을 알 수 있다. 이를 자세히 쓰면 아래와 같다.

\[
\begin{equation}
\exists \phi \in V^*, \phi (v_j)\begin{cases}1 & \text{if} i = j\\ 0 & \text{otherwise}\end{cases} \tag{2}
\end{equation}
\]

이 때 이런 $\phi$를 일반적으로 $v_i^*$라고 표기한다. $V$의 벡터가 아니라, $V$에서 $\mathbb{R}$로 가는 함수이며 $V^*$의 벡터임에 유의하자.

이런 $v_i^*$들에 대하여, $\{v_i^*\}_{i=1}^n$은 $V^*$의 basis이다. $V^*$의 임의의 벡터 $v^*$에 대해 $v_i$를 어디로 대응시키는지가 $v^*$를 결정하는데, $\text{span} \{v_i^*\}_{i=1}^n$에도 $v_i$를 동일하게 이동시키는 벡터가 있기에 $\text{span} \{v_i^*\}_{i=1}^n$이 $V^*$임을 알 수 있다. 또한 유일성을 이용할 때 영변환은 모든 coefficient가 0임어야 함을 쉽게 확인할 수 있어 $\{v_i^*\}_{i=1}^n$이 $V^*$의 기저임이 자명하다.

그래도 이에 대한 수식적인 증명을 하면, 아래와 같이 쓸 수 있다.

proof. $\{v_i^*\}_{i=1}^n$ is basis of $V^*$
span
$\forall \phi \in V^*$에 대해 $a_i = \phi (v_i)$라 하자. $\psi = \sum_{i=1}^n a_i v_i^*$라 할 때 $\psi(v_i) = \sum_{j=1}^n a_j v_j^*(v_i) = \sum_{j=1}^n a_j \delta_{ij} = a_i$이다. Theorem JH1.의 유일성에 의해 $\phi = \psi$이고 $\psi \in \text{span}\{v_i^*\}_{i=1}^n$이므로, $ V^* \subset \text{span}\{v_i^*\}_{i=1}^n$이다.
$\{v_i^*\}_{i=1}^n \subset V^*$이므로 $\text{span}\{v_i^*\}_{i=1}^n \subset V^*$이다. 따라서 $\text{span}\{v_i^*\}_{i=1}^n = V^*$이다.

linearly independent
실수열 $\{c_i\}_{i=1}^n$에 대해 $\sum_{i = 1}^n c_i v_i^* = 0$이라 가정하자. $\big(\sum_{i = 1}^n c_i v_i^*\big)(v_i) = c_i = 0(v_i) = 0$이므로, 모든 coefficient $c_i$는 0이다.

이런 관점에서 $V$와 $V^*$의 기저를 서로 대응시킬 수 있다. 같은 방법으로 $V$의 원소 $\mathbf{w}$를, 같은 coefficient를 가지도록 $V^*$에 대응시킬 수 있다. 즉 $\mathbf{w} = \sum_{i=1}^n c_i v_i$일 때, 이를 $V^*$의 원소 $\sum_{i=1}^n c_i v_i^*$로 대응시키는 것이다. 이를 흔히 $\phi_\mathbf{w}$로 표기한다.

이 때 $\phi_\mathbf{w}$의 특징을 자세히 살펴보면, 굥교롭게도 $V$의 원소 $\mathbf{v}$에 대해 $\phi_\mathbf{w}(\mathbf{v}) = [\mathbf{w}]_{\beta^*}^T[\mathbf{v}]_\beta$임을 알 수 있다. $\beta$는 기저 $\{v_i\}_{i=1}^n$, $\beta^*$는 $\{v_i^*\}_{i=1}^n$를 의미한다. 정말 놀랍게도, 특별한 과정을 거치지 않았음에도 Transpose가 나왔음을 알 수 있다. 이를 조금만 더 깊게 가져가면, 행렬의 Trnaspose도 나올 수 있다.

Transformation refers to Transpose

드디어 마지막 주제이다. 이 부분은 텍스트로만 이해하기 어려울 거 같아, 간단히 변환의 구조를 그려놓았다. 차근차근 따라가보자.

우리가 관심있는 $M_{n \times m}(\mathbb{R}$의 행렬을 A라 하고, A가 n차원 벡터 공간 $V$에서 m차원 $W$로의 선형 변환 $T_A$에 대응된다고 하자. 즉, $V$와 $W$의 basis $\beta$, $\gamma$에 대해 $[T_A]_\beta^\gamma = A$이다. 이 때 그림에서 알 수 있듯, $T_A$를 이용해 $W^*$에서 $V^*$로의 대응 $\psi$를 생각해볼 수 있다.

$W^*$의 벡터 $\phi$에 대해 $T_A$와 $\phi$의 합성변환 $\phi \cdot T_A$는 $V$에서 $\mathbb{R}$로 가는 선형변환이기에, $V^*$의 벡터가 된다. 따라서 $psi(\phi) = \phi \cdot T_A$로 정의할 때, $\psi : V^* \rightarrow W^*$가 잘 정의된다.

이 때 $\psi$도 결국 선형변환이기에, 맨 처음에 제시했던 것과 같이 $\psi$에 대응되는 행렬을 찾을 수가 있다. 그 행렬을 찾기 위해, $V^*$와 $W^*$의 basis를 아까 이용한 $V$, $W$에 대응되는 기저 $\beta^*$, $\gamma^*$라고 하자. $V$의 임의의 원소 $\mathbf{v}$에 대해 $(\phi \cdot T_A)(\mathbf{v})$는 아래와 같이 두 가지 방법으로 정리될 수 있다. 참고로 아래 식에서 윗첨자로 있는 T는 basis에 대한 표기가 아니라, 전치를 의미한다.

\[
\begin{aligned}
(\phi \cdot T_A)(\mathbf{v}) &= [\phi]_{\gamma^*}^T[T_A(\mathbf{v})]_\gamma\\
&=[\phi]_{\gamma^*}^T [T_A]_\beta^\gamma [\mathbf{v}]_\beta\\
&=[\phi]_{\gamma^*}^T A[\mathbf{v}]_\beta
\end{aligned}
\]

\[
\begin{aligned}
(\phi \cdot T_A)(\mathbf{v}) &= \psi(\phi)(\mathbf{v})\\
&=[\psi(\phi)]_{\beta^*}^T[\mathbf{v}]_\beta
\end{aligned}
\]

두 식이 임의의 $\mathbf{v}$에 대해 성립하므로, $V$의 기저에 대해 모두 확인해봄으로써 $[\phi]_{\gamma^*}^T A = [\psi(\phi)]_{\beta^*}^T$임을 확인할 수 있다. 이 식에 전치를 취함으로써 $[\psi(\phi)]_{\beta^*} = A^T [\phi]_{\gamma^*}$임을, 즉 $[\psi]_{\gamma^*}^{\beta^*}$가 $A^T$이다.

Conclusion

이렇게 행렬을 선형 변환을 이용해, 기하학적으로 정의하는 방법과 전치 행렬이 어떤 기하학적 구조를 가지는지 알아보았다. 사실 이것만 보면 무슨 의미냐 싶을 수 있지만, 마지막의 대응 구조는 사실 pull-back이라는 이름으로 추상화되어 미분기하학에서 중요한 역할을 하는 대상이 된다. 이에 대해서는 다음 글에서 알아 볼 듯 하다.

사실 이 글은 시험기간인데, 마침 내일 시험이 없어 급하게 쓴 글이라 오타가 있는 등 완성도가 떨어질 수 있다. 뭔가 노테이션이 이상한 것 같다면 댓글로 편하게 말해주면 좋을 것 같다!