최근 수정 시각 : 2018-10-08 15:53:50

벡터

파일:나무위키+유도.png   다른 뜻에 대한 내용은 벡터(동음이의어) 문서를 참조하십시오.
대수학
{{{#!folding [ 펼치기 · 접기 ]이론
기본대상 방정식 · 부등식 · 산술
수 체계 실수 · 복소수 · 사원수
다루는 대상과 주요토픽
대수적 구조
군(Group) 군의 작용 · 실로우 정리
환(Ring)
체(Field) 갈루아 이론
대수(Algebra)
선형대수학 벡터 · 행렬 · 선형사상 · 가군(Module)
정리
대수학의 기본정리 · 나머지 정리
다항식 · 유클리드 호제법 · 대수 · 노름
분야와 관심대상
대수학
대수기하학 대수다양체 · 스킴 · 에탈 코호몰로지 · 모티브 · 사슬 복합체
대수적 정수론
대수적 위상수학
가환대수학
표현론
호몰로지 대수학
}}}||

선형대수학
{{{#!folding [ 펼치기 · 접기 ] 선형대수학의 대수적 구조
가군(모듈) 벡터 공간 내적 공간
선형대수학의 이론
기본 대상 벡터 · 행렬 · 선형 변환
선형 연산자 기본 개념 행렬곱 · 단위행렬 · 역행렬크라메르 공식 · 가역행렬 · 행렬식 · 주대각합
선형 시스템 기본행연산기본행렬 · 가우스-조르당 소거법 · RREF
주요 정리 차원 정리 · 가역행렬의 기본정리 · 선형대수학의 기본정리 · 스펙트럼 정리
기타 제곱근행렬
벡터공간의 분해 상사 · 고유치 문제 · 케일리-해밀턴 정리 · 대각화 · 삼각화 · 조르당 분해
벡터의 연산 내적 · 외적 · 다중선형형식
내적공간 그람-슈미트 과정 · 수반 연산자
다중선형대수 텐서 · 텐서곱
}}}||


Vector

1. 정의2. 연산
2.1. 덧셈2.2. 상수배2.3. 스칼라곱2.4. 벡터곱2.5. 텐서곱2.6. 델
3. 여담

1. 정의

기초적인 의미에서 벡터는 도형이 아니라 방향과 크기로 결정되는 으로 정의한다. 물론 이것조차도 수학적으로 엄밀한 정의는 아니다. '방향'과 '크기'로 정의하는 것은 '물리학'적인 의미에 가깝다.[1] 왜냐하면 수학적으론 방향은 내적 공간에서나 말할 수 있기 때문. 여기서 벡터라 함은, 공간이란 벡터공간 내부에 정의된 벡터, 즉 기하학적인 벡터. 일반적으로 표기 기호로는 볼드체를 사용하여 V\mathbf{V}로 많이 쓴다. 화살표를 사용하여 a \vec{a} 라 쓰기도 하는데, 앞서 나온 것과 같이 방향이 존재하지 않을 수 있는 벡터를 다루는 고급 이론으로 갈수록 이런 기호를 보기 힘들다. 교수님마다 표현방식이 달라진다. 화살표, 볼드체, 글자 아래에 물결표 등 등
수학에서는 그저 '벡터 공간'(Vector space)[2]의 원소가 바로 벡터다. 참고로 벡터 공간의 종류가 엄청나게 다양하기 때문에 물리적 직관을 함부로 적용하기가 힘들다. 함수들로 이루어진 벡터공간도 존재하고,[3] 벡터 공간으로 이루어진 벡터 공간도 존재한다. 즉, 이런 경우 함수가 곧 벡터가 되고 벡터공간이 곧 벡터가 된다. 물리학은 그나마 현실세계의 끈을 부여잡고 있기 때문에 어느 정도 직관이 통하지만, 그런 게 없는 수학에서는 상식이란 게 전혀 통하지 않는다. 확장 개념으로 텐서가 존재한다. 사실 벡터 자체가 행렬의 일부분으로 행벡터, 열벡터로 나뉘어 있다...라는 건 물리학얘기고 수학에선 행렬도 벡터의 일종에 불과하다.

벡터공간의 수학적인 정의는 아래와 같으며, 이 벡터공간의 원소를 벡터라 한다.

