아핀 공간과 벡터 공간의 차이점은 무엇일까?

 

먼저 벡터를 표현할 때는 기본 과정이 존재한다.

그림 1

벡터는 그림 1과 같이 원점을 기준으로 방향과 크기를 나타낸 것이다.

 

그림 2

하지만 그림 2에서는 원점에서 벗어나 이동을 하였기 때문에 벡터라고 할 수가 없다.

그래서 이러한 이동에 대한 개념을 포괄해서 설명할 수 있도록 나온 것이 '아핀 공간'이다.

 

다음은 영어로 된 아핀 공간의 간략한 정의이다.

"an affine space is what is left of a vector space after you've forgotten which point is the origin"

간단하게 해석을 하면, "어떤 점이 원점인지 잊어버린 후 벡터 공간에 남겨진 것은 아핀 공간이다." 라는 의미이다.

 

"어떤 점이 원점을 잊어버렸다"는 것은 그림2와 같이 원점이 정의되어 있지 않다는 것이고,

"벡터 공간에 남겨진 것은 아핀 공간이다"라는 것은 원점에서 벗어났기 때문에 이러한 벡터를

"벡터 공간"이 아닌 "아핀 공간"이다.라고 설명을 하는 것 같다.

 

벡터 공간은 어떠한 필드안에서 스칼라를 가져오고, 가져온 것을 조합하여 벡터를 만드는 형태이다.

아핀 공간은 A라는 점과 V라는 벡터 공간이 존재하는데, 점은 하나가 아닌 여러 점들이 표시되어 있다.

여기서 벡터 공간에 대한 의미는 앞서 말한 벡터 공간의 정의와 같기 때문에 간단하게 점이라는 것이 하나가 추가됐다고 이해하면 되고,

 

아핀 공간은 점으로 구성된 집합이지만 점으로만 이루어진 것이 아닌 벡터 공간이 추가로 존재한다고

생각할 수 있다.

 

이로써 아핀 공간과 벡터 공간의 차이점은 공간의 정의는 같지만, 두 점의 합이 정의가 되는지 안되는 지인 것 같다.

그림 1

 

그림 1을 보면 기존 벡터에 열 기반 정방행렬을 통해 변화된 기저벡터를 볼 수 있다.

 

 

여기서 ac는 기존 (1,0)의 기저 벡터에서 변화된 벡터이고,

bd는 (0,1)의 기저벡터에서 변화된 벡터이다.

간단하게 아래와 같이 생각하면 될 것 같다.

여기서 기저 벡터 중심으로 해석을 하게 되면 세로 부분으로 보았을 때,

ac와 bd 각각의 기저 벡터가 어떻게 변화되는지 나타내는 것인지 알 수 있다.

 

따라서 Matrix는 항상 열 기반으로 분리해서 확인할 수가 있다고 볼 수 있고,

Matrix라고 하는 것은 Vector2가 두개 있는 구조체라고 선언을 하여도 크게 문제가 되지 않는다.

 

그러므로 열 기반 정방 행렬에서 각 열을 벡터로 취급할 때 해당 벡터가 가지는 의미는 

(a,b)라는 벡터와 (b,d)라는 벡터의 기둥을 가지고 있는 행렬이라고 표현할 수 있다고 생각한다.

 

 

Matrix를 표현을 할 때는 열 기반으로 표현을 한다.

 

행 기반 행렬 형태에서는 곱셈의 결과가 단 하나의 값으로 나오며, 이는 '내적'이라 한다.

열 기반 행렬 형태에서는 어떻게 해야될까?

식 1

식1에 나와있는 행렬의 곱셈 결과는 다음과 같이 행 기반 형태로 나오게 된다.

 

식1의 형태를 열 기반 형태로 나오게 하려면

전치행렬을 통해 뒤집어 준 상태에서 곱셈을 해주면 된다.

열 기반 행렬로 곱셈을 진행하면 반대 순서로 적용이 되는 이유는

전치행렬로 뒤집은 상태에서 곱셈을 해주어서 그런 것이라고 생각한다.

1. 행렬 연산은 왜 선형 변환에 1:1로 대응되는가?

행렬 연산은 선형성을 가지는 벡터 함수와 동일한 계산 방법을 가지고 있기 때문이다.

 

  • 선형성을 가지는 벡터 함수
    f(x, y) = (ax + by, cx + dy)

 

  • 행렬 연산

 

+ Recent posts