기저 (Basis) 그리고 Spectral 정리

김록기·2023년 7월 12일
0

기초선형대수

목록 보기
3/13

선형대수학 소개

이 시리즈에서는, 기초 선형대수학을 심도 깊게 다룹니다.

선형대수학의 강력함은, 다양한 학문 분야에서 그대로 사용이 가능하다는 것입니다. 그리고 선형대수학 공부의 핵심은, 선형 변환의 추상화입니다.

선형대수학에서는 어떤 특정 선형변환 또는 벡터가 특수한 성질을 가진다는 등의 내용은 다루지 않습니다. (가령 미적분학은 꼭 알아야하는 exe^x, sinx\sin x 같은 특수한 함수들이 있는데, 선형대수학에서는 그런게 없다는 것 입니다.) 게다가, 어떤 벡터가 어떤 의미를 가진다는 의미부여도 하지 않습니다. (단, 기초 선형대수학을 공부할 적에는 예외적으로 유클리드 공간을 통해서 매우 단순한 기하학적 의미를 부여합니다.) 이것은, 선형대수학을 다른 학문에 응용할 수 있는 강력한 이유입니다. 예를들어서,

  • 물리적 벡터
  • population vectors (생물학)
  • portfolio vectors (금융)
  • probability vectors (확률론)
  • 해석학에서 다루는 함수들

은, 모두 벡터입니다. 그러니깐, 객체지향프로그래밍의 관점으로 보면, 선형대수학을 공부하는 것은, 우리의 마음 속에 벡터라는 추상적 class를 구현하는 것입니다. 그리고 그렇게 선형대수학을 공부하고나면, 다른 분야를 공부할때 추상화된 개념을 통해서 그 공부에 필요한 어려운 이론들을 빠르게 흡수할 수 있습니다.

공부주제

사실, 선형대수학을 공부하는 이유에 따라서 다를겁니다. 그러나, 어떤 이유에서 선형대수학을 공부하든간에 적어도 선형대수학을 공부한 사람이 정복하고 넘어가야하는 개념들이 있습니다.

선형 변환 그리고 벡터

예를들어서, 뉴턴 제2법칙 F=maF=ma라는 수식은 선형 변환의 예시입니다. 이 수식의 의미는, 질량인 mm인 물체에 힘 FF가 적용되면, 그 물체는 가속도 aa를 가진다는 것입니다. 제가 하고 싶은 말은, 이겁니다.

여러분은, FF 그리고 aa를 벡터 그리고 mm을 스칼라로 인지해야 하고 뉴턴 제 2법칙의 내용에서 aa를 입력으로 받아서 FF를 반환하는 (또는 그 반대로 FF를 입력으로 받아서 aa를 반환하는) 선형 변환을 발견 할 수 있어야 합니다.

행렬은 선형 변환의 표현이다.

예를들어서, 우리는 뉴턴 제 2법칙을 좌표를 이용해서 표현 할 수 있습니다. 만약, 우리가 3차원 공간에서의 뉴턴 제 2법칙을 F=(Fx,Fy,Fz)F=(F_x,F_y,F_z) 그리고 a=(ax,ay,az)a=(a_x,a_y,a_z)를 통해서 표현한다면 그 법칙은 다음과 같은 수식으로 나타낼 수 있습니다.
Fx=max+0ay+0azF_x = m a_x + 0 a_y + 0 a_z
Fy=0ax+may+0azF_y = 0 a_x + m a_y + 0 a_z
Fz=0ax+0ay+mazF_z = 0 a_x + 0 a_y + m a_z
그리고 이 선형변환의 행렬 표현은 다음과 같습니다.

(m000m000m).\begin{pmatrix}m & 0 & 0 \\ 0 & m & 0 \\ 0 & 0 & m \end{pmatrix}.

구체적인 주제

기초 선형대수학 공부는 행렬(선형변환)을 더욱 간단한 행렬로 변환하는 과정들의 연속입니다. 그리고 그러한 학습의 과정은 크게 두가지로 보여집니다.

  • 선형 대수의 언어로 간단한 행렬로 변환하는 과정의 의미를 이해하기.
  • 그 과정을 실제로, 수행하는 것을 연습하기.

왜 행렬계산이 기초 선형대수학에서 매우 중요하게 여겨지는 것일까요?

선형대수학의 개념이 선형시스템 (또는 선형변환의 언어로 적힌 문제)를 효율적으로 해결하는 데 기여한 다는 것을 전달하기 위해서 입니다.

요약하자면, 기초선형대수학 학습의 목표는 크게 두가지로 보여집니다.

  • 선형시스템을 효율적으로 해결하는 것과 관련 있습니다.
  • 선형변환을 이해하고 표현하는 것과 관련있습니다.

기초 선형대수학 공부에서 하는 구체적인 계산들은 다음과 같습니다.

  1. 기본적인 계산에 익숙해지기: 행렬은 가장 기본적이고 중요한 객체입니다. 기본적인 행렬 연산을 잘 다루는 것은 선형 대수학을 이해하고 응용하는 데 필수적입니다. 행렬의 덧셈, 뺄셈, 곱셈, 전치 등의 기본 연산들을 연습하면 행렬의 특성과 구조를 더 잘 이해할 수 있습니다.

  2. 선형 시스템 해 구하기: 행렬은 선형 시스템의 계수 행렬과 상수항 벡터를 나타내는 데 사용됩니다. 행렬 계산을 통해 선형 시스템의 해를 구하는 기술은 다양한 분야에서 중요한 응용을 가지고 있습니다. 예를 들어, 물리학, 공학, 경제학 등 다양한 과학과 학문에서 선형 시스템을 다루며 문제를 해결하는 데 사용됩니다.

  3. 고유값과 고유벡터 계산: 행렬의 고유값과 고유벡터는 다양한 문제에서 중요한 역할을 합니다. 고유값과 고유벡터를 계산하여, 행렬의 특성을 파악하고 선형 변환의 특성을 이해하는 데 도움이 됩니다. 이는 물리학적인 시스템의 안정성 분석, 데이터 분석에서의 주성분 분석 등에 사용됩니다.

  4. 대각화: 행렬을 대각화하거나 간단한 형태로 변환하는 것은 행렬의 특성을 더 잘 파악하기 위한 중요한 역할을 합니다. 그리고 행렬의 거듭제곱을 간단하게 만들어줍니다.

기저 그리고 좌표변환

벡터 그리고 선형변환

벡터는 크기와 방향을 가지는 양을 나타내는 개념입니다. 특히, 물리적인 양을 표현하는 데에 사용됩니다. 그러나 수학에서는 추상적인 개념으로 다루어지며, 이러한 추상성은 선형대수학을 다른 분야에 응용할 수 있는 힘을 부여합니다.

벡터는 벡터공간의 원소로 정의되며, 벡터공간은 선형변환의 대상으로 다루어집니다.

선형 변환

선형변환은 벡터를 다른 벡터로 매핑하는 함수로, 벡터에 대한 연산을 나타냅니다. 선형변환은 벡터의 덧셈과 스칼라배에 대해 선형성을 유지하며, 구조를 보존합니다.

기저(Basis)의 중요성

선형대수학이란 단순히, 선형변환을 다루는 학문이고 선형 변환은 벡터공간을 대상으로 하는 연산자에 지나지 않습니다. 그리고 벡터공간과 선형변환을 이해하기 위해서는 반드시 기저를 알아야합니다.

왜냐하면, 벡터공간과 그 것을 대상으로 하는 선형변환을 머리속에 그려내기 위해서는 기저가 필요하기 때문입니다.

선형대수학을 처음 배운 사람에게 가장 필요한 경험은, 기저를 통해서 선형변환을 머리속에 그려내는 것입니다. 이 관점에서 만들어진 훌륭한 교육 자료의 예시로는 3blue1brown 채널의 Essence of linear algebra가 있습니다.

벡터공간, 선형결합