(field)[4] F </math>에 대해, 집합 V V 가 "체 FF위의 벡터 공간(vector space)"이라 함은, V V F F F F -가군(module)인 것이다. 이를 풀어쓰면 다음과 같다. 그리고 이 때, FFVV의 스칼라라고 한다.
  • (가환군)V V 위에 + + 가 정의[5]되어 있으며, (V,+) \left( V,+\right) 는 가환(아벨군)이다. 즉 다음의 4가지 성질을 만족한다.
    임의의 u,v,wV u , v, w\in V 에 대하여
    • 덧셈에 대한 항등원 존재: V V 에는 특정한 원소 0 0 이 존재하여 모든 vV v \in V 에 대하여 v+0=0+v=v v + 0 = 0 + v = v
    • 덧셈에 대한 역원 존재: V V 의 임의의 원소 v v 에 대하여 v+u=u+v=0 v + u = u + v = 0 을 만족하는 uV u \in V 가 존재한다.
    • 교환법칙 성립: u+v=v+u u + v = v + u
    • 결합법칙 성립: (u+v)+w=u+(v+w) \left( u + v \right) + w = u + \left( v + w \right)
  • (스칼라 배)임의의 체 F에 대하여 함수 f:F×VV,f(a,v)=:av f:F\times V\rightarrow V, f(a, v)=:a\cdot v(스칼라 배)가 존재하고 임의의 a,bFa,b\in F, u,vVu, v\in V에 대해 다음이 성립한다.
    • a(u+v)=au+av a\cdot\left(u+v\right)=a\cdot u+a\cdot v
    • (a+b)v=av+bv \left(a+b\right)\cdot v=a\cdot v+b\cdot v
    • (ab)v=a(bv) \left(ab \right)\cdot v=a\cdot\left(b\cdot v \right)
    • 1v=v 1\cdot v=v

벡터공간 VV의 원소를 벡터(vector)라고 하는데 특히 덧셈 항등원00 영벡터(zero vector)라고 한다.

다시 말해 '어떤 상수들의 집합'과 '벡터공간으로 정의할 집합'이 있는데 '어떤 상수들' 간에 덧셈과 곱셈이 잘 정의되고, 이들에 대해 결합법칙과 교환법칙이 성립하고, 항등원과 역원이 있으며,(다만 0에 대한 역원은 제외) '벡터공간으로 정의할 집합' 내에서 덧셈이 잘 정의되고, 이에 대해 결합법칙과 교환법칙이 성립하고, 항등원과 역원이 있으며, 상수들과의 곱셈이 잘 정의되고, 이에 대해 분배법칙과 결합법칙이 성립하면 모조리 벡터 공간이 된다. 더 쉽게 줄이면, 집합인데, 수 집합은 아니고[6][7], 수집합과 관계는 잘 정의되어 있는 집합. 그 집합의 원소가 벡터다.

2. 연산

2.1. 덧셈

대응되는 스칼라 값끼리 더해서 새로운 벡터를 만들 수 있다. 교과서에서 흔히 두 벡터 중 하나를 평행이동시켜 평행사변형을 그려서 설명하는 것이 이 과정이다.

A+B=(a1+b1, a2+b2, a3+b3) \mathbf{ A } + \mathbf{ B } = \left( a_{ 1 } + b_{ 1 },\ a_{ 2 } + b_{ 2 },\ a_{ 3 } + b_{ 3 } \right)

2.2. 상수배

일반적인 곱셈. 그냥 각 항에 스칼라를 곱해주면 된다. 그래서 설명대로 흔히 scalar multiplication 이라고 부른다.

kA=(ka1,k a2,k a3) k \mathbf{ A } = \left( ka_{ 1 }, k\ a_{ 2 }, k\ a_{ 3 } \right)

2.3. 스칼라곱

AB=a1b1+a2b2+a3b3 \mathbf{ A } \cdot \mathbf{ B } = a_{ 1 }b_{ 1 } + a_{ 2 }b_{ 2 } + a_{ 3 }b_{ 3 }

dot product
두 벡터를 연산했을 때, 결과가 스칼라이다. 학부 수준에서의 내용은 내적 문서 참조. < , > 로 표기하기도 한다.

여기까지가 고등학교 교육과정 내에서 가르치는 내용이다.

2.4. 벡터곱

