5.1. 공간과 기저
\(ℝ^n\) 에서 정의된 벡터들의 집합 \(\{ S \}\) 가 존재 할 때, \(S\) 는 다음의 규칙을 따른다고 가정합니다.
1). 영벡터 \(0\) 은 \(S\) 에 속합니다.
2). \( ( u, v ) ∈ S => u + v ∈ S\) ( \(S\) 는 덧셈 연산에 닫혀 있다. )
3). \( u ∈ S , c\) 는 임의의 상수 \(=> c * u ∈ S\) ( \(S\) 는 스칼라 배 연산에 닫혀 있다. )
이를 만족하는 집합 \(S\)를 \(ℝ^n\) 의 “부분공간”(Subspace)이라고 표현합니다.
\(( v_1 , \ldots , v_k ) ∈ ℝ^n\) (\(v\) 는 벡터) \(=> span( v_1 , \ldots , v_k )\) 는 \(ℝ^n\) 의 부분공간입니다.
( \(span\)은 생성원 집합입니다. 2.4절에 정의되어 있습니다. )
\(span(v_1, v_2, \cdots, v_k)\)를 \(v_1, v_2, \cdots, v_k\)에 의해 “생성된 부분공간”(Spanned Subspace)이라고 표현합니다.
\(m \times n\)행렬 \(A\)가 존재 할 때,
1). \(A\)의 행에 의해 생성된 \(ℝ^n\)의 부분 공간 \(row(A)\)를 \(A\)의 “행 공간”(Row Space)이라고 표현합니다.
2). \(A\)의 열에 의해 생성된 \(ℝ^n\)의 부분 공간 \(col(A)\)를 \(A\)의 “열 공간”(Col Space)이라고 표현합니다.
3). 동차 연립일차방정식 \(Ax = 0\)의 해로 구성된 \(ℝ^n\)의 부분 공간 \(null(A)\)를 \(A\)의 “영 공간”(Null Space)이라고 표현합니다.
추가로 \(A\)의 원소 \(a_{ij}\) 가 \(a_{ij} \in ℝ\) 일 때, 동차 연립일차방정식 \(Ax = b\)에 대해 반드시 다음 세 가지 중 하나가 성립합니다.
I). 해가 존재하지 않는 경우
II). 유일한 해가 존재하는 경우
III). 무수히 많은 해가 존재하는 경우
\(ℝ^n\) 의 부분공간 \(S\)가 존재 할 때,
1). \(S\)의 속하는 벡터들이 \(S\)의 생성원에 포함된다.
2). \(S\)의 속하는 벡터들이 서로 일차독립 이다.
위의 두 가지 조건을 만족한다면, 해당 벡터들의 집합을 부분공간 \(S\)의 “기저”(Basis)라고 정의합니다.
위에 조건에 따라 \(ℝ^n\) 의 기본 단위벡터 \(e_1, e_2, \ldots, e_n\)도 기저가 됨을 보일 수 있습니다.
이때, 기본 단위벡터를 특별히 “표준 기저”(Standard Basis)라고 표현합니다.
행렬 \(A\)의 행공간, 열공간, 영공간에 대한 기저를 구하는 방법을 쉽게 풀어쓰면 다음과 같을 것입니다.
일단 \(A\)의 기약 행사다리꼴 \(R\)을 먼저 구합니다.
\(row(A)\)와 \(col(A)\)의 기저는 행렬 \(R\)의 영이 아닌 행벡터와 영이 아닌 열벡터를 이용하여 기저를 구할 수 있고,
\(Rx = 0\)을 일반적으로 자유변수와 선행변수로 값을 구한 후 선행변수와 벡터의 일차결합 방식으로 \(null(A)\)의 기저를 구할 수 있습니다.
5.2. 차원과 좌표
\(ℝ^n\)의 부분공간 \(S\)가 정의 될 때, \(S\)에 대한 임의의 두 기저는 같은 벡터의 개수를 가집니다.
생각해보면, 둘은 조건에 따라 독립인데 서로 개수가 다르다면, 자명하지 않은 종속 관계가 나올 것이기 때문입니다.
\(ℝ^n\)의 부분공간 \(S\)가 정의 될 때,
\(S\)에 대한 임의의 한 기저에 속하는 벡터의 개수를 \(S\)의 “차원”(Dimension)이라고 정의하고, \(dim(S)\) 라고 표현합니다.
영벡터 \(0\) 은 기저 조건에 맞지 않아, 기저를 가지지 않고 \(dim(0) = 0\)이 됩니다.
같은 행렬 \(A\)에서 행공간과 열공간은 같은 차원을 가지기 때문에, \(dim(row(A)) = dim(col(A))\)가 성립합니다.
행공간 또는 열공간의 차원 \(dim(row(A)) = dim(col(A))\) 을 행렬 \(A\)의 “계수”(Rank)라고 정의하고, \(rank(A)\)로 표현합니다.
( 즉, \(rank(A) = dim(row(A)) = dim(col(A))\) 이고, \(rank(A^T) = rank(A)\) )
또한, 영공간의 차원 \(dim(null(A))\) 을 행렬 \(A\)의 퇴화차수(nullity)라고 정의하고, \(nullity(A)\)로 표현합니다.
( 즉, \(nullity(A) = dim(null(A))\) )
그렇다면, 행렬 \(A_{m \times n}\) 에 대해서 \(rank(A) + nullity(A) = n\)이고, 이를 “계수정리”라고 표현합니다.
가역행렬 \(A_{n \times n}\)이 정의 될 때, 동치인 9 가지 명제들을 나열 한 것입니다.
1). \(\forall b \in \mathbb{R}^n : \exists ! Ax = b\)
2). \(Ax = 0\)의 해는 모두 자명한 해입니다.
3). \(A\)을 기약 행사다리꼴로 변환하면 항등행렬 \(I\) 이 됩니다.
4). \(A\)는 기본행렬의 곱으로 표현가능합니다.
5). \(rank(A) = n\)
6). \(nullity(A) = 0\)
7). \(A\)의 열벡터와 행벡터들은 서로 열벡터 끼리 일차독립, 행벡터 끼리 일차독립입니다.
8). \(A\)의 열벡터와 행벡터들은 모두 \(\mathbb{R}^n\) 을 생성합니다.
9). \(A\)의 열벡터와 행벡터들은 모두 \(\mathbb{R}^n\) 에 대한 기저입니다.
\(S\)는 \(\mathbb{R}\)의 부분공간이고 \(B = \{v_1, v_2, \ldots, v_k\}\) 를 \(S\)의 기저라고 정의한다면,
\(v \in S : v = \Sigma^{k}_{i=1} c_iv_i\) 인 벡터 \(v\)를 정의 할 수 있고,
\(c_1, c_2, \ldots, c_k\)를 \(B\)에 관한 \(v\)의 “좌표”(Coordinate) 라고 표현하고,
열벡터 \([v]_B = \begin{bmatrix} c_1 \\ c_2 \\ \vdots \\ c_k \end{bmatrix}\) 를 \(B\)에 관한 \(v\)의 “좌표벡터”(Coordinate Vector)라고 표현합니다.
5.3. 선형변환
기존에 사용한 개념인 \(Ax = b\) 꼴의 경우 사실 잘 생각 해보면,
정의역 \(x\)와 치역 \(b\)를 잇는 \(A\)가 함수의 화살표 같은 느낌으로도 생각할 수 있을 것입니다.
선형변환을 정의하기 전에 먼저, 변환에 개념에 대해 정의해야 합니다.
어떠한 벡터 \(x\)가 \(\mathbb{R}^n\) 공간에 속하는 경우 ( 즉, \(x \in \mathbb{R}^n\) ),
어떠한 벡터 \(b\)가 \(\mathbb{R}^m\) 공간에 속하는 경우 ( 즉, \(b \in \mathbb{R}^m\) ) 일 때,
둘을 변환하는 \(m \times n\) 행렬 \(A\)을 정의 해볼 수 있습니다.
이때, 행렬 \(A\)를 “변환”(transformation)이라고 표현하고, \(T_A\)로도 표현할 수 있습니다.
( 즉, \(T_A(x) = b\) 를 성립합니다. )
선형변환의 본질은 벡터의 덧셈과 스칼라 배의 연산을 보존하면서 차원 만을 바꾸는 변환을 의미합니다.
다음 두 가지 정의를 만족하면,
변환 \(T : \mathbb{R}^n -> \mathbb{R}^m\) 을 “선형변환”(Linear Transformation) 이라고 표현합니다.
1). \(\forall ( u, v ) \in \mathbb{R}^n : T( u + v ) = T( u ) + T( v )\)
2). \(\forall u \in \mathbb{R}^n : T(cu) = cT(u)\) (\(c\)는 임의의 상수)
선형변환 \(T : \mathbb{R}^n -> \mathbb{R}^m\) 이 존재 할 때, 다음 식을 만족합니다.
\(m \times n\) 행렬 \(A = [T(e_1) | T(e_2) | \cdots | T(e_n)]\) 이 정의 될 때, \(T = T_A\) 이고,
또한, \(T\)는 행렬 변환으로도 표현할 수 있으며, 행렬 \(A\)를 \(T\)의 “표준행렬”(Standard Matrix)이라고 표현하고,
\([T]\)로 표현 할 수 있습니다.
정리하자면, 행렬 \(A_{m \times n}\) 에 대한 선형변환 \(T_A : \mathbb{R}^n -> \mathbb{R}^m\) 은 행렬을 변환 함수로 대응하는 것이고,
역으로 \(T : \mathbb{R}^n -> \mathbb{R}^m\) 에 대한 \([T]\)는 변환 함수를 행렬에 대응하는 것이라고 볼 수 있습니다.
그리고, \([T_A] = A = [T]\) 가 성립하고, \(T = T_{[T]} = T_A\) 가 성립합니다.
어떤 두 선형변환 \(T : \mathbb{R}^m -> \mathbb{R}^n\) , \(S : \mathbb{R}^n -> \mathbb{R}^p\) 이 정의 될 때,
두 변환을 “합성”(composition) 할 수 있습니다. 두 선형 변환을 합성하면, \(S \circ T\) 로 표현 가능합니다.
물론 \(T\)의 공역과 \(S\)의 정의역이 같은 공간으로 정의 되어야 합성 가능 한 조건이 붙습니다.
( 그렇다면, \(v \in \mathbb{R}^m\) => \(S \circ T (x)\) <=> \(S( T( x )\) ) 가 성립 할 것입니다. )
선형변환에 본질에 따라 \(T\)와 \(S\)는 사실 각각 \(n \times m\) 행렬 과 \(p \times n\) 행렬 이므로
두 행렬의 곱셈( 합성 ) 역시 행렬이 되고, 이는 합성한 결과물도 선형변환이라 표현 할 수 있음을 의미합니다.
선형변환은 덧셈과 곱셈의 연산 결과들을 보존하면서 차원 만을 건드리는 방식이라 정의 하였습니다.
그렇다면, 덧셈과 곱셈의 역원이 존재하듯 선형변환도 역원에 대해 생각해 볼 수 있습니다.
어떤 두 선형변환 \(T, S\)가 존재 하고, 두 선형변환은 \(S \circ T\) 로 합성 가능하다고 정의 할 때,
\(S \circ T\) 가 항등변환 \(I\)라면, \(S\)와 \(T\)는 서로 “역변환”(Inverse Transformation) 관계라고 볼 수 있습니다.
“항등변환”(Identity Transformation)에 대해 설명하지 않았지만,
비슷한 개념을 많이 접했기 때문에 이해가 안되지는 않을 거라 생각합니다.
항등변환은 정의역의 값과 결과 값이 완전히 똑같은 변환 입니다. ( 즉, 정의역과 치역이 일대일 동치 )
눈치채신 분도 있겠지만, 항등변환 \(I\)는 항등행렬의 형태이고,
역변환이 존재하는 선형변환을 “가역적”(invertible)이라고 표현합니다.
( 역시 동일하게, 선형변환의 행렬식이 \(0\)이 아닐 때 가역적 입니다. )
선형변환 \(T : \mathbb{R}^n -> \mathbb{R}^n\) 가 가역으로 정의 될 때,
이 때, \([T^{-1}] = [T]^{-1}\) 가 성립합니다. (즉, 역변환의 표준 행렬은 표준 행렬의 역행렬과 동치입니다. )
이미 행렬의 성질에서 다뤘던 행렬의 결합법칙을 선형변환에서도 동일하게 적용 할 수 있습니다.
세 선형변환 \(R, S, T\)가 순서대로 합성 가능하다고 할 때,
\(R \circ S \circ T\) <=> \(R \circ (S \circ T)\) <=> \((R \circ S) \circ T\) 가 성립합니다. ( 증명은 표준행렬로 바꾸면 알 수 있을 것입니다. )