수학적으로 벡터공간이 정의가 되기 위해서는 다음 3가지가 필요합니다.

  • 스칼라들의 집합 KK : 예를들어서 실수의 집합 R\mathbb{R}과 복소수 집합 C\mathbb{C}가 있습니다.
  • 벡터들의 집합과 벡터 합(V,+)(V,+)
  • 스칼라와 벡터와의 곱 : 스칼라곱이라고 부릅니다.

이렇게 3가지가 정의되고 나면, 우리는 임의의 벡터vi\bold v_i들과 스칼라aia_i 들에 대해서 다음이 명확하게 됩니다. 이를 선형결합이라 부릅니다.

a1v1+a2v2++anvna_1 \cdot \bold v_1 + a_2 \cdot \bold v_2 + \ldots + a_n \cdot \bold v_n

다음 개념을 이해하고 나야, 기저를 이해할 수 있습니다.

기저

선형 대수학의 본질은 '벡터'를 어떻게 표현하느냐에 달려있습니다. 그 중에서도 '선형 독립'과 '기저'는 이 표현의 핵심을 담당하고 있죠.

선형 독립

선형 독립이라는 개념은 간단히 말하자면, 주어진 벡터들을 다른 벡터들의 조합으로 표현할 수 없는 상태를 의미합니다. 예를 들어, 2차원 평면에서 두 벡터가 선형 독립이라면, 한 벡터를 다른 벡터의 조합으로 표현할 수 없습니다. 이는 그 두 벡터가 서로 다른 방향을 가리킨다는 것을 의미합니다.

기저

기저는 어떤 벡터 공간을 구성하는 '최소한'의 벡터 집합을 의미합니다. 이 기저의 벡터들을 조합하면 그 벡터 공간의 모든 벡터를 표현할 수 있습니다. 그리고 기저가 되려면 그 집합의 벡터들은 선형 독립이어야 합니다.

핵심 통찰

이제 가장 중요한 통찰에 대해 알아보겠습니다. 벡터의 집합이 작으면, 그 집합은 선형 독립이기 쉽습니다. 왜냐하면 작은 수의 벡터로 다른 벡터를 표현하는 것은 어렵기 때문입니다. 반대로, 벡터의 집합이 크면, 그 벡터 공간 전체를 표현하기 쉽습니다. 하지만, 너무 많은 벡터가 들어가면 그 중 일부 벡터는 다른 벡터들의 조합으로 표현될 가능성이 높아, 선형 독립이 아닐 가능성이 높아집니다.

그래서, 선형 독립을 유지하면서 벡터 공간 전체를 표현할 수 있는 '적당한 크기'의 벡터 집합을 찾는 것이 중요합니다. 이러한 집합을 찾는 것이 바로 '기저'를 찾는 것입니다.

간단히 말해, 기저는 선형 독립을 유지하면서도 벡터 공간 전체를 표현할 수 있는 '최적의' 벡터 집합입니다.

요약

선형 대수학의 중심은 벡터들을 어떻게 표현하느냐에 있습니다. 선형 독립은 벡터들이 서로 독립적임을 의미하고, 기저는 벡터 공간 전체를 표현할 수 있는 최소한의 독립적인 벡터 집합을 의미합니다. 중요한 것은 선형 독립을 유지하면서도 벡터 공간을 최대한 표현할 수 있는 벡터 집합, 즉 기저를 찾는 것입니다.

기저 (Basis)의 정의

기저는 linearly independent한 집합이므로 중복되는 정보가 없습니다. 또한, spanning set이기 때문에 벡터공간의 모든 원소를 표현하는 데 충분한 정보를 가지고 있습니다. 따라서, 기저는 벡터공간을 정의하는 중요한 개념입니다.

기저는 linearly independent spanning set, minimal spanning set, maximal linearly independent set의 세 가지 정의 중 하나로 선택할 수 있습니다. 이 정의들은 기저의 핵심적인 속성을 나타내며, 모든 정의에서 기저의 의미는 동일합니다.

A linearly independent spanning set.
A minimal spanning set.
A maximal linearly independent set.

Minimal spanning set은 더 작은 집합으로 벡터공간을 생성할 수 없음을 의미하며, maximal linearly independent set은 더 큰 집합은 선형 독립일 수 없음을 의미합니다.

자세히 말해서, 기저 SS에 속하는 벡터들 중 어느 하나라도 (v\bold v를) 제거하면, 그 집합 SvS \setminus \bold v는 그 벡터공간을 생성할 수 없습니다. 그리고 SS에 속하지 않은 벡터 하나를 (w\bold w를) SS에 추가하면, 그 집합 S{w}S \cup \{\bold w\}은 더이상 선형 독립일 수 없습니다.

차원의 정의

차원이란, 단순히 기저의 크기 (원소의 개수)를 의미합니다. 이 정의에 담겨있는 함의는 매우 놀랍습니다.

모든 벡터 공간은 하나 이상의 기저를 가지며, 모든 기저들은 항상 같은 크기를 갖는다.

따라서, 하나의 기저만 알고 있어도 차원을 알 수 있습니다.

유클리드 공간과 차원

고등학교 수학을 공부할 때 다음과 같은 그림을 보았을 것입니다. 이 그림이 나타내는 것을 우리는 R2\mathbb{R}^2라고 부릅니다. 여기서, 2는 다루는 차원을 의미하고 R\mathbb{R}은 실수(real number)의 집합을 표기하는 기호입니다.
좌표평면
더 나아가서, R3\mathbb{R}^3은 무엇일까요? R3\mathbb{R}^3는 3차원 실수좌표공간입니다.

더 나아가서, 차원을 확장해나가면 어떻게 될까요? R4\mathbb{R}^4, R5\mathbb{R}^5, R6\mathbb{R}^6, 그리고 R100\mathbb{R}^{100} 이런식으로 공간을 확장해나갈 수 있습니다. 이 공간들은 시각화하는 것이 불가능하겠지만, 수학적으로 표현하고 다루는 것은 가능합니다. 일반적으로 Rn\mathbb{R}^n (nn은 양의 정수)은 다음과 같이 정의됩니다.

  • 스칼라들의 집합은 단순히, 실수의 집합 R\mathbb{R}입니다.
  • Rn\mathbb{R}^n의 원소는 실수의 nn-tuple로 표현됩니다.
  • 두 튜플의 합은 다음과 같이 정의 됩니다.
    (a1,,an)+(b1,,bn)=(a1+b1,,an+bn)(a_1,\ldots,a_{n}) +(b_1,\ldots,b_{n}) = (a_1+b_1,\ldots,a_{n}+b_n)
  • 스칼라kk와 튜플(a1,,an)(a_1,\ldots,a_{n})에 대해서 스칼라 곱은 다음과 같이 정의 됩니다.
    k(a1,,an)=(ka1,,kan)k\cdot(a_1,\ldots,a_{n}) = (ka_1,\ldots,k a_n)

다시말해서,

Rn\mathbb{R}^n은 벡터 공간입니다.

유클리드 공간과 표준 기저 벡터

Rn\mathbb{R}^n의 차원은 nn입니다.

왜, Rn\mathbb{R}^n의 차원이 nn일까요? 이 이유를 정확하게 아는 것이 매우 중요 합니다. 사람들이 많이 하는 오해는 단순히 nn-tuple로 집합의 원소를 표기하기 때문에, Rn\mathbb{R}^n의 차원을 nn이라고 이해하는 것입니다. 그러나, (결론은 맞지만) 이는 틀린 설명입니다.

예를들어서, 복소수(Complex number)들의 순서쌍 집합 C2\mathbb{C}^2를 실수를 스칼라로 하는 벡터공간으로 바라보면 4차원 공간 입니다. 그리고 C\mathbb{C}를 복소수를 스칼라로 하는 벡터공간으로 바라보면 2차원 공간입니다. 두 경우의 차원이 다른 이유는 각 경우에 대해서 선형 결합의 의미가 다르기 때문에 기저의 크기가 달라지기 때문입니다.