cross product
달리 외적이라고 불리며, 연산결과가 벡터[8]다. 연산 과정에서 뺄셈이 들어가므로 교환법칙 따윈 성립 안 하며, 굳이 자리를 바꾸고 싶으면 벡터 하나의 부호를 바꿔야 한다. 종종 오른손 손가락 3개로 벡터 간 외적 계산 결과를 이해시키곤 한다.

A×B=B×A=(a2b3a3b2,a3b1a1b3,a1b2a2b1) \mathbf{A} \times \mathbf{B} = - \mathbf{B} \times \mathbf{A} = ( a_2 b_3 - a_3 b_2 , a_3 b_1 - a_1 b_3 , a_1 b_2 - a_2 b_1 )

여담으로, 성분 개수에 구애받지 않는 스칼라곱과는 달리 성분이 3개인 3차원 벡터에서 깔끔하게 계산이 되므로[9] 보통 3차원 벡터에서 많이 쓰인다. 3차원에서 벡터곱을 통해 나온 결과벡터는 곱하기된 벡터 A, B 모두에 수직이다. 이걸 사용하는 가장 대표적인 개념이 역학에서의 토크(회전력)과 전자기학에서의 자기력.[10][11]

또한 벡터곱의 특성상 동일한 벡터끼리의 연산결과로 영벡터가 나온다.

A×A=0\mathbf{A} \times \mathbf{A} = \mathbf{0}

2.5. 텐서곱

(기호 ⊗, outer product/kronecker product/tensor product)

연산결과가 텐서이며, 두 벡터 간의 행렬곱셈이다. 행렬곱셈의 특성상 당연히 이것도 교환법칙을 씹어먹는다. 만약 두 벡터 간의 순서가 바뀌면 원래 텐서의 전치행렬이 된다. 주의할 점은, 앞쪽 항의 행렬을 시계 방향으로 90도 돌려서 계산해야 한다는 것이다.[12] 물론 텐서 개념이 등장한 뒤에야 다루거나, 텐서의 수학적이고 엄밀한 정의에서 나오거나, 많이 추상화된 대수학에서 쓰이는 개념이다.

AB=[a1a2a3][b1b2b3]=[a1b1a1b2a1b3a2b1a2b2a2b3a3b1a3b2a3b3]\mathbf{A} \otimes \mathbf{B} = \begin{bmatrix} a_1 \\ a_2 \\ a_3 \end{bmatrix} \begin{bmatrix} b_1 & b_2 & b_3 \end{bmatrix} = \begin{bmatrix} a_1 b_1 & a_1 b_2 & a_1 b_3\\ a_2 b_1 & a_2 b_2 & a_2 b_3 \\ a_3 b_1 & a_3 b_2 & a_3 b_3 \end{bmatrix}

2.6.

벡터의 미분 연산이다. 델(연산자) 문서 참조.

3. 여담

자연계 과목을 선택한 고등학생들을 괴롭히는 수학 중 하나지만, 배운 후에는 사기 스킬유용한 개념. 힘들게 풀었던 기하문제들을 단숨에 풀 수 있다. 내적 역시 두 선이 이루는 각을 구할 때 사용하면 너무도 편하다.

특히 (고교 교육 과정 밖이지만) 외적을 배우면 벡터 문제가 아닌 공간도형이나 기하 문제 등에서 유용하게 쓸 수 있다. 예를 들어 이 삼각형의 면적을 구하는 문제는 외적을 계산할 줄 안다면 한 모서리를 기준으로 두 변을 벡터로 만들어 외적을 한 후 크기만 구해주면 끝난다.[13][14] 이 외에도 한 평면에 존재하는 두 벡터를 던져주고 그 평면의 법선벡터를 빠르게 구하거나 3차원에서 한 점으로부터 직선까지의 거리를 구할 수도 있다. 두 꼬인 직선 사이의 거리도 구하는 방법이 있다.

대학 과정의 수학, 물리학, 공학[15]에서 자주 이용되는 선형대수학이 벡터를 다루는 과목이나, 그때의 벡터는 기하학적인 것이 아니라 위에서 말했듯이 좀 더 일반화된 것이다. 당장 학부 수준의 물리학이나 미분방정식에서부터 함수를 벡터로 다루는 법을 배우게 된다. 이는 편미분방정식푸리에 해석에서 매우 중요한 역할을 하니 이공계열 대학생들이라면 확실히 익혀두자. 특히나 물리학의 경우 양자역학이란 게 힐베르트 공간에서 함수를 벡터 취급해서 이러저러한 걸 하는 방식으로 이뤄져있기 때문에 일반화된 벡터라는 개념을 확실히 몸에 익혀놓아야 된다.

