제 2장: 벡터 공간과 선형 변환
2.1 벡터 공간 (Vector Space)
벡터 공간은 벡터의 집합과 그 벡터들 사이의 연산이 특정한 성질을 만족하는 구조이다. 벡터 공간은 두 가지 주요 연산, 즉 벡터의 덧셈과 스칼라 곱을 사용하여 정의된다. 벡터 공간의 주요 성질은 다음과 같다:
덧셈의 폐쇄성: 벡터 공간의 두 벡터를 더한 결과도 같은 벡터 공간에 속해야 한다.
스칼라 곱의 폐쇄성: 벡터 공간의 벡터에 스칼라를 곱한 결과도 같은 벡터 공간에 속해야 한다.
덧셈의 결합 법칙: $ \mathbf{u} + (\mathbf{v} + \mathbf{w}) = (\mathbf{u} + \mathbf{v}) + \mathbf{w} $
덧셈의 교환 법칙: $ \mathbf{u} + \mathbf{v} = \mathbf{v} + \mathbf{u} $
덧셈의 항등 원소: 존재하는 벡터 $ \mathbf{0} $가 있어 $ \mathbf{u} + \mathbf{0} = \mathbf{u} $
덧셈의 역원: 벡터 $ \mathbf{u} $에 대해 $ -\mathbf{u} $가 존재하여 $ \mathbf{u} + (-\mathbf{u}) = \mathbf{0} $
스칼라 곱의 결합 법칙: $ \alpha (\beta \mathbf{v}) = (\alpha \beta) \mathbf{v} $
스칼라 곱의 분배 법칙: $ \alpha (\mathbf{u} + \mathbf{v}) = \alpha \mathbf{u} + \alpha \mathbf{v} $
벡터의 분배 법칙: $ (\alpha + \beta) \mathbf{v} = \alpha \mathbf{v} + \beta \mathbf{v} $
스칼라 곱의 단위 원소: 1을 곱했을 때 벡터가 변하지 않음, 즉 $ 1 \cdot \mathbf{v} = \mathbf{v} $
2.1.1 벡터 공간의 예
유클리드 공간: 2차원 또는 3차원 공간에서의 벡터는 유클리드 벡터 공간을 형성한다.
함수 공간: 모든 연속 함수의 집합은 벡터 공간을 이룬다.
행렬 공간: 모든 $ m \times n $ 행렬의 집합은 벡터 공간을 이룬다.
2.2 선형 변환 (Linear Transformation)
선형 변환은 벡터 공간에서 벡터를 다른 벡터로 변환하는 함수이다. 선형 변환은 두 가지 성질을 만족해야 한다:
덧셈에 대한 보존: $ T(\mathbf{u} + \mathbf{v}) = T(\mathbf{u}) + T(\mathbf{v}) $
스칼라 곱에 대한 보존: $ T(\alpha \mathbf{v}) = \alpha T(\mathbf{v}) $
여기서 $ T $는 선형 변환, $ \mathbf{u} $와 $ \mathbf{v} $는 벡터, $ \alpha $는 스칼라이다.
2.2.1 행렬로서의 선형 변환
선형 변환은 행렬을 사용하여 표현할 수 있다. 예를 들어, $ 2 \times 2 $ 행렬 $ \mathbf{A} $는 다음과 같은 선형 변환을 정의할 수 있다:
여기서 $ \mathbf{x} $는 2차원 벡터이다. 행렬 $ \mathbf{A} $가 주어지면, 모든 벡터 $ \mathbf{x} $에 대해 선형 변환 $ T $를 적용할 수 있다.
2.2.2 선형 변환의 예
회전: 2차원 평면에서 원점을 중심으로 회전하는 변환은 선형 변환이다.
확대/축소: 스케일링 변환은 벡터의 길이를 변형하는 선형 변환이다.
전단: 평면에서 벡터의 방향을 변경하지 않고 위치를 이동시키는 변환이다.
2.3 벡터 공간의 기저 (Basis)와 차원 (Dimension)
2.3.1 기저 (Basis)
벡터 공간의 기저는 그 벡터 공간의 모든 벡터를 유일하게 표현할 수 있는 벡터의 집합이다. 기저는 두 가지 주요 성질을 가진다:
선형 독립성: 기저를 구성하는 벡터들은 서로 선형 독립적이어야 한다.
공간 생성: 기저의 모든 벡터의 선형 조합으로 벡터 공간의 모든 벡터를 표현할 수 있어야 한다.
예를 들어, 2차원 유클리드 공간의 기저로는 $ \mathbf{e}_1 = \begin{pmatrix}1 \ 0\end{pmatrix} $와 $ \mathbf{e}_2 = \begin{pmatrix}0 \ 1\end{pmatrix} $를 사용할 수 있다.
2.3.2 차원 (Dimension)
벡터 공간의 차원은 기저를 구성하는 벡터의 수이다. 즉, 기저의 벡터 개수이다. 예를 들어, 2차원 유클리드 공간의 차원은 2이다.
2.4 C++ Eigen3를 이용한 선형 변환
다음은 Eigen3를 사용하여 선형 변환을 구현하는 예제이다.
2.4.1 선형 변환 예제
이 코드는 행렬 $ \mathbf{A} $와 벡터 $ \mathbf{x} $를 정의하고, $ \mathbf{A} $에 의해 변환된 벡터 $ \mathbf{y} $를 출력한다. 이 예제는 선형 변환이 행렬 곱셈으로 어떻게 표현되는지를 보여준다.
2.5 요약
이 장에서는 벡터 공간과 선형 변환의 기본 개념을 소개하고, 기저와 차원의 개념을 설명하였다. 또한, Eigen3를 사용하여 벡터와 행렬 연산을 구현하는 방법을 알아보았다. 다음 장에서는 고유값과 고유벡터, 그리고 선형 변환의 대각화에 대해 다룰 것이다.
Last updated