예를들어 (1+i,0+i)(1+i,0+i)를 선형결합으로 표현해봅시다.
(1+i,0+i)=(1+i)(1,0)+i(0,1)(1+i,0+i) = (1+i)\cdot(1,0) + i\cdot(0,1)
은 복소수를 스칼라로 보는 관점에서만 선형결합이 되고, 실수만 스칼라로 보는 관점에서는 이것은 선형결합이 아닙니다. 왜냐하면 그 경우에서는 1+i1+i, ii가 스칼라가 아니기 때문입니다. 실수를 스칼라로 할 때는 2개의 벡터로는 모든 벡터를 선형결합으로 나타낼 수 없고 (같은 말로, 생성 할 수 없고) 아래와 같이 크기가 4인 집합이 C2\mathbb{C}^2를 생성 할 수 있고 이 중 하나라도 빠지면 C2\mathbb{C}^2를 생성할 수 없습니다.
(1,0),(i,0),(0,1),(0,i)(1,0), (i, 0), (0,1), (0,i)

Rn\mathbb{R}^n의 차원이 nn인 이유는 다음과 같습니다.

차원은 벡터 공간의 기저 벡터의 개수를 나타냅니다. 따라서, Rn\mathbb{R}^n의 차원은 표준 기저 벡터의 개수인 nn과 일치합니다.

표준 기저 벡터들은 한 개의 성분(component)만 1이고 나머지 성분은 0인 tuple들입니다. 예를 들어, R3\mathbb{R}^3의 표준 기저 벡터는 다음과 같습니다:

e1=(1,0,0)\mathbf{e}_1 = (1, 0, 0)
e2=(0,1,0)\mathbf{e}_2 = (0, 1, 0)
e3=(0,0,1)\mathbf{e}_3 = (0, 0, 1)

표준 기저 벡터들의 집합이 기저임을 이해하는 것이 중요합니다. 다시말해서, 모든 벡터가 기저벡터의 선형결합으로 표현이 가능하다는 것과, 표준 기저 벡터들의 집합이 minimal하다는 것을 이해해야 합니다.

예를 들어, R3\mathbb{R}^3의 벡터 v=(5,1,6)\mathbf{v}=(5,1,6)는 다음과 같이 표현할 수 있습니다:

v=5e1+1e2+6e3\mathbf{v} = 5\cdot\mathbf{e}_1 + 1\cdot\mathbf{e}_2 + 6\cdot\mathbf{e}_3

여기서 55, 11, 66은 스칼라이므로, 이는 표준기저벡터의 선형결합입니다. 그리고 표준 기저 벡터 e3\bold e_3를 제거하여 얻은 집합 {e1,e2}\{ \bold e_1, \bold e_2 \}R3\mathbb{R}^3를 생성 할 수 없습니다. 마찬가지로, e1\bold e_1 또는 e2\bold e_2도 제거하면, 그 집합은 R3\mathbb{R}^3를 생성 할 수 없습니다. 아래의 그림에서 보듯이 그 집합들은 전체 공간이 아닌, 부분 공간을 생성합니다. 그러므로 e1,e2,e3\bold e_1, \bold e_2, \bold e_3은 기저이고, 기저를 구성하는 벡터의 개수가 3개이므로 R3\mathbb{R}^3 차원은 3입니다.

선형변환

변환이란, 단순히 입력과 출력이 정의된 연산입니다. 그리고 선형 변환이란, 입력의 증폭이 그에 상응하는 출력의 증폭을 일으키고, 입력할 대상을 합하여 변환에 입력하면, 각 대상에 대응하는 출력들의 합이 출력되는 변환입니다.

수학적으로 표기하면, 다음과 같습니다. V,WV,W가 벡터공간 KK가 (두 벡터공간을 정의할 때 명시하는) 스칼라들의 집합이라 하면,

변환 T:VWT:V\to W가 존재해서 모든 스칼라 a,bKa, b \in K와 벡터 v,wV\bold v , \bold w \in V에 대해서
T(av+bw)=aT(v)+bT(w)T(a\bold v + b\bold w) = a\cdot T(\bold v) + b\cdot T(\bold w)
가 성립하면, TT를 선형변환이라고 부릅니다.

선형 변환의 합성 변환과 역변환

먼저, 두 개의 선형 변환 T1T_1T2T_2가 있을 때, 이 두 변환을 합성하는 것을 고려해봅시다. 합성 변환은 먼저 T1T_1을 적용하고, 그 결과에 T2T_2를 적용하는 것을 의미합니다. 수식으로는 다음과 같이 표현됩니다:

(T2T1)(v)=T2(T1(v))(T_2 \circ T_1)(\bold{v}) = T_2(T_1(\bold{v}))

또한, 선형 변환에는 역변환(inverse transformation)이 존재할 수도 있습니다. 만약 선형 변환 T:VVT: V \rightarrow V에 대해, 다른 선형 변환 S:VVS: V \rightarrow V가 존재하여 다음이 성립한다면,

ST=Identity TransformationS \circ T = \text{Identity Transformation}

그리고

TS=Identity TransformationT \circ S = \text{Identity Transformation}

즉, SSTT의 역변환(inverse transformation)이라고 합니다. 이러한 역변환은 원래의 선형 변환을 되돌리는 역할을 합니다.

선형변환의 합과 스칼라곱

정의역(Domain)과 공역(Codomain)이 동일한 선형변환들의 집합은 벡터공간입니다. 다시말해서, 선형변환의 합과 스칼라곱이 정의됩니다.

  1. 선형 변환의 합:
    두 개의 선형 변환 T1:VWT_1: V \rightarrow WT2:VWT_2: V \rightarrow W가 주어졌을 때, 이 두 선형 변환을 합하여 새로운 선형 변환을 만들 수 있습니다. 이때, 새로운 선형 변환은 두 선형 변환의 합이라고 합니다. 수식으로는 다음과 같이 표현됩니다:

    (T1+T2)(v)=T1(v)+T2(v)(T_1 + T_2)(\bold{v}) = T_1(\bold{v}) + T_2(\bold{v})

    여기서 v\bold{v}는 입력 벡터이고, T1(v)T_1(\bold{v})T2(v)T_2(\bold{v})는 각각 T1T_1T2T_2v\bold{v}에 적용된 결과를 의미합니다.

  2. 선형 변환과 스칼라의 곱:
    선형 변환 T:VWT: V \rightarrow W와 스칼라 cKc \in K (여기서 KK는 스칼라들의 집합)가 주어졌을 때, TT에 스칼라 cc를 곱한 새로운 선형 변환을 구할 수 있습니다. 이때, 스칼라 ccTT의 상수배라고 합니다. 수식으로는 다음과 같이 표현됩니다:

    (cT)(v)=cT(v)(cT)(\bold{v}) = c \cdot T(\bold{v})

    여기서 v\bold{v}는 입력 벡터이고, T(v)T(\bold{v})TTv\bold{v}에 적용된 결과를 의미합니다.

행렬

행렬은 수나 기호들을 사각형 모양의 배열로 표현한 것으로, 선형 대수학에서 매우 중요한 개념입니다. 주로 숫자들의 집합을 격자 형태로 배열하여 나타내며, 여러 가지 수학적 연산에 사용됩니다.

행렬은 크기에 따라 다양한 종류가 있습니다. 일반적으로 m×nm \times n 형태로 나타내며, mm은 행의 개수를, nn은 열의 개수를 의미합니다. 행렬의 각 원소는 행과 열의 위치에 따라 숫자로 표현되며, 주로 알파벳 대문자로 표기됩니다.

예를 들어, 2행 3열 크기의 행렬 AA는 다음과 같이 나타낼 수 있습니다:

[a11a12a13a21a22a23]\begin{bmatrix} a_{11} & a_{12} & a_{13} \\ a_{21} & a_{22} & a_{23} \end{bmatrix}