대학교 미적분학이나 그 이상의 과정에서는 벡터를 미분하거나 적분하는 일도 많이 있다. 이를 다변수 해석학, 간단히 벡터 해석학이라 한다.

이과생들만의 가장 자주 보게 되는 용어라고도 한다. std::vector[16]


[1] 사실 물리학적으론 여기서 반사에 대해 변위처럼 변환된다라는 조건이 필요하다. 그렇지 않으면 유사벡터(pseudovector)라 부른다.[2] 벡터에 대해 정의된 각종 연산법칙(벡터 간의 덧셈과 스칼라배)이 정의되는 공간.[3] 그래도 양자역학 등 물리에서 쓰이기는 한다. 통신, 신호처리에서도 신호공간이라는 걸 사용해서 함수를 벡터 취급 하는데, 벡터를 투영해서 신호에 들어있는 잡음을 제거하고, 두 벡터 사이의 거리를 측정해서 신호가 얼마나 닮았는지 측정하는 등 열심히 써먹는다.[4] 아주 간단히 말해 사칙연산이 상식대로 성립하는 것.[5] u,vVu+vVu, v \in V \Rightarrow u + v \in V[6] 물론 체 F 스스로도 자기자신을 스칼라로 갖는 벡터공간이 되긴 하지만 1차원 벡터를 굳이 쓸 필요가 없다.[7] 벡터공간을 새로운 수집합으로 정의하는 경우도 있다. 실수체위의 2차원 벡터공간이 복소수체가되고 실수체는 유리수체위의 무한차원 벡터공간이 되는 식[8] 이건 문제가 있는데, 제대로 된 벡터 둘을 외적하면 유사벡터(Pseudovector)가 나온다. 차이점은 유사벡터는 반사시키면 변위와 다르게 변환된다. 예를 들어 원점에 대칭시키면 변위는 부호가 바뀌지만 유사벡터는 그대로이다.[9] 이 경우 결과값도 3차원 벡터가 나온다. 서로 다른 n개에서 2개를 뽑는 경우를 생각해보면 n이 3일때만 3가지가 나온다.[10] 플레밍의 왼손법칙에서, F, B, I의 방향이 모두 수직인 걸 알 수 있다. 실제로 F의 방향은 B와 I의 외적으로 정의된다.[11] 내적과 외적이라는 이름은 사원수군에서 왔다. 실수부가 0인 두 사원수를 곱해서 실수부와 허수부를 각각 구해 보면, 실수부의 모양은 내적과 거의 비슷하고, 허수부의 모양은 외적과 거의 비슷하다. 이에 대해 내적과 외적이라는 이름이 각각 붙었는데, 그것이 벡터의 경우로도 전파되어 지금까지 내려 온 것. 어째 먼저 발전했던 사원수 자체는 지금 별로 쓰이지 않고 그와 관련된 명칭들만이 의미가 조금 달라진 채 지금 많이 쓰이는 모양이다. 참고로 팔원수를 이용하면 7차원의 외적을 만들 수는 있다. 4차원 우주에서 별 도움이 안되서 그렇지...[12] 앞쪽 벡터를 90도로 돌리지 않고 계산하는 것은 위에 나온 스칼라곱이다.[13] 물론 이 경우에는 행렬식 계산이 익숙하지 않다면 시간이 더 걸릴 수 있다. 차라리 코사인법칙을 이용하거나 이미 만들어져 있는 공식을 사용하자.[14] 흔히 말하는 신발끈 공식이 사실 외적이다...[15] 공업수학에서 더 자세하게 배울 가능성이 크다. 다만 공수가 원래 이것저것 다 섞은 것임을 감안하면...[16] std::vector의 벡터는 실제로는 이 문서의 벡터와는 전혀 관련이 없다. 메모리가 동적할당 되는 배열(array) 클래스이며 자료를 묶어서 저장할 때 쓰인다. 오히려 이 문서와 관련 있는 벡터는 DirectX 에 있다.