Vector Space

재연302·2022년 2월 2일
0
post-thumbnail
  • 썸네일 이미지는 Wikipedia에서 가져왔습니다.

Vector

x=(a,b)\vec{x} = (a,b)

일반적으로 Vector라는 것을 표현할 때에 우리는 위와 같이 좌표를 이용해서 표현하고 합니다.
Vector는 일반적으로 크기와 방향에 대한 정보를 모두 갖고 있으니 굉장히 다양한 물리량을 다룰 수 있어 편리하지요.
y=x1+x2\vec{y} = \vec{x_1}+\vec{x_2} 라는 덧셈 표현은 각각의 좌표축별로 값을 더하면 그 결과가 나오도록 정의되어 있어 다양한 연산을 하기에도 직관적인 계산 방법을 제공하고 있습니다.

y=[y1y2]=[x11+x12x21+x22]\vec{y} = \begin{bmatrix} y_1 \\ y_2 \end{bmatrix} = \begin{bmatrix}x_{11}+x_{12} \\ x_{21}+x_{22}\end{bmatrix}

한편, 덧셈이 가능하다는 특성으로부터 Vector를 이용하여 다양한 선형연산을 이끌어낼 수 있고, 우리는 이를 행렬(matrix) 라는 형태를 통해 쉽게 계산해내곤 합니다.

y=[y1y2]=[A11A12A21A22][x1x2]=Ax\vec{y} = \begin{bmatrix} y_1 \\ y_2 \end{bmatrix} = \begin{bmatrix}A_{11} && A_{12}\\ A_{21} && A_{22} \end{bmatrix} \begin{bmatrix} x_1 \\ x_2\end{bmatrix} = A\vec{x}

재밌는 사실은 xyz 같은 직교 좌표계에서의 좌표 표현 방식은 vector를 표현하는 하나의 방법에 불구하다는 것입니다. Vector는 꽤나 유연하게 (혹은 일반화되어) 정의되어 있고, 이를 통해 다항식, 혹은 다양한 함수들에 대해서도 Vector로 취급함으로써 연산을 보다 쉽게, 간결하게 쓸 수 있게 합니다.

이러한 유연하고도 일반화된 Vector를 담고 있는 공간을 Vector Space라고 하며 Vector Space를 알아야 Vector가 무엇인지 알 수 있습니다.

Field

Field는 Vector Space를 정의할 때 필요한 일종의 구조체 입니다. 우리말로는 Field를 '체' 라고도 부릅니다.

Field FF : Scalar 라는 대상들의 집합 2개의 연산자(operator) (+,)(+,\cdot) 에 대해 정의되어 있는 구조체

이때 연산자가 Scalar라는 대상들의 집합에 대해 아래의 성질들을 만족해야 비로소 연산자와 집합을 묶어 F:{scalar set}+F:\{\text{scalar set}\} + \cdot 를 Field라고 부를 수 있습니다.

  1. 덧셈 연산 ++에 대해서
  • α,βFα+βF\alpha,\beta \in F \rightarrow \alpha+\beta \in F : 덧셈 연산에 대해 닫혀 있는 것
  • α+0=α,αF,0F\alpha + 0 = \alpha, \forall \alpha \in F, 0\in F: 덧셈 연산에 대한 항등원의 존재
  • α+β=β+α\alpha + \beta = \beta + \alpha : 덧셈 연산에 대해 교환법칙의 성립
  • (α+β)+γ=α+(β+γ)(\alpha+\beta)+\gamma = \alpha +(\beta+\gamma): 덧셈에 대한 결합법칙의 성립
  • βF s.t. α+β=0 αF\exists \beta \in F \text{ s.t. } \alpha+\beta = 0 \ \forall \alpha \in F: 덧셈에 대한 역원의 존재 β=α\rightarrow \beta = -\alpha라고 표기합니다.
  1. 곱셈 연산 \cdot 에 대해서
  • α,βFαβF\alpha ,\beta \in F \rightarrow \alpha\cdot\beta \in F: 곱셈 연산에 대해 닫혀 있는 것
  • α1=α,αF,1F\alpha \cdot 1 = \alpha, \forall \alpha \in F, 1 \in F: 곱셈 연산에 대한 항등원의 존재
  • αβ=βα\alpha \cdot \beta = \beta \cdot \alpha : 곱셈 연산에 대해 교환법칙의 성립
  • (αβ)γ=α(βγ)(\alpha \cdot \beta)\cdot \gamma = \alpha \cdot(\beta\cdot\gamma): 곱셈 연산에 대해 결합 법칙의 성립
  • βF s.t. αβ=1 αF{0}\exists \beta\in F \text{ s.t. } \alpha \cdot \beta = 1 \ \forall \alpha \in F-\{0\}: 곱셈에 대한 역원의 존재 β=α1\rightarrow \beta = \alpha^{-1}로 표기합니다.