이때, aija_{ij}AAiijj열에 위치한 원소를 나타내고, aija_{ij}AAi,ji,j성분이라고 부릅니다.

벡터와 선형 변환의 행렬 표현

벡터와 선형 변환은 행렬로 표현할 수 있습니다. 가장 먼저, 짚고 넘어가야할 것은 다음과 같습니다.

행렬 표현은 기저에 의존합니다.

표준기저를 통한 좌표 표현

2차원 유클리드 공간에서의 벡터와 선형 변환을 예로 들어 설명하겠습니다.

  1. 표준기저를 통한 벡터의 좌표 표현:
    2차원 유클리드 공간에서의 벡터v=(v1,v2)\bold{v}=(v_1,v_2)는 아래와 같이 표현됩니다.

    행벡터: 행벡터는 1×n1 \times n 크기의 행렬로 표현됩니다.

    [v1v2]\begin{bmatrix} v_1 & v_2 \end{bmatrix}

    열벡터: 열벡터는 n×1n \times 1 크기의 행렬로 표현됩니다.

    [v1v2]\begin{bmatrix} v_1 \\ v_2 \end{bmatrix}

    대부분의 경우에, 행렬곱과 선형변환의 관계를 고려해서, 벡터를 열벡터로 나타냅니다.

일반적인 기저를 통한 벡터의 좌표 표현

다음과 같은 표준이 아닌 기저β={b1,b2}\beta = \{\bold{b}_1, \bold{b}_2\}를 생각해봅시다.

b1=(1,1)andb2=(0,1)\bold{b}_1 = (1, 1) \quad \text{and} \quad \bold{b}_2 = (0, 1)

이때, 벡터v=v1b1+v2b2\bold{v} = v_1 \bold{b}_1 + v_2 \bold{b}_2β\beta를 통한 열벡터 표현은 [v1v2]\begin{bmatrix}v_1 \\ v_2\end{bmatrix}으로 정의됩니다. 열벡터 표현의 의미는 다음과 같습니다.

v\bold vβ\beta를 기저로 하는 선형 결합으로 나타내면, v=v1b1+v2b2\bold{v} = v_1 \bold{b}_1 + v_2 \bold{b}_2입니다.

틀린 표현: 벡터 v=[v1v2]\bold{v} = \begin{bmatrix}v_1 \\ v_2\end{bmatrix}.

왜냐하면, 이 표현은 다음과 같은 오해를 일으키기 때문입니다.

틀린 문장 : 벡터 v=(v1,v2)\bold{v} = (v_1, v_2)β\beta를 기저로 하는 선형 결합으로 나타내면, v=v1b1+v2b2\bold{v} = v_1 \bold{b}_1 + v_2 \bold{b}_2와 같이 표현할 수 있다.

따라서, 다음과 같이 적어야 합니다.

올바른 표현 : 열벡터 [v1v2]\begin{bmatrix}v_1 \\ v_2\end{bmatrix}는, v=v1b1+v2b2\bold{v} = v_1 \bold{b}_1 + v_2 \bold{b}_2β\beta를 통해서 얻은 표현입니다.

결국, v=[v1v2]\bold{v} = \begin{bmatrix}v_1 \\ v_2\end{bmatrix}라 적은 것이 문제입니다. 이것을 해결하기 위해서, 열벡터 표현과 벡터를 등호로 연결할 때는, 다음과 같이 표현하고, 이것을 벡터 v\bold v좌표 표현이라 부릅니다.
[v]β=[v1v2].[\bold{v}]_\beta = \begin{bmatrix}v_1 \\ v_2\end{bmatrix}.

  • 즉, [v]β=[v1v2][\bold{v}]_\beta = \begin{bmatrix}v_1 \\ v_2\end{bmatrix}는, v=v1b1+v2b2\bold{v} = v_1 \cdot \bold b_1 + v_2 \cdot \bold b_2가 성립한다는 뜻입니다.

유클리드 공간 벡터v\bold v를 열벡터로 간주하는 이유

열벡터[v1v2]\begin{bmatrix}v_1 \\ v_2\end{bmatrix}가 표준 기저를 통해서 얻어진 경우는, v=(v1,v2)=v1e1+v2e2\bold{v}=(v_1,v_2) = v_1 \bold{e}_1 + v_2 \bold{e}_2가 맞는 표현이므로, 다음과 같이 기저를 표기하지 않고 생략하여 적어도, 오해를 일으키지 않습니다. v=[v1v2]\bold{v} = \begin{bmatrix}v_1 \\ v_2\end{bmatrix}

  • 그리고 위의 표기는 다음과 같이 적는 것을 가능하게 한다는 장점이 있습니다. (기저 표현이 생략 되었으므로, 좌변과 우변 모두 표준기저를 통해서 얻은 열벡터입니다.)

    1. 선형 변환을 행렬로 표현: T(v)=AvT(\bold{v}) = A\bold{v}
    2. 합성 변환을 행렬로 표현: TS(v)=ABvT \circ S (\bold{v})=AB\bold{v}
  • 애초에, v=[v1v2]\bold{v} = \begin{bmatrix}v_1 \\ v_2\end{bmatrix}이 참이 되도록 하기 위해서, 처음부터 행렬 및 행렬 연산을 정의한 뒤,

    Rn\mathbb{R}^n은 실수 성분이 nn개인 열벡터의 집합으로 정의됩니다.

라고 정의를 세우고 내용들을 전개하는 방법도 유용합니다.

  • 게다가 처음부터 유클리드공간을 열벡터들의 집합으로 보는 관점은, 행벡터표현과 열벡터 표현의 역할을 명확히 구별시키고 그 구별은 복잡한 계산을 단순하게 표현하는데 기여합니다. (단, 거듭제곱과 index가 혼동된다는 단점이 있습니다.)
  • 다만, 열벡터와 벡터를 동일시하는 것은 좌표와 성분의 개념을 혼동시킨 다는 단점이 있습니다.

장점이 단점보다 크기 때문에, 우리도 Rn\mathbb{R}^n을 열벡터들의 집합으로 바라보도록 합시다.

표준기저를 통한 선형 변환의 행렬 표현:

선형 변환 T:R2R2T: \mathbb{R}^2 \rightarrow \mathbb{R}^2이 주어졌을 때, 이 선형 변환은 2×22 \times 2 크기의 행렬 AA로 표현됩니다. 이때, 행렬 AA의 각 열은 선형 변환에 의해 기저 벡터가 변환된 결과를 나타냅니다.

예를 들어, 선형 변환 TT가 기저 벡터 e1\bold{e}_1e2\bold{e}_2에 대해서,
T(e1)=[A11A21]T(\bold e_1) = \begin{bmatrix}A_{11} \\ A_{21}\end{bmatrix} 그리고 T(e2)=[A12A22]T(\bold e_2) = \begin{bmatrix}A_{12} \\ A_{22}\end{bmatrix}를 만족한다면

A=[A11A12A21A22]=[T(e1)T(e2)]A = \begin{bmatrix} A_{11} & A_{12} \\ A_{21} & A_{22} \end{bmatrix} = \begin{bmatrix}T(\bold e_1) &T(\bold e_2) \end{bmatrix}

으로 표현됩니다.

행렬 곱과 선형변환의 관계

다음을 공부하기 전에 행렬 곱에 대해서 알고 있어야 합니다.

