공간과 차원(Space&Dimension)
공간과 차원(Space&Dimension)
공간은 '가능한' 모든 가능성이다. 차원은 공간을 이루는 정보의 개수이다.
선형대수학의 3가지 문제
선형대수학의 주요 문제를 이해하고 이것을 해결하는 법에 대해 생각할 때, 공간과 차원에 대한 이해는 필수적이다. 이 포스팅은 선형대수학의 주요 문제들을 짚어보며 공간과 차원의 의미를 이야기할 것이다. 선형대수학의 주요 문제는 3가지로 요약할 수 있다. 먼저 첫 번째는 선형 연립방정식의 풀이이다.
1. 선형 연립방정식
위와 같은 형식의 방정식을 선형 연립방정식이라 한다. 선형 연립방정식이라고 정의하는 이유는 위 시스템은 x성분의 선형결합으로 구성된 여러 방정식의 결합으로 이루어졌기 때문이다. 행렬 A는 벡터 x의 기저 벡터의 가중치의 묶음이고, 벡터 b는 벡터 x의 기저 벡터의 선형결합으로 표현된 값의 집합이다. 만약 벡터의 묶음인 행렬 A를 확장(Span)한 공간에 벡터 b가 존재한다면, 위 선형연립방정식의 해가 존재한다. 선형대수학에서 이 방정식의 해가 존재하는 경우를 역행렬에 관하여 정리한다.
역행렬에 관한 정리
행렬 A의 역행렬이 존재한다면 해 x가 존재한다(A의 확장에 b가 표함 된다). 이를 물리적으로 이해하기 위해 A행렬의 기하학적 기능에 대해 알아야 한다. 앞서 '선형' 연립방정식을 강조했었다. 선형성을 만족하는 '시스템'인 이 방정식에서 입력과 출력 사이의 관계는 항상 선형성을 만족해야 한다. 즉, 선형 연립방정식에서 가능한 변환은 Rotating과 Scaling 이 두 가지뿐이다.
만약, 입력이 기저벡터의 조합인 벡터공간이라면, 선형 시스템은 이 벡터공간을 회전시키거나, 그 크기 자체를 바꿀 수 있다. 만약 출력공간이 입력공간으로부터 어떠한 정보도 소실되지 않은 채 입력공간의 모든 정보를 담고 있다면 당연히 출력공간으로부터 입력공간을 찾을 수 있을 것이다. 이때 입력공간을 찾도록 돕는 행렬이 A의 역행렬이다. 또한 출력공간으로부터 입력공간을 찾을 수 있다는 논제 자체가 선형 시스템의 해가 존재한다는 의미이므로, A의 역행렬이 존재하면 해 x가 존재한다고 결론 내릴 수 있다.
Dimension&Rank
그렇다면 A의 역행렬이 존재하는 조건은 무엇일까? 위에서 강조했듯이 A가 입력공간의 모든 정보를 보존하면 된다. 여기서 정보의 개수가 차원(Dimension)을 의미하므로, A가 입력공간의 차원을 보존하면 된다는 결론을 얻을 수 있다. 이때, 변환 A에 의한 출력공간의 차원을 Rank(퇴축을 고려한 실질적 차원)라고 한다. 만약 A의 퇴축으로 인해 출력공간의 차원이 입력공간의 차원보다 작다면 이 시스템의 Rank는 입력공간의 Dimenstion보다 작다. 따라서 역행렬에 관한 정리에서 주요 내용은 Rank를 입력공간의 차원과 일치시키는 A의 조건들이다. 따라서 A의 역행렬이 존재하는 조건은 A를 구성하는 벡터들을 의미하는 각각의 행들이 모두 선형독립(Linear Independent)하여 A의 Rank와 Dimension이 일치하는 경우이다.
역행렬 존재 조건
결론적으로 역행렬의 존재 조건은 다음과 같이 3가지로 정리할 수 있다. 첫 번째는 A가 정방행렬(square matrix)이어야 한다. 여기서 정방행렬의 정의는 행과 열의 개수가 같은 행렬이다. A가 정방행렬이어야 하는 이유는, 만약 행이 열보다 많은 rectangular matrix는 과결정(overdetermined) 상태 이므로, 역행렬이 존재할 수 없기 때문이다. 반대로, 열이 행보다 많을 때 행은 열에서 정해진 전체공간을 벗어날 수 없으므로, 반드시 하나 이상은 선형종속이다. 이것은 일전이 이야기했던 '각각의 행들이 모두 선형독립이다'라는 명제에 어긋나므로, 역행렬이 존재할 수없다. 두 번째는 A의 행렬식이 0이 아닌 비특이(nonsingular) 행렬이어야 한다. 세 번째는 위에서 언급했듯이 A의 열벡터들이 모두 선형독립이어야 한다.
Singular&Non-Singular
비특이행렬의 정의는 행렬식이 0이 아닌 행렬이다. A 행렬의 기능은 회전과 크기변환이라고 이야기했었다. 이때 A는 회전과 크기변환에 대한 정보를 담고 있다. 예를 들면 입출력 벡터 또는 공간의 크기 비율을 담고 있다. 만약 A의 행렬식이 0이라면, 출력공간은 입력공간에 비해서 차원이 줄어든다는 의미(퇴축)이다(정육면체 모양의 함수공간에서 높이가 0이 되면 함수공간의 차원은 3차원에서 2차원으로 줄어든다). 이것은 분명히 역행렬이 존재할 수 없음을 의미하는 것이며 기하학적으로도 그렇다. 면의 정보를 제거하여 점으로 만드는 것은 쉬우나, 점을 원래 면으로 만드는 것은 불가능하다는 점을 생각해 보면 이해할 수 있다. 반대로 생각해서 만약 A의 행렬식이 0이 아니라면, 어떠한 축도 0에 수렴하지 않기 때문에 역행렬이 존재함을 알 수 있다. 따라서 비특이행렬은 역행렬이 존재한다.
특이행렬과 비특이행렬은 각각 동차해(Homogeneous solution)와 특성해(Particular solution)과 깊은 관련이 있다. 이러한 해의 분류는 이후 시스템의 출력을 분석할 때 시스템에 의한 출력과 입력에 의한 출력을 구분하는데 유용하다. 이에 대한 설명은 Differential Equation 또는 Linear System and Signal카테고리에서 찾아보길 바란다.
2. 추정문제&회귀(Regression)
만약 A의 확장에 b가 포함되지 않는 경우엔 어떻게 문제를 해결해야 할까? 즉, 시스템이 불능일 때 어떻게 '가장 정답에 근접한' 해를 찾을 수 있을까?
이에 대한 기본 아이디어는 정사영과 연관이 있다. 예를 들어, A의 확장을 평지라고 하고, b를 평지에 비스듬하게 세워진 막대라고 할 때, 막대의 정사영과 막대 끝부분을 연결하는 벡터가 막대 끝부분에서 평지로 연결하는 모든 벡터 중에서 가장 짧은 벡터일 것이다. 이때, 이 벡터의 길이는 '오차'이다. 즉, 추정문제에서 정사영은 오차를 최소화하는 해를 찾는데 유용하다. 선형대수학은 Inner product로 정의되는 내적과 이것의 연산을 편하게 해주는 Orthonomal 벡터의 정리를 이용해 추정문제를 해결한다. 이를 활용하는 방법들은 이 포스팅의 주요 내용이 아니니 넘어가도록 하겠다.
3. 고유치-고유벡터 문제
주어진 행렬 A에 대해 위 등식을 만족하는 스칼라 람다와 벡터 x는 무엇일까? 이때, 선형변환의 결과는 x의 방향을 변화시키지 않고, 크기만 바꾼다. 즉, 특정 방향(고유벡터)에서 시스템은 상수 이득(고윳값)처럼 동작하는 것이다. 이를 구하기 위한 식을 특성방정식(characteristic equation)이라고 하며, 이는 아래와 같다.
위 식에서 벡터 x는 0이 아니므로, 다음과 같이 표현할 수 있다.
A라는 변환을 하나의 시스템으로 이해할 때, 이 시스템을 해석하는데 필요한 개념이 고유치와 고유벡터이다. 특히 고유치와 고유벡터의 기하학적 의미는 시스템 해석적인 측면에서 매우 중요하다. 뿐만 아니라, 고유치와 고유벡터를 이용한 행렬함수 계산은 미분방정식과 선형대수학의 연결점인 케일리-헤밀턴 정리의 근간이 된다. 후에 고유치는 시스템의 극점을 찾는데 결정적인 역할을 하고, 시스템의 견실성을 판단하거나 시스템의 안정성을 판단하는데 매우 중요한 역할을 한다. 개인적으로, 나는 고유치-고유벡터 문제가 선형대수학의 꽃이라고 생각한다.
마치며...
이번 포스팅의 중심 질문은 '해가 존재하는 조건은 무엇인가?'였다. 이 질문을 중심으로 공간과 차원의 정의를 시스템적인 측면에서 살펴보았다. 또한 추가적으로 해가 존재하지 않는 경우에 문제를 해결하는 대략적인 아이디어와 시스템을 해석하는 도구인 고윳값에 대해 가볍게 정리하였다. 선형대수학 입문자들에게 도움이 되었으면 한다. 수고했다.