역원의 존재를 위 성질에서 정의함으로써

  • α+(β)=αβ\alpha + (-\beta) = \alpha - \beta
  • α(β1)=α/β\alpha \cdot (\beta^{-1}) = \alpha / \beta

뺄셈과 나눗셈도 실은 역원을 활용한 덧셈, 곱셈 연산에 지나지 않음을 알 수 있습니다.

실수 위에 정의된 Field를 R+\R+\cdot 으로 표기하고 복소수 위에 정의된 Field를 C+\Complex+\cdot으로 표기합니다.
(아랫글부터는 간단하게 R,C\R, \Complex로 Field를 적었습니다)

Vector Space

이제 Vector Space를 정의해봅시다!
Vector Space는 Field가 정의되면 그 위에서 정의되는 공간입니다.

Scalar 정의Field 정의Vector Space 정의\text{Scalar 정의}\rightarrow \text{Field 정의}\rightarrow \text{Vector Space 정의}

XF=(X,F)X_F=(X,F) : Field FF 위에서 정의된 Scalar 집합과 +,+,\cdot 연산을 상속 받아 재정의되는 공간 XX, 이를 Vector Space XX over Field FF라고 부른다.

Vector Space는 일종의 Field의 Child Class 같은 존재 입니다. Scalar에 대해 정의되던 ++ 연산을 Vector 기리의 덧셈으로 재정의하고, Scalar 끼리의 곱을 의미하던 \cdot을 Vector와 Scalar 간의 곱셈으로 재정의 되지요.

이렇게 재정의 된 연산은 아래의 성질을 만족해야만 비로소 Field FF위에 정의된 어떠한 공간 XX가 Vector Space가 됩니다.

  1. 덧셈 연산 ++에 대해서
  • x1,x2Xx1+x2Xx_1, x_2 \in X \rightarrow x_1+x_2\in X
  • x1+x2=x2+x1x_1+x_2 = x_2+x_1
  • 0X s.t. x+0=x,xX\exists 0 \in X \text{ s.t. } x+0=x, \forall x \in X
  • y s.t. x+y=0 xX\exists y \text{ s.t. } x+y = 0 \ \forall x \in X
    • y=xy = -x라고 표기
  1. 곱셈 연산 \cdot에 대해서
  • αF,xXαxX\alpha \in F, x\in X \rightarrow \alpha \cdot x \in X
  • α,βF,xX(αβ)x=α(βx)\alpha,\beta \in F, x\in X \rightarrow (\alpha\cdot\beta)\cdot x = \alpha\cdot(\beta\cdot x)
  • αF,x1,x2Xα(x1+x2)=αx1+αx2\alpha \in F, x_1,x_2 \in X \rightarrow \alpha \cdot (x_1+x_2) = \alpha\cdot x_1 + \alpha\cdot x_2
  • 1F s.t 1x=x, xX\exist 1 \in F\text{ s.t } 1\cdot x=x, \ \forall x \in X

어떠한 Field FF를 정의하고 그 위에 Vector Space XX를 정의하면 다음과 같이 쓸 수 있습니다