모든 선형 변환은 행렬로 표현가능하고, 행렬 곱은 선형변환 또는 선현변환의 합성을 의미합니다. 이해를 쉽게 하기 위해서, 아래의 설명 1., 2.의 수식에서 나온 행렬 및 열벡터는 표준기저를 통해서 표현합시다. (다시 말해서, 벡터의 성분과 열벡터의 좌표가 동일)

  1. 행렬과 열벡터의 곱과 벡터의 선형 변환의 동일성: 어떤 선형 변환 T:RnRmT: \mathbb{R}^n \rightarrow \mathbb{R}^mm×nm \times n 크기의 행렬 AA로 표준기저를 통해서 표현한 경우, 선형 변환 TT에 벡터 [v1v2vn]\begin{bmatrix} v_1 \\ v_2 \\ \vdots \\ v_n\end{bmatrix}를 적용하는 것은 행렬 AA와 행렬 [v1v2vn]\begin{bmatrix} v_1 \\ v_2 \\ \vdots \\ v_n\end{bmatrix}의 곱으로 표현됩니다.

  2. 행렬 곱과 선형 변환 합성의 동일성: 두 선형 변환 S:RmRlS: \mathbb{R}^m \rightarrow \mathbb{R}^lT:RnRmT: \mathbb{R}^n \rightarrow \mathbb{R}^m가 주어졌을 때, 이 두 선형 변환을 연속해서 적용하는 것 STS \circ T의 행렬표현은 각각을 행렬 AA, BB로 표현한 뒤 그 행렬들을 곱하여 얻어진 행렬ABA B과 일치합니다.

항등행렬 역행렬

  1. 항등행렬(identity matrix)과 항등변환(identity transformation):
    항등행렬은 n×nn \times n 정사각행렬로, 주 대각선 원소는 모두 1이고 나머지 원소는 모두 0입니다. 항등행렬은 항등변환을 나타냅니다. 항등변환은 어떤 벡터를 그대로 유지하는 선형 변환으로, 주어진 기저에 대해 아무런 변화를 주지 않습니다. 예를 들어, 2차원 공간에서의 항등변환은 다음과 같이 표현됩니다.

    항등행렬: [1001]\begin{bmatrix}1 & 0\\ 0 & 1\end{bmatrix}

    항등변환: 모든 벡터 v=[v1v2]\bold{v} = \begin{bmatrix}v_1 \\ v_2\end{bmatrix}에 대해, T(v)=[v1v2]T(\bold{v}) = \begin{bmatrix}v_1 \\ v_2\end{bmatrix}

  2. 역행렬(inverse matrix)과 역변환(inverse transformation): 역행렬(inverse matrix)은 주어진 행렬과 곱했을 때 항등행렬(identity matrix)을 얻을 수 있는 특별한 행렬입니다. 어떤 행렬 A에 대해 행렬BB가 존재하여, 다음이 성립한다면
    AB=BA=IA \cdot B = B \cdot A = I
    BBAA의 역행렬이라 부르고, A1A^{-1}이라고 적습니다. AA가 선형변환 TT를 나타내는 경우, AA의 역행렬 A1A^{-1}TT의 역변환의 (AA를 얻을때 사용한 기저와 동일한 것을 통해서 얻은) 행렬표현 입니다.

행렬 곱과 선형변환의 합성에는 결합 법칙이 성립합니다.

수식으로 간략하게 표현하면 다음과 같습니다: T1T_1, T2T_2, T3T_3가 합성T1T2T3T_1\circ T_2 \circ T_3 이 가능하고 각각 행렬 A1A_1, A2A_2 그리고 A3A_3로 표현된다고 합시다. 그러면,
T1(T2T3)=(T1T2)T3T_1\circ (T_2 \circ T_3)= (T_1\circ T_2)\circ T_3 그리고 (A1A2)A3=A1(A2A3)(A_1A_2)A_3 = A_1(A_2 A_3)가 성립합니다.

닮은 행렬

처음 선형대수학을 접하는 입장에서는, 매우 까다로운 개념입니다. 그러나, 대부분의 선형대수에서 다루는 내용의 진정한 의미를 알기 위해서는 꼭 이해해야 하는 개념입니다. 선형대수를 공부하고 나서, 다음 문장들에 대한 이해들을 얻어가야 합니다.

  • 선형대수학에서, 다음과 같은 가역 행렬 P가 존재할 경우 두 행렬 AABB가 닮았다고 정의합니다.
    B=P1APB= P^{-1}A P.
  • 행렬 A,BA, B가 두 기저에서 얻어진 동일한 선형 변환의 표현인 경우, B=P1APB= P^{-1}A P를 만족합니다. 여기서 PP는 기저변환 행렬입니다.
  • 반대로 두 행렬이 서로 닮은 경우 그들은 같은 선형변환의 다른 기저에 대한 행렬표현입니다.

일반적인 기저를 사용하여 선형 변환을 행렬로 표현하는 것은 유용하며, 기저 선택에 따라 다양한 성질을 파악할 수 있습니다. 이러한 유용성은 선형 대수학과 다양한 응용 분야에서 깊이 있는 이해와 분석을 가능케 합니다.

행렬표현의 정의는 표준기저를 사용할때와 같은 방식입니다.

선형 변환 TT가 기저 벡터 b1\bold{b}_1b2\bold{b}_2에 대해서 다음과 같은 관계를 만족한다고 가정해봅시다:

T(b1)=A11b1+A21b2T(\bold{b}_1) = A_{11} \bold{b}_1 + A_{21} \bold{b}_2
T(b2)=A12b1+A22b2T(\bold{b}_2) = A_{12} \bold{b}_1 + A_{22} \bold{b}_2

이때, AijA_{ij}는 행렬 AA의 원소입니다.

이러한 경우, TT의 행렬 표현은 다음과 같습니다:

[T]β=A=[A11A12A21A22][T]_\beta =A = \begin{bmatrix} A_{11} & A_{12} \\ A_{21} & A_{22} \end{bmatrix}

각 열이 곧, T(bi)T(\bold{b}_i)의 기저 β\beta의 열벡터 표현입니다.

따라서, 같은 식을 다음과 같이 표현할 수 있습니다.

[T]β=[A11A12A21A22]=[[T(b1)]β[T(b2)]β][T]_\beta = \begin{bmatrix} A_{11} & A_{12} \\ A_{21} & A_{22} \end{bmatrix} =\begin{bmatrix} [T(\bold b_1)]_\beta & [T(\bold b_2)]_\beta \end{bmatrix}

기저에 따라서, 달라지는 행렬표현

실수를 입력받아서 실수를 반환하는 T(x)=2xT(x)=2x라는 함수의 행렬표현은 어떤 기저를 선택하더라도, 항상 22입니다. 실수에서 실수로가는 1차함수의 행렬표현은 기저와 상관없이 항상 동일합니다. 그러나, 22 이상의 차원에서는 이야기가 달라집니다.

기저에 따라서 달라지는 행렬 표현의 개념을 이해하기 위해 닮은 행렬 [0100]\begin{bmatrix}0 & 1 \\ 0 & 0\end{bmatrix}[01/k00]\begin{bmatrix}0 & 1/k \\ 0 & 0\end{bmatrix}에 대해 살펴보겠습니다.
TT가 다음을 만족시키는 선형 변환이라고 합시다.
T([10])=[00],T([01])=[10]T\left( \begin{bmatrix} 1 \\ 0 \end{bmatrix} \right) = \begin{bmatrix} 0 \\ 0 \end{bmatrix}, \quad T\left( \begin{bmatrix} 0 \\ 1 \end{bmatrix} \right) = \begin{bmatrix} 1 \\ 0 \end{bmatrix}.

이때, 기저 βk={[k0],[01]}\beta_k = \left\{ \begin{bmatrix} k \\ 0 \end{bmatrix}, \begin{bmatrix} 0 \\ 1 \end{bmatrix} \right\}를 사용하여 선형 변환 TT를 행렬로 표현한 결과는 다음과 같습니다.
[T]βk=[01/k00][T]_{\beta_k} = \begin{bmatrix} 0 & 1/k \\ 0 & 0 \end{bmatrix}

이는 기저에 따라서 (kk값에 따라 행렬이 달라지므로) 선형 변환의 행렬 표현이 달라지는 것을 의미합니다.

이것이 일반적인 기저를 통한 행렬 표현에서 발생하는 현상으로, 서로 다른 기저를 사용하여 동일한 선형 변환을 행렬로 표현한 경우, 그 행렬을 서로 다를 수 있음을 의미합니다.

