최근 수정 시각 : 2018-09-08 09:35:02

벡터

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

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


Vector

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

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.

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

2.7. 여담

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

특히 (고교 교육 과정 밖이지만) 외적을 배우면 벡터 문제가 아닌 공간도형이나 기하 문제 등에서 유용하게 쓸 수 있다. 예를 들어 이 삼각형의 면적을 구하는 문제는 외적을 계산할 줄 안다면 한 모서리를 기준으로 두 변을 벡터로 만들어 외적을 한 후 크기만 구해주면 끝난다.[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 에 있다.