(X,F)=XF(X,F) = X_F

가령 실수체 위에 정의된 Vector Space는 (X,R)=XR(X,\R)=X_\R이라고 쓸 수 있겠습니다.

그래서 Vector가 무엇이냐

Field와 Vector Space를 정의하기까지 재밌는 사실은 Vector가 구체적으로 무엇인지 특정하지 않았다는 것입니다.

응당 Field라고 불리우면 연산자가 만족해야할 성질, Vector Space라고 불리우면 연산자가 만족해야할 성질들만 나열하고 1) Vector가 도대체 무엇인지, 2) Vector를 어떻게 적어야하는 것인지, 알려주지 않는다는 것입니다. 심지어 덧셈과 곱셈이 만족해야할 성질만 알려주고 그러한 연산의 결과가 어떤 을 가져야 하는지도 알려주지 않고 있습니다.
이 지점에서 Vector와 Vector 연산이 굉장히 유연하게, 다재다능하게 사용될 수 있는 가능성이 열립니다.

가령 실수체 R\R 위에서 정의된 nn차원 Space Rn\R^n의 요소를 다음과 같이 표기해봅시다.

[α1αn]Rn\begin{bmatrix} \alpha_1 \\ \vdots \\ \alpha_n \end{bmatrix} \in \R^n

++은 요소별로 덧셈하고, \cdot은 곱해지는 Scalar를 모든 요소에 곱하도록 정의하면, 위 Vector Space의 연산자가 만족해야하는 8가지 성질을 모두 만족하게 되고, 따라서 Rn\R^n이 Vector Space가 됩니다.

마치 상속받은 interface를 만족하도록 연산자를 구현하고 그 방식에 따라 Vector Space가 만들어지는 셈이지요.

이러한 우리가 아는 다양한 수학적인 요소들로 확장해볼 수 있습니다.

다양한 Vector Space

실수체 R\R 위에서 다양한 Space를 정의해봅시다.

다항식으로 Vector Space를!

nn차 다항식(Polynomial)은 다음과 같이 쓸 수 있습니다. 그리고 이러한 nn차 다항식들을 요소로 갖고 있고 +,+,\cdot이 정의된 공간 Fn[s]F_n[s] 가 있다고 해봅시다.

αn1sn1++α1s+α0\alpha_{n-1} s^{n-1} +\dots+\alpha_1s+\alpha_0

이러한 nn차 다항식에 대해서 ++은 각 차수별로 덧셈하고, \cdot 은 모든 차수에 대해서 Scalar를 곱하게 하면 Vector Space의 연산자가 만족해야할 성질을 모두 만족하게 됩니다.

따라서 위와 같은 nn차 다항식을 요소로 갖는 어떠한 Space Fn[s]F_n[s]는 Vector Space가 되고 다항식은 Vector가 됩니다.

연속 함수들로 Vector Space를!

임의의 정의역 폐구간 [t0,t1][t_0,t_1] 에서 연속 함수들을 요소로 갖고 +,+,\cdot이 정의된 공간 C[t0,t1]C[t_0,t_1]가 있다고 해봅시다.

++에 대해서는

(f+g)(t)f(t)+g(t)(f+g)(t) \coloneqq f(t)+g(t)

함수 Level에서의 덧셈 연산을 Field level에서의 덧셈 연산을 이용해서 정의

\cdot에 대해서는

(cf)(t)cf(t)(c \cdot f)(t) \coloneqq c\cdot f(t)

함수 Level에서의 곱셈 연산을 Field level에서의 곱셈 연산을 이용해서 정의

위와 같이 정의하면 Vector Space의 연산자가 만족해야할 성질을 모두 만족하게 됩니다. C[t0,t1]C[t_0,t_1] 은 Vector Space가 되고 이에 속하는 연속함수는 Vector가 됩니다.

Subspace

vector space를 정의했다면 그보다 작은 공간을 잡아볼 수 있습니다.