기저 변환

기저 변환은 선형변환의 표현에 사용되는 기저를 바꾸는 것을 의미합니다. 정확히 말해서, 정의역(domain)과 공역(codomain)의 기저βold,γold\beta_{old}, \gamma_{old}를 각각 βnew,γnew\beta_{new}, \gamma_{new}로 변경함을 의미합니다.

기저를 변환한다는 것은 곧, 좌표 표현을 바꾼다는 것을 의미합니다. 그런 점에서 좌표변환이라고 불리기도 합니다.

벡터 공간 VV가 두 가지 서로 다른 기저 βold\beta_{old}βnew\beta_{new}를 가질 때, 벡터 vV\bold v\in V에 대하여 다음과 같이 두 가지 방법으로 표현할 수 있습니다:

[v]old[\bold v]_{old}는 기저 βold\beta_{old}에 대한 좌표 표현입니다.
[v]new[\bold v]_{new}는 기저 βnew\beta_{new}에 대한 좌표 표현입니다.

기저변환행렬 PβoldβnewP_{\beta_{old} \to \beta_{new}}[v]old[\bold v]_{{old}}[v]new[\bold v]_{{new}}로 변환하는 행렬입니다.
Pβoldβnew[v]old=[v]newP_{\beta_{old} \to \beta_{new}}[\bold v]_{{old}}=[\bold v]_{{new}}

기저 변환 행렬 PβnewβoldP_{\beta_{new} \to \beta_{old}}[v]new[\bold v]_{{new}}[v]old[\bold v]_{{old}}로 변환하는 행렬입니다.

Pβnewβold[v]new=[v]oldP_{\beta_{new} \to \beta_{old}}[\bold v]_{{new}}=[\bold v]_{{old}}

기저 변환행렬을 이용하면 같은 선형 변환을 나타내는 서로 다른 행렬 표현 사이에 관계를 나타낼 수 있으며, 이는 행렬 계산과 선형 변환의 연산에 유용하게 사용됩니다.

기저 변환 행렬PβnewϵP_{\beta_{new} \to \epsilon}

두 행렬PϵβnewP_{\epsilon \to \beta_{new}}PβnewϵP_{\beta_{new} \to \epsilon }은 서로가 서로의 역행렬입니다. (간단히 이유를 말하자면, PϵβnewPβnewϵP_{\epsilon \to \beta_{new}}P_{\beta_{new} \to \epsilon } 그리고 PβnewϵPϵβnewP_{\beta_{new} \to \epsilon }P_{\epsilon \to \beta_{new} }모두 좌표표현을 바꾸었다가 되돌리는 연산의 표현이니깐요)
PβnewϵP_{\beta_{new} \to \epsilon }를 간단히 PP라 표기한다면, P1P^{-1}PϵβnewP_{\epsilon \to \beta_{new}}을 의미하게 됩니다.

결론을 요약하면 다음과 같습니다

PβnewϵP_{\beta_{new} \to \epsilon}PϵβnewP_{\epsilon \to \beta_{new} } 둘 중 전자가 훨씬 단순한 형태입니다. 후자를 계산하려면 선형시스템을 풀거나, 전자의 역행렬을 구해야하지만, 전자는 단순히 βnew\beta_{new}을 이루는 열벡터(표준기저기준)를 이어서 만든 형태이기 때문입니다.

Convention
단순히 convention에 불과합니다만, 후술할 내용을 읽는데 도움이 되는 규칙입니다. PβnewϵP_{\beta_{new} \to \epsilon }를 간단히 PP라표기합니다. 그리고 PϵβnewP_{\epsilon \to \beta_{new}}PP의 역행렬이므로, PϵβnewP_{\epsilon \to \beta_{new}} 대신에 P1P^{-1}이라 적겠습니다.

자세히 관찰해 봅시다.

[v]βnew=Pβoldβnew[v]βold[\bold v]_{\beta_{new}} =P_{\beta_{old} \to \beta_{new}}[\bold v]_{\beta_{old}}가 모든 v\bold v에 대해서 성립한다는 것으로 부터, 다음을 유도합니다. 먼저, biold\bold b_i^{old}들이 예전 기저들이라고 합시다. 그러면, 예전의 좌표표현 방법에 의해서,
[biold]βold[\bold b_i^{old}]_{\beta_{old}}ii번째 성분이 1이고 나머지가 0인 열벡터ei\bold e_i가 됩니다. 왜냐하면, biold\bold b_i^{old}는 단순히
biold=0b1old+0b2old++0bi1old+1biold+0bi+1old++0bnold\bold b_i^{old}= 0\cdot\bold b_1^{old} + 0\cdot\bold b_2^{old} + \ldots +0\cdot \bold b_{i-1}^{old} + 1\cdot\bold b_i^{old} +0\cdot \bold b_{i+1}^{old} +\ldots + 0\cdot\bold b_n^{old}이니깐요.
따라서,
[b1old]βnew=Pβoldβnew[b1old]βold=Pβoldβnewe1[\bold b_1^{old}]_{\beta_{new}} =P_{\beta_{old} \to \beta_{new}}[\bold b_1^{old}]_{\beta_{old}}=P_{\beta_{old} \to \beta_{new}}\bold e_1
[b2old]βnew=Pβoldβnew[b2old]βold=Pβoldβnewe2[\bold b_2^{old}]_{\beta_{new}} = P_{\beta_{old} \to \beta_{new}}[\bold b_2^{old}]_{\beta_{old}}=P_{\beta_{old} \to \beta_{new}}\bold e_2
   =\quad\vdots \ \ \ = \quad\vdots
[bnold]βnew=Pβoldβnew[bnold]βold=Pβoldβnewen[\bold b_n^{old}]_{\beta_{new}} = P_{\beta_{old} \to \beta_{new}}[\bold b_n^{old}]_{\beta_{old}}=P_{\beta_{old} \to \beta_{new}}\bold e_n
입니다.

PβoldβneweiP_{\beta_{old} \to \beta_{new}}\bold e_i의 계산 결과는 단순히 PβoldβnewP_{\beta_{old} \to \beta_{new}}ii번째 열입니다.

따라서,Pβoldβnew=[[b1old]βnew[bnold]βnew]P_{\beta_{old} \to \beta_{new}}= \begin{bmatrix}[\bold b_1^{old}]_{\beta_{new}} & \cdots &[\bold b_n^{old}]_{\beta_{new}}\end{bmatrix}입니다.
구체적으로 말해서, 새로운 기저들의 선형결합으로 예전 기저biold\bold b_i^{old}를 표현할때, 그 표현에 쓰이는 스칼라들이 곧 기저 변환행렬의 요소가 됩니다.

다시말해서, 새로운 기저 {b1new,,bnnew}\{\bold b_1^{new},\ldots,\bold b_n^{new}\}에 대해서, 다음이 성립합니다.
biold=(P1)1ib1new+(P1)i2b2new++(P1)inbnnew\bold b_i^{old}= (P^{-1})_{1i}\cdot \bold b_1^{new} + (P^{-1})_{i2}\cdot \bold b_2^{new}+\ldots+ (P^{-1})_{in}\cdot \bold b_n^{new}
여기서, (P1)ij(P^{-1})_{ij}P1=PβoldβnewP^{-1}=P_{\beta_{old} \to \beta_{new}}i,ji,j성분을 의미합니다.

그리고, 마찬가지 원리로 PβnewβoldP_{\beta_{new} \to \beta_{old}}는 다음과 같습니다.
Pβnewβold=[[b1new]βold[bnnew]βold]P_{\beta_{new} \to \beta_{old}}= \begin{bmatrix}[\bold b_1^{new}]_{\beta_{old}} & \cdots &[\bold b_n^{new}]_{\beta_{old}}\end{bmatrix}

