이번 강의에선 새로운 벡터 공간인 행렬 공간(Matrix spaces)에 대해 배워보도록 하겠다.
1. 행렬 공간(Matrix spaces)
이번 강의에서 배울 행렬 공간(Matrix spaces)은 어떤 의미에선 새로운 벡터 공간(vector space)이라고 할 수 있다. 여기서 말하는 행렬 공간이라고 하는 것은 3x3크기의 모든 정방행렬(square matrix)을 의미한다. 이를 M이라 칭하자.
그런데 한 가지 이상한 생각이 들 것이다. 분명 행렬 공간이라고 했는데, 이것을 왜 벡터 공간이라고 하는가? 행렬과 벡터는 엄연히 다른데도 말이다.
이들은 벡터 공간(vector space)이라고 할 수 있는 이유는 벡터공간에 대한 조건을 만족하기 때문이다. 이 행렬들 끼리 선형 결합(Linear combination)을 해도 같은 공간에 위치한다. 즉 행렬 M1, M2가 있다고 가정했을 때, 임의의 스케일(scale) 상수 c1, c2를 각각 곱하여 그들끼리 더해도 그 결과 행렬은 여전히 원래의 M과 같은 차원의 공간에 위치하게 된다.
만약 M1과 M2를 곱한다면 어떻게 될까? 여전히 같은 행렬 공간에 위치하게 될까? 행렬끼리 곱하게 되면 공간은 달라진다. 따라서 아래와 같이 행렬끼리의 곱셈은 다른 공간을 만들게 된다.
그런데 행렬끼리 선형 결합(Linear combination)이라는 연산을 했을 때 여전히 같은 공간에 위치하는 것은 어찌보면 당연하다. 이는 역 연산이 가능한 것이기 때문이다. 임의의 상수를 곱하고 다른 행렬과 덧셈 연산을 한 것은 반대로 그 행렬을 빼고 곱한 상수만큼 나눠주면 간단히 원래의 행렬로 돌아올 수 있기 때문이다. 벡터의 선형 결합 연산과 지난 강의에서 이를 시각화 한 것들을 살펴본다면 머리속으로 쉽게 그릴 수 있을 것이다. 따라서 식 (2)와 같이 선형 결합을 했을 때 그 결과는 여전히 원래의 행렬과 같은 차원에 위치하게 된다.
2. 행렬 공간의 기저(basis)와 차원(dimension) 그리고 부분 공간(subspace)
3x3크기의 행렬 M은 마찬가지로 부분 공간(subspace)을 가진다. M의 부분 공간은 아래와 같은 행렬들을 가질 수 있다.
3x3행렬의 부분 공간들
- 3x3 대칭 행렬(Symmetric Matrix)
- 3x3 상삼각행렬(Upper triangular Matrix)
- 3x3 대각 행렬(Diagonal Matrix)
여기서 우리가 알고싶은 것은 위의 부분 공간 행렬들의 기저(basis)는 어떤 것인지, 차원(dimension)은 무엇 인지, 또한 원래의 행렬 M의 차원은 무엇인지 등이다. 하나씩 알아보자.
- Basis of M:
우리는 3x3크기의 모든 행렬을 M으로 표현하기로 했다. 이들의 기저(basis)는 무엇일까? 먼저 기저에 대한 정의를 다시 한번 알아보자.
- 기저 벡터들은 선형 독립(Linearly independent)이어야 한다.
- 기저 벡터들의 조합을 통해 해당 공간내에 어떠한 벡터라도 만들 수 있어야 한다.
기저를 알기 위해선 먼저 차원을 알아야 한다. 이전 강의에서 우리는 차원은 행렬의 rank와 같다고 배웠다. 그러나 rank는 행렬 안의 벡터들이 정의할 수 있는 차원을 의미하는 것이다. 즉 M이 3x3일 때 rank가 3이라면 M의 row나 column vector들 끼리의 조합으로 표현할 수 있는 공간의 차원을 의미하는 것이다.
그러나 여기서 말하는 행렬 공간의 차원은 이와는 약간 다르다. 3x3크기로 한정된 행렬 M을 하나의 벡터로 간주하고 그 행렬이 표현할 수 있는 공간을 알고자 하는 것이다. 따라서 3x3크기의 M에 대한 차원은 M을 구성하고 있는 원소의 개수가 될 것이다. 그러므로 M의 차원은 9가 된다.
M의 차원이 9이므로 M의 기저 역시 9개가 될 것이다. M의 기저는 아래와 같다.
총 9개의 기저 행렬이 식 (4)에 나와있다. 특히 이렇게 1과 0으로만 구성된 기저를 Standard basis라 한다. 위의 기저 벡터의 선형 조합을 통해 우리는 3x3크기 행렬의 어떠한 형태라도 만들 수 있다. 결국 행렬 M은 실질적으로 9차원의 공간이라고 할 수 있다. 9차원의 숫자들을 column vector 대신 행렬로 표현했다고 생각하면 편할 것 같다.
- Symmetric matrix as a subspace of M:
대칭 행렬(Symmetric matrix)은 M의 부분 공간이며 Symmetric의 앞 글자를 따서 S라고 하자. 아래와 같이 대각선 원소들을 기준으로 아래와 위의 원소들이 같은 값을 가지는 형태를 띈다.
우리는 앞서 (4)와 같이 모든 3x3행렬에 대한 기저를 나열했었다. 그렇다면 과연 대칭 행렬 S에 M의 standard basis중 몇 개가 포함될까? 정답은 3개이다. 3개의 대각 행렬에 대한 요소들, 즉 식 (4)에서 M1, M5, M9의 기저 행렬들이 S의 basis에 포함된다. 그렇다면 나머지 기저 행렬들은 어떤 것이 있을까? 아래의 식 (6)은 대칭 행렬의 기저들을 나열한 것이다.
식 (5)에서 b, c, e는 각각 같은 값을 가지고 있기 때문에 S4, S5, S6과 같은 기저가 존재한다. 기저가 6개라는 말은 결국 대칭행렬 S의 차원은 6이라는 뜻이다. 위의 기저들의 조합을 통해 대칭 행렬 공간에 존재하는 어떠한 행렬도 만들 수 있다.
- Upper triangular matrix as a subspace of M:
상삼각행렬(Upper triangular matrix)역시 M의 부분 공간이며 Upper의 앞 글자를 따서 U라고 하자. 아래와 같이 대각 원소들을 기준으로 위쪽에만 원소들이 존재하는 형태를 띈다.
식 (4)의 원래 M의 기저들 중 어떤 것들이 U의 기저에 포함될까? 간단하다. 아래와 같이 각 원소에 대응되는 기저들만 나열하면 된다. 식 (4)에의 M1, M2, M3, M5, M6, M9들이 U의 기저에 포함된다.
마찬가지로 6개의 기저를 가지고 있다는 것은 상삼각행렬의 차원이 6임을 의미한다. 식 (7)의 기저들의 조합을 통해 상삼각행렬 공간에 존재하는 어떠한 행렬도 만들 수 있다.
- Diagonal matrix as a subspace of M:
마지막으로 살펴볼 M의 부분 공간(subspace)은 대각 행렬(Diagonal matrix)이다. 대각 행렬은 위에서 살펴봤던 두 개의 부분 공간 행렬들로 정의할 수 있다. 즉 이들의 교집합을 보는 것이다. 이들의 교집합은 결국 아래와 같이 대각행렬의 원소인 a, d, f만 남게 된다.
대각행렬은 3개의 원소만 있기 때문에 차원이 3이다.
대각행렬은 대칭 행렬 S와 상삼각행렬 U의 교집합(Intersection), 즉 S에도 있고 U에도 있는 원소들로 정의할 수 있었다. 그렇다면 합집합(Union)은 어떨까? S에 있거나 혹은 U에 있는 원소들로 정의하는 합집합 말이다.
위의 식 (10)과 같이 두 행렬(혹은 벡터)의 합집합은 성립이 될까? 정답은 성립이 되지 않는다. 이는 9차원의 공간에 존재하는 6차원의 Line(column이 아닌 row vector로 간주)으로 생각해 볼 수 있는데, 이 둘은 다른 방향으로 존재한다. 따라서 애초에 이 둘을 함께 놓을 수가 없다. 따라서 이 합집합은 부분 공간이 아니다.
그렇다면 S와 U를 이용하여 부분 공간을 정의하려면 어떻게 해야할까? 둘을 더하면 된다.
식 (11)은 S와 U의 조합이다. 즉 S의 원소들과 U의 원소들을 더하여 조합을 한 것이다. 이렇게 대칭행렬과 상삼각행렬의 조합을 통해 모든 3x3 크기의 모든 행렬 M을 만들 수 있다. 따라서 두 행렬의 조합은 M의 부분 공간이 되며 S와 U의 조합의 차원은 9가 된다.
3x3크기의 행렬 M에 대한 부분 공간(subspace)을 차원(Dimension)의 측면에서 정리해보면 다음과 같다.
- dim(S) = 6
- dim(U) = 6
- dim(S ∩ U) = 3
- dim(S + U) = 9
- dim(S)+dim(U) = dim(S ∩ U) + dim(S + U)
대칭 행렬의 차원은 6, 상삼각행렬의 차원은 6이다. S와 U의 교집합, 즉 대각 행렬의 차원은 3이고 S와 U의 조합에 대한 차원은 9다. 여기서 대칭 행렬S와 상삼각행렬 U의 차원의 합은 6+6=12이다. 그런데 S와 U의 교집합인 대각행렬과 S와 U의 조합 행렬에 대한 차원의 합도 역시 3+9=12로 같다. 이것이 의미하는 것이 무엇일까? 바로 지금까지 했던 부분 공간을 가지고 정의하는 차원이나 기저 등에 대한 연산이 자연스럽다는 증거이다.
3. 벡터 공간의 예시(선형대수와 미분방정식의 관계)
벡터 공간(행렬 공간)에 대한 예를 한 가지 더 들어볼까 한다. 벡터 공간이지만 벡터를 가지지 않는 형태인데, 미분방정식(Differential Equation)에 관한 내용이다. 아래의 미분방정식을 보자.
식 (12)의 미분방정식의 해는 다음과 같은 것들이 될 수 있다.
해를 대입하여 풀어보면..
식 (13)은 식 (12)의 해 공간(solution space)를 나타낸다. 이는 다시말하면 식 (13)의 해들은 식 (12)의 미분방정식(Differential equation)의 영공간(Null space)을 나타내는 것이다. 식 (13)의 각 해들(cos, sin, e, ...)은 null space의 각각의 해에 해당한다.
그렇다면 위의 미분방정식의 null space의 완전해(complete solution)은 어떻게 정의할 수 있을까? e는 잠시 잊어두고 sin과 cos만 가지고 아래와 같이 완전해를 정의할 수 있다.
식 (15)를 우리는 벡터 공간(vector space)이라고 할 수 있다. 이를 벡터공간이라고 할 수 있는 이유는 미분방정식 (12)의 해에 대한 solution space를 cos과 sin에 각각 상수를 곱하고 더한 선형 결합(Linear combination)으로 표현할 수 있기 때문이다. 여기서 cos과 sin은 기저(basis)이다. 식 (15)의 cos과 sin의 선형 조합은 미분방정식 (12)의 해공간(solution space)인 null space를 형성(span)하며 이들은 독립(independent)이다.
결과적으로 우리는 미분방정식 (12)를 Ax=0의 식으로 볼 수 있으며, 식 (15)를 null space를 정의하기위한 special solution이라고 할 수 있다. Special solution은 두 개이다. 따라서 차원(dimension)도 역시 2이다. 사실 차원이 2일 수밖에 없는 이유는 미분방정식이 2차(second order)이기 때문이다.
그렇다면 기저는 이들 뿐일까?
$e^{ix}$, $e^{-ix}$ 도 기저가 될 수 있다. 기저는 무수히 많이 존재한다. 여기서 우리는 선형미분방정식(Linear differential equation)과 선형대수(Linear algebra)사이의 연결점을 찾을 수 있다.
※ 선형미분방정식(Linear differential equation)을 푼다는 것은 방정식의 해공간(solution space)에 대한 기저(basis)를 찾는 것이다. 한 가지 중요한 것은 미분방정식의 sin, cos과 같은 기저들을 벡터라고 부를 수 있다는 것이다. 이것이 가능한 것은 이 기저들 각각에 상수를 곱하고 더한 선형 조합(Linear combination)이 가능하기 때문이다. 결국 선형 대수(Linear algebra)의 기저(basis), 차원(dimension), span 등과 같은 개념들이 m by n 행렬들에서 쓰이는 것 보다 더 넓은 역할을 하는 것이다. |
4. 마치며
이번 포스팅에선 3x3 크기의 행렬 공간에 대해 알아보고 이들의 부분 공간에 대해 알아보았다. 또한 각 행렬 공간 및 부분 공간들의 기저와 차원에 대해서 알아보았다. 이러한 행렬 공간과 기저, 차원 등에 대한 개념들을 미분방정식과 연결시켜 보다 폭넓은 이해를 할 수 있었다. 이어지는 다음 포스팅에서는 Rank 1행렬에 대해 알아보도록 하자.