임의의 Field FF 위에서 정의되는 Vector Space XFX_F 가 있다고 해봅시다. 어떠한 set YYXX의 부분집합이고(YXY\subset X), +,+, \cdot 연산자를 XFX_F에서 정의된 연산자 그대로 사용한다고 하였을 때, 이 두 연산자에 대해서 닫혀있으면, YFY_FXFX_FSubspace라고 불립니다.

+,+,\cdot에 대해 닫혀있다.

  • y1,y2Y,y1+y2Yy_1, y_2 \in Y, \rightarrow y_1+y_2 \in Y
  • yY,αY,αyYy \in Y, \alpha \in Y, \rightarrow \alpha \cdot y \in Y

Subspace 끼리의 연산

Subspace도 기본적으로 집합으로 볼 수 있습니다. 집합 내 element들에 대해 +,+,\cdot 이 정의된 집합인 셈이지요. 그렇기 때문에 집합 연산이 Subspace 연산에서도 가능합니다.

  • XFX_F: 임의의 Field FF에 대해서 정의된 vector space
  • Y,ZY,Z: XFX_F의 subspace

1) Sum of Subspaces, Y+ZY+Z

Y+Z={xx=y+z, yY,zZ}Y+Z =\{x | x=y+z, \ y\in Y, z\in Z\}

2) Union of Susbspaces, YZY \cup Z

YZ={xxY or xZ}Y\cup Z=\{x | x \in Y \text{ or } x \in Z \}

3) Intersection of Subspaces YZY \cap Z

YZ={xxY and xZ}Y\cap Z=\{x | x \in Y \text{ and } x \in Z \}

4) Direct Sum of Subspaces YZY \bigoplus Z
만일 아래의 두가지 조건을 만족하면

  • X=Y+ZX = Y+Z
  • YZ={0}Y\cap Z = \{0\}

XXY,ZY,Z의 direct sum(직합)이라고 불리웁니다.

Direct Sum이 중요한 이유는 만일 XXY,ZY,Z의 direct sum이라면

xX=y+z where yY,zZx \in X = y+z \text{ where } y \in Y, z \in Z

라고 쓸 때 xx를 결정짓는 y,zy,z가 유일하기 때문입니다.

이러한 유일성은 생각보다 쉽게 보일 수 있습니다.

x=y+z=u+wx = y+z = u+w, y,uY,z,wZy,u \in Y, z,w \in Z 라고 해봅시다

xx=yu+zw=0yu=wzy,uYyuYw,zZwzZYZ={0}yu=wz=0y=u,w=zx-x = y-u+z-w = 0\\ \rightarrow y-u = w-z\\ \because y,u \in Y \rightarrow y-u \in Y \\ \because w,z \in Z \rightarrow w-z \in Z \\ Y \cap Z = \{0\} \rightarrow y-u=w-z=0\\ \therefore y=u, w=z

마치 2차 평면에서 한 지점의 x축, y축 값이 유일하게 결정되는 이유도 2차 평면이 xx축과 yy축의 Direct Sum으로 구성되기 때문으로 볼 수 있습니다.

마무리하며

선형대수학 치팅시트 의 첫번째 글로 Vector와 Vector Space에 대해 정리해보았습니다.

기본적으로 우리가 아는 Scalar들끼리의 +,+,\cdot 연산을 통해서 어떠한 성질을 만족시켜가며 공간에서의 연산으로 점차 확장/정의해나가는 과정이 Vector와 Vector Space를 정의해나가는 과정으로 볼 수 있습니다.

우리가 아는 Scalar들끼리의 +,+,\cdot 연산을 잘 활용하여 그때 그때 필요한 수학적 요소들(다항식, 함수 그 자체 등등)에 대해 연산자를 잘 구현해준다면 직관적인 Vector 연산들을 다양한 것들에 적용해볼 수 있습니다.

profile
마감을 지키는 사람이 되자.

0개의 댓글