다시말해서, 다음이 성립합니다.
binew=P1ib1old+Pi2b2old++Pinbnold\bold b_i^{new}= P_{1i}\cdot \bold b_1^{old} + P_{i2}\cdot \bold b_2^{old}+\ldots+ P_{in}\cdot \bold b_n^{old}
여기서, PijP_{ij}P=PβnewβoldP=P_{\beta_{new} \to \beta_{old}}i,ji,j성분을 뜻하는 기호입니다.

예를들어서, 표준이 아닐수 도 있는 기저
βk={[k0],[01]}={b1,b2}\beta_k = \left\{ \begin{bmatrix} k \\ 0 \end{bmatrix}, \begin{bmatrix} 0 \\ 1 \end{bmatrix} \right\}=\left\{ \bold b_1, \bold b_2 \right\}
표준 기저ϵ={[10],[01]}={e1,e2}\epsilon= \left\{ \begin{bmatrix} 1 \\ 0 \end{bmatrix}, \begin{bmatrix} 0 \\ 1 \end{bmatrix} \right\}=\left\{ \bold e_1, \bold e_2 \right\}을 생각합시다.

이때, 행렬 P1=PϵβkP^{-1}=P_{\epsilon \to \beta_k }를 구해봅시다.
1. ϵ\epsilon을 이루는 기저벡터에 대해서, 다음과 같은 연립방정식을 세웁니다.
e1=P111b1+P121b2\bold e_1 = P^{-1}_{11}\bold b_1+P^{-1}_{12}\bold b_2
e2=P211b2+P221b2\bold e_2 = P^{-1}_{21}\bold b_2+P^{-1}_{22}\bold b_2
2. 위의 연립방정식을 표준기저를 통한 좌표 표현(열벡터 형태)로 적습니다.
[10]=(P1)11[k0]+(P1)12[01]\begin{bmatrix} 1 \\ 0 \end{bmatrix}=(P^{-1})_{11} \begin{bmatrix} k \\ 0 \end{bmatrix} + (P^{-1})_{12}\begin{bmatrix} 0 \\ 1 \end{bmatrix}

[01]=(P1)21[k0]+(P1)22[01]\begin{bmatrix} 0 \\ 1 \end{bmatrix}=(P^{-1})_{21} \begin{bmatrix} k \\ 0 \end{bmatrix} + (P^{-1})_{22}\begin{bmatrix} 0 \\ 1 \end{bmatrix}
3. 연립방정식의 해를 구하고, 행렬형태로 다시 적습니다.
P1=[1/k001]P^{-1}=\begin{bmatrix} 1/k & 0\\ 0 & 1 \end{bmatrix}.

그리고, 행렬 P=PβkϵP=P_{ \beta_k \to \epsilon }을 마찬가지 방법으로 구해봅시다.
1. 연립방정식 세우기
b1=P11e1+P12e2\bold b_1 = P_{11}\bold e_1+P_{12}\bold e_2
b2=P21e2+P22e2\bold b_2 = P_{21}\bold e_2+P_{22}\bold e_2
2. 열벡터 형태로 식 바꾸기.
[k0]=P11[10]+P12[01]\begin{bmatrix} k \\ 0 \end{bmatrix}=P_{11} \begin{bmatrix} 1 \\ 0 \end{bmatrix} + P_{12}\begin{bmatrix} 0 \\ 1 \end{bmatrix}

[01]=P21[k0]+P22[01]\begin{bmatrix} 0 \\ 1 \end{bmatrix}=P_{21} \begin{bmatrix} k \\ 0 \end{bmatrix} + P_{22}\begin{bmatrix} 0 \\ 1 \end{bmatrix}
3. 행렬로 표현.
P=[k001]P=\begin{bmatrix} k & 0\\ 0 & 1 \end{bmatrix}.

행렬 PP의 모양을 잘 관찰해봅시다. βk={[k0],[01]}={b1,b2}\beta_k = \left\{ \begin{bmatrix} k \\ 0 \end{bmatrix}, \begin{bmatrix} 0 \\ 1 \end{bmatrix} \right\}=\left\{ \bold b_1, \bold b_2 \right\}의 기저 벡터를 이어서 적은 형태이고, 이것을 일반적인 상황에서의 공식으로 적으면, 다음과 같습니다.

P:=Pβnewϵ=[b1b2bn]P:=P_{\beta_{new} \to \epsilon }=\begin{bmatrix} \bold b_1 & \bold b_2 &\cdots &\bold b_n \end{bmatrix} 그리고 Pϵβnew=P1P_{ \epsilon \to \beta_{new} } = P^{-1}

기저변환과 선형 변환 표현

주어진 선형 변환 T:WVT: W → V는 차원이 n인 벡터 공간 WW에서 차원이 m인 벡터 공간 VV로의 선형 변환이라고 가정합니다. 이 선형 변환 T은 "예전"의 기저βold\beta_{old}, γold\gamma_{old} 를 가지고 있는 V와 W에서 m×n 행렬 M으로 표현됩니다. 그리고 기저 변환은 "새로운" 기저 βnew\beta_{new}, γnew\gamma_{new}를 통해 정의됩니다.

표현의 편리함을 위해서, 새로운 좌표 표현을 옛 좌표표현으로 변환하는 행렬을 언제나 대문자 P,QP,Q로 나타내고, 옛 좌표 표현을 새 좌표 표현으로 변환하는 행렬을 1^{-1}을 사용해서, 언제나 다음과 같이 P1,Q1P^{-1}, Q^{-1}로 나타냅시다. 자세히 말해서: VVWW에서 정의되는 (새로운 좌표에서 예전 좌표로 변환하는) 좌표변환 행렬을 각각 P,QP,Q라 합시다. 그러면, 새로운 행렬 표현은 P1MQP^{-1}MQ입니다.

  1. 입력벡터 w\bold w의 새로운 기저에 대한 좌표 표현[w]new[\bold w]_{new}을 입력으로 받아서, T(w)T(\bold w)의 새로운 기저에 대한 좌표 표현 [T(w)]new[T(\bold w)]_{new}를 반환하는 행렬을 구하는 것이 목적입니다. 이 목적을 이루기 위해서는, 이전 기저에 대한 선형변환의 행렬 표현 MM을 이용해야 합니다.

  2. W의 "새로운" 기저에 대한 좌표 표현인 [w]new[\bold w]_{new}를 예전" 기저에 대한 좌표 표현인 [w]old[\bold w]_{old}로 바꿉니다. 이는 변환 행렬 QQ를 사용하여 Q[w]new=[w]oldQ[\bold w]_{new} = [\bold w]_{old}로 나타낼 수 있습니다.

  3. [w]old[\bold w]_{old}에 "예전" 기저에 대한 선형변환의 표현인 MM을 적용하면, T(w)T(\bold w)의 "예전" 기저에 대한 좌표표현 [T(w)]old[T(\bold w)]_{old}을 얻을 수 있습니다.

  4. 변환행렬 P1P^{-1}[T(w)]old[T(\bold w)]_{old}[T(w)]new[T(\bold w)]_{new}로 바꾸기 위해서, [T(w)]old=M[w]old=MQ[w]new[T(\bold w)]_{old}=M[\bold w]_{old} =MQ[\bold w]_{new}에 적용합니다. 그러면 다음을 얻습니다.
    P1MQ[w]new=[T(w)]newP^{-1}MQ[\bold w]_{new}=[T(\bold w)]_{new}

위 식은 모든 w\bold w에 대해서 성립하므로, 새로운 행렬 표현은 P1MQP^{-1}MQ입니다.

변환된 행렬 표현을 계산하는 방법

TT가 다음을 만족시키는 선형 변환이라고 합시다.
T([10])=[00],T([01])=[10]T\left( \begin{bmatrix} 1 \\ 0 \end{bmatrix} \right) = \begin{bmatrix} 0 \\ 0 \end{bmatrix}, \quad T\left( \begin{bmatrix} 0 \\ 1 \end{bmatrix} \right) = \begin{bmatrix} 1 \\ 0 \end{bmatrix}.

그리고 기저가 표준기저에서 βk={[k0],[01]}\beta_k = \left\{ \begin{bmatrix} k \\ 0 \end{bmatrix}, \begin{bmatrix} 0 \\ 1 \end{bmatrix} \right\}로 변환되었다고 합시다.
TT의 표준 행렬표현은 다음과 같습니다.
M=[0100]M=\begin{bmatrix} 0 & 1\\ 0 & 0\end{bmatrix}

TT의 새로운 기저 βk\beta_k에 대한 행렬 표현을 구하는 것은, ϵβk\epsilon\to \beta_k기저변환을 수행하는 것입니다. 기저 변환 공식을 그대로 적용해봅시다.

βold=γold={[k0],[01]}\beta_{old}=\gamma_{old}=\left\{ \begin{bmatrix} k \\ 0 \end{bmatrix}, \begin{bmatrix} 0 \\ 1 \end{bmatrix} \right\} 그리고 βold=γold={[10],[01]}\beta_{old}=\gamma_{old}= \left\{ \begin{bmatrix} 1 \\ 0 \end{bmatrix}, \begin{bmatrix} 0 \\ 1 \end{bmatrix} \right\}

새로운 기저에 대한 좌표를 예전 기저(표준기저)에 대한 좌표로 변환하는 행렬은 [k001]\begin{bmatrix}k & 0\\ 0 & 1\end{bmatrix}이고, 따라서

[T]βk=[k001]1[0100][k001][T]_{\beta_k} = \begin{bmatrix}k & 0\\ 0 & 1\end{bmatrix}^{-1}\begin{bmatrix} 0 & 1\\ 0 & 0\end{bmatrix}\begin{bmatrix}k & 0\\ 0 & 1\end{bmatrix}.

위의 식을 계산하면 [01/k00]\begin{bmatrix} 0 & 1/k \\ 0 & 0 \end{bmatrix}이 나오는지 검산해봅시다.

기저 변환의 유용성

기초선형대수학에서, 기저 변환은 표준기저가 아닌, 다른 기저를 사용해서 선형 변환을 행렬로 나타내는 도구로서 다루어집니다.

그렇다면, 왜 표준기저가 아닌, 다른 기저를 사용해서 선형 변환을 행렬로 나타내려고 하는 걸까요?

첫째로, 기저를 잘 선택해서 선형변환을 다시 표현하면 계산이 더욱 간편해집니다. 즉, 효율적인 계산과 다양한 응용을 위한 기반을 마련할 수 있습니다. 예를 들어, 고유 벡터로 이루어진 기저를 사용하여 선형 변환의 행렬 표현을 대각행렬로 표현할 수 있습니다. 이렇게 되면 행렬 거듭제곱(선형 변환의 합성을 반복하는 것)이 매우 간단하게 계산됩니다.

둘째로, 선형 변환의 중요한 특성을 행렬의 언어로 기술하는 근거가 됩니다. 예를들어서, 닮은 행렬 AABB의 대각 성분의 합은 동일하며, 이는 행렬의 대각합이 사실은 선형변환의 특성을 나타냄을 의미합니다.

셋째로, (기저를 잘 선택해서 어떤 가정을 만족하는 모든) 선형변환을 단순하게 표현할 수 있다는 사실 자체가 선형대수학의 중요한 내용입니다. 다시 말해, 선형변환을 잘 표현해 주는 기저의 존재성이 수학의 수많은 내용들을 증명하고 이해하는데 핵심이 됩니다.

스펙트럴 정리

프리즘을 통해서 빛의 스펙트럼을 관찰할 수 있듯이, 우리는 기저를 통해서 선형변환의 스펙트럼을 얻을 수 있습니다.

스펙트럴 정리(Spectral Theorem)는 함수해석학 및 선형대수학에서 중요한 정리 중 하나로, 특정 선형 변환은 그 특성을 잘 드러나게 하는 좋은 기저를 가진다는 내용입니다.

[특정 선형 변환이 뭘 말하는 건데?] 사실 제 생각에는 윗 문장에서 말하는 self adjoint는 실수 성분 대칭행렬에서 말하는 대칭의 의미를 (기저 및 행렬 표현 없이 대수적방식으로) 선형변환에 대해서도 정의하기 위해서 나온 개념으로 느껴집니다. 그 느낌이 뭔 느낌이냐하면 실수 대칭 행렬의 스펙트럴 정리와 같은 것을 얻기 위한 수학적으로 잘 세팅한 느낌이 든다는 것이죠. 그렇다고 그런 개념이 의미가 없다는 말을 하고 싶은건 아닙니다. 제 감상은, 벡터공간에서 무엇을 직교 기저라 할지 정의하는 것이 (그 공간에 내적을 주는 행위이고 내적은 무엇이 self adjoint인지를 결정하므로) 결국 어떤 선형연산자를 대칭이라 볼지 결정하는 행위라는 것입니다. 그래서 이 개념을 볼 때 이건 대칭행렬이지 이건 (켤레)전치행렬이지 이런 마음가짐으로 생각합니다. 근데 그렇다고 제 맘대로 문장에서 특정 선형변환 대신 대칭 선형변환이란 표현으로 바꾸어 써서는 안되는거긴 하거든요. 왜냐하면 대칭선형연산자라는 말이 실제로 특정 의미로 약속되어 있고, 그게 self adjoint란 용어랑 완전히 일치하진 않아요. 그렇다고 self adjoint 뜻을 여기에 기술할 필요는 없어 보여서 일단 이렇게 뭉뜽그려 표현해봅니다.

기저가 좋은 성질을 가진다고 함은, 벡터 공간의 구조를 잘 드러낸다는 의미입니다. 예를 들어, 좌표 평면에서 (1,0)(1, 0)(0,1)(0, 1)은 좌표 평면의 구조를 잘 나타냅니다.

선형 변환의 표현이 그 특성을 잘 드러낸다고 말한 것은, 선형 변환의 표현이 선형변환의 특성을 나타내는 정보(고유값)로 기술된다는 것과 더 나아서 그 표현이 대각화된 형태라는 것을, 그래서 그 표현과 관련된 연산이 매우 단순해 진다는 것을 의미합니다.

스펙트럴 정리는 다양한 분야에서 중요한 응용을 가지고 있습니다. 몇 가지 예시를 들면:

  1. 순수 수학: 표현론, 미분 기하학, 대수 기하학, 그리고 조화 해석학 등 다양한 분야에서 스펙트럴 정리를 활용합니다. 이를 통해 다양한 선형 변환과 기저의 구조를 이해하고 설명할 수 있습니다.

  2. 물리학: 스펙트럴 정리는 양자역학에서 힐베르트 공간의 개념과 관련이 있습니다. 양자역학에서의 관측 가능한 값들은 에르미트 연산자에 관련되며, 스펙트럴 정리는 이러한 연산자의 고유값이 실수임을 보장합니다.

  3. 데이터 분석: 데이터 분석에서 차원 축소, 패턴 인식, 그룹화 등 다양한 작업에 활용될 수 있습니다.

제가 가장 먼저 접한 스펙트럴 정리의 응용은 SVD였습니다. 특히, 공분산행렬을 자주 다루는 통계(회귀분석)공부에서 많이 다루었습니다.

누군가는, 스펙트럴정리를 당연하게 생각할지도 모르겠습니다. (엄청나게 자주 보니깐요) 그러나, 이 시리즈가 이 정리를 다시 (낯설게) 보는 기회가 되었으면 좋겠습니다.

스펙트럴정리에는 여러가지 버전이 존재합니다. 예를들어서, 다음의 정리 역시 스펙트럴 정리라고 불리며

실수 성분의 대칭 행렬은 항상 직교 대각화(orthogonal diagonalization)가 가능하다.

우리는 이 정리만을 이번 시리즈에서 증명해보고자 합니다.

profile
문제풀이를 즐김

0개의 댓글

관련 채용 정보