{{위키데이터 속성 추적}}
{{두 다른 뜻|유클리드 공간 위의 내적|벡터 공간 위의 내적|내적 공간|벡터와 스칼라의 곱셈|스칼라 곱셈}}
[[선형대수학]]에서 '''스칼라곱'''(scalar곱, {{llang|en|scalar product}}) 또는 '''점곱'''({{llang|en|dot product}})은 [[유클리드 공간]]의 두 벡터로부터 [[실수]] [[스칼라]]를 얻는 연산이다. 스칼라곱이 유클리드 공간의 [[내적]]을 이루므로, 이를 단순히 '내적'이라고 부르기도 한다. 스칼라곱의 개념의 [[물리학]] 배경은 주어진 [[힘 (물리학)|힘]]이 주어진 [[변위]]의 물체에 가한 [[일 (물리학)|일]]을 구하는 문제이다.

== 정의 ==
[[차원]]이 <math>n</math>인 [[유클리드 공간]] <math>\mathbb R^n</math>의 두 벡터 <math>\mathbf a,\mathbf b\in\mathbb R^n</math>의 '''스칼라곱''' <math>\mathbf a\cdot\mathbf b\in\mathbb R</math>은 두 가지로 정의할 수 있으며, 이 두 정의는 서로 동치이다. 스칼라곱의 기호에는 [[가운뎃점]] '⋅'을 사용하며, 수의 곱셈 기호와는 다르게 생략할 수 없다. 

=== 대수적 정의 ===
두 벡터의 좌표가 각각 <math>\mathbf a=(a_1,a_2,\dots,a_n)</math>와 <math>\mathbf b=(b_1,b_2,\dots,b_n)</math>라면, 이 둘의 스칼라곱은 같은 위치의 성분을 곱한 뒤 모두 합하여 얻는 값이다.
:<math>\mathbf a\cdot\mathbf b=a_1b_1+a_2b_2+\cdots+a_nb_n</math>
예를 들어, 두 3차원 벡터 <math>(1,3,-2),(4,2,1)\in\mathbb R^3</math>의 스칼라곱은 다음과 같다.
:<math>(1,3,-2)\cdot(4,2,1)=1\times4+3\times2+(-2)\times1=8</math>
이 경우 스칼라곱의 정의는 벡터의 좌표에 의존하여 정의하지만, <math>\mathbb R^n</math>에 기존의 좌표계가 아닌 새로운 좌표계를 주더라도, 이 좌표계가 [[데카르트 좌표계|정규 직교 좌표계]]라면, 스칼라곱을 나타내는 공식은 바뀌지 않는다. 즉, 임의의 정규 직교 좌표계 아래 스칼라곱은 위치가 같은 두 좌표의 곱을 합한 것과 같다.

유클리드 공간의 벡터는 종종 [[열벡터]]로 간주되며, 이 경우 두 벡터 <math>\mathbf a,\mathbf b</math>의 스칼라곱은 다음과 같이 나타낼 수 있다.
:<math>\mathbf a\cdot\mathbf b=\mathbf a^\operatorname T\mathbf b</math>
여기서 우변의 <math>\mathbf a^\operatorname T</math>는 <math>\mathbf a</math>의 [[전치 행렬]]이며, 곱셈 기호가 생략된 곱셈은 [[행렬 곱셈]]이다.

이 경우 앞선 예시에서의 내적은 다음과 같이 나타낼 수 있다.
:<math>\begin{pmatrix}1&3&-2\end{pmatrix}\begin{pmatrix}4\\2\\1\end{pmatrix}=1\times4+3\times2+(-2)\times1=8</math>

=== 기하학적 정의 ===
스칼라곱은 기하학적 성질인 '[[길이]]'와 '[[각도]]'를 통해 다음과 같이 정의할 수 있다.
:<math>\mathbf a\cdot\mathbf b=\begin{cases}\Vert\mathbf a\Vert\Vert\mathbf b\Vert\cos\measuredangle(\mathbf a,\mathbf b)&\mathbf a\ne\mathbf0\land\mathbf b\ne\mathbf0\\0&\mathbf a=\mathbf0\lor\mathbf b=\mathbf0\end{cases}</math>
여기서
* <math>\Vert\mathbf a\Vert</math>는 <math>|\mathbf a|</math>로 표기하기도 하며, 벡터 <math>\mathbf a</math>의 [[노름]]을 뜻한다. 이는 <math>\mathbf a</math>의 길이 또는 크기를 나타낸다. <math>\Vert\mathbf b\Vert</math> 역시 마찬가지이다.
* <math>\measuredangle(\mathbf a,\mathbf b)</math>는 두 벡터 <math>\mathbf a,\mathbf b</math> 사이의 각도이다. 이는 두 벡터가 모두 0이 아닐 때에만 정의되며, 보통 <math>[0,\pi]</math>에서 값을 취한다.
* <math>\cos\measuredangle(\mathbf a,\mathbf b)</math>는 [[코사인]]이며, [[직각 삼각형]]의 이웃변과 빗변의 길이의 비로 정의하거나, [[테일러 급수]] 전개식을 통해 정의할 수 있다.
예를 들어, 만약 두 벡터의 길이가 모두 2이며, 둘 사이의 각도의 코사인 값이 1/2이라면, 이 두 벡터의 스칼라곱은 2 × 2 × 1/2 = 2이다.

이 정의에서 스칼라곱은 두 벡터의 길이와 위치 관계에만 의존하므로, 스칼라곱이 좌표계와 무관함이 더욱 뚜렷하다. 반대로 두 벡터를 똑같은 [[등거리 변환]]에 의하여 변환시켰을 때, 두 벡터의 스칼라곱은 변하지 않는다는 점 역시 정의로부터 자명하다.

몇 가지 특수한 각도의 경우는 다음과 같다.
* 만약 <math>\measuredangle(\mathbf a,\mathbf b)=0</math>이라면, (즉, 두 벡터의 방향이 같다면,) <math>\cos\measuredangle(\mathbf a,\mathbf b)=1</math>이므로, 내적은 단순히 두 벡터의 길이의 곱이다.
*:<math>\mathbf a\cdot\mathbf b=\Vert\mathbf a\Vert\Vert\mathbf b\Vert</math>
* 만약 <math>\measuredangle(\mathbf a,\mathbf b)=90^\circ=\pi/2</math>라면, (즉, 두 벡터가 서로 [[수직]]이라면,) <math>\cos\measuredangle(\mathbf a,\mathbf b)=0</math>이므로, 내적은 0이다.
*:<math>\mathbf a\cdot\mathbf b=0</math>
* 만약 <math>\measuredangle(\mathbf a,\mathbf b)=180^\circ=\pi</math>라면, (즉 두 벡터의 방향이 서로 반대라면,) <math>\cos\measuredangle(\mathbf a,\mathbf b)=-1</math>이므로, <math>\mathbf a</math>와 <math>\mathbf b</math>의 내적은 다음과 같다.
*:<math>\mathbf a\cdot\mathbf b=-\Vert\mathbf a\Vert\Vert\mathbf b\Vert</math>

또한, 이 정의로부터 두 벡터 사이의 각도를 구하는 다음과 같은 공식을 얻을 수 있다.
:<math>\cos\measuredangle(\mathbf a,\mathbf b)=\frac{\mathbf a\cdot\mathbf b}{\Vert\mathbf a\Vert\Vert\mathbf b\Vert}\qquad(\mathbf a\ne\mathbf0,\;\mathbf b\ne\mathbf 0)</math>

== 성질 ==
임의의 벡터 <math>\mathbf a,\mathbf b,\mathbf c\in\mathbb R^n</math> 및 스칼라 <math>k\in\mathbb R</math>에 대하여, 다음 성질들이 성립한다.<ref name="Lay">{{서적 인용
|성=Lay
|이름=David C.
|제목=Linear Algebra and Its Applications
|판=4
|출판사=Pearson Education
|날짜=2012
|isbn=978-0-321-38517-8
}}</ref>
* [[교환 법칙]]
*:<math>\mathbf a\cdot\mathbf b=\mathbf b\cdot\mathbf a</math>
* [[왼쪽 분배 법칙]]
*:<math>(\mathbf a+\mathbf b)\cdot\mathbf c=\mathbf a\cdot\mathbf c+\mathbf b\cdot\mathbf c</math>
* [[오른쪽 분배 법칙]]
*:<math>\mathbf a\cdot(\mathbf b+\mathbf c)=\mathbf a\cdot\mathbf b+\mathbf a\cdot\mathbf c</math>
* [[스칼라 곱셈]]의 보존
*:<math>(k\mathbf a)\cdot\mathbf b=\mathbf a\cdot(k\mathbf b)=k\mathbf a\cdot\mathbf b</math>
* 위 네 가지 성질에 따라, 스칼라곱은 [[대칭 쌍선형 형식]]이다.
* 자기 자신과의 스칼라곱은 음이 아닌 실수이다.
*:<math>\mathbf a\cdot\mathbf a=\Vert\mathbf a\Vert^2\ge0</math>
* 영벡터와의 스칼라곱은 0이다.
*:<math>\mathbf0\cdot\mathbf a=\mathbf a\cdot\mathbf0=0</math>
* 자기 자신과의 스칼라곱이 0인 벡터는 영벡터뿐이다.
*:<math>\mathbf a\cdot\mathbf a=0\iff\mathbf a=\mathbf0</math>
* 위 세 가지 성질에 따라, 스칼라곱은 [[양의 정부호 형식]]이다.
* <math>\mathbf a\cdot\mathbf b=0</math>일 필요충분조건은 <math>\mathbf a\perp\mathbf b</math>이다.
* <math>\mathbf a\cdot\mathbf b>0</math>일 필요충분조건은 <math>\measuredangle(\mathbf a,\mathbf b)<90^\circ</math>이다.
* <math>\mathbf a\cdot\mathbf b<0</math>일 필요충분조건은 <math>\measuredangle(\mathbf a,\mathbf b)>90^\circ</math>이다.
반면 스칼라곱이 만족시키지 않는 성질에는 다음이 있다.
* [[결합 법칙]]은 (1차원 유클리드 공간 <math>\mathbb R^1=\mathbb R</math>을 제외하면) 성립하지 않는다. 이는 두 벡터의 스칼라곱이 벡터가 아닌 스칼라이므로, <math>(\mathbf a\cdot\mathbf b)\cdot\mathbf c</math>나 <math>\mathbf a\cdot(\mathbf b\cdot\mathbf c)</math>가 무의미한 수식이기 때문이다.
* [[소거 법칙]]은 (1차원 유클리드 공간 <math>\mathbb R^1=\mathbb R</math>을 제외하면) 성립하지 않는다. 예를 들어, <math>\mathbb R^2</math>에서, <math>\mathbf a=(1,0)</math>, <math>\mathbf b=(1,1)</math>, <math>\mathbf c=(1,-1)</math>이라면, <math>\mathbf a\cdot\mathbf b=\mathbf a\cdot\mathbf c=1</math>, <math>\mathbf a\ne\mathbf0</math>이지만, <math>\mathbf b\ne\mathbf c</math>이다. 사실, <math>\mathbf a\cdot\mathbf b=\mathbf a\cdot\mathbf c</math>일 필요충분조건은 <math>\mathbf a\perp(\mathbf b-\mathbf c)</math>이다.

== 응용 ==
=== 스칼라 사영 ===
벡터 <math>\mathbf a</math>의 벡터 <math>\mathbf b</math> 위의 '''스칼라 사영'''({{llang|en|scalar projection}}) <math>\mathbf a_\mathbf b</math>은 <math>\mathbf a</math>를 <math>\mathbf b</math>로 [[수직 사영]]하여 얻는 벡터의 길이이다.
:<math>\mathbf a_\mathbf b=\begin{cases}\Vert a\Vert\cos\measuredangle(\mathbf a,\mathbf b)&\mathbf a\ne\mathbf0\land\mathbf b\ne\mathbf 0\\0&\mathbf a=\mathbf0\lor\mathbf b=\mathbf0\end{cases}</math>
스칼라 사영은 다음과 같이 [[단위 벡터]]와의 스칼라곱으로 나타낼 수 있다.
:<math>\mathbf a_\mathbf b=\mathbf a\cdot\frac\mathbf b{\Vert\mathbf b\Vert}</math>
반대로, 스칼라곱은 다음과 같이 스칼라 사영과 벡터의 길이의 곱으로 나타낼 수 있다.
:<math>\mathbf a\cdot\mathbf b=\Vert\mathbf b\Vert\mathbf a_\mathbf b=\Vert\mathbf a\Vert\mathbf b_\mathbf a</math>

=== 코사인 법칙 ===
[[파일:Dot product cosine rule.svg|섬네일|삼각형의 세 변에 대응하는 세 벡터 '''a''', '''b''', '''c'''와 이들 가운데 두 벡터의 각도 ''θ''.]]
삼각형의 세 변 <math>a,b,c</math>와 <math>c</math>가 마주보는 각 <math>\theta</math>에 대한 [[코사인 법칙]]은 스칼라곱의 성질을 통해 유도할 수 있다. 벡터 <math>\mathbf a,\mathbf b,\mathbf c</math>가 그림과 같다고 하면, 코사인 법칙은 다음과 같이 증명된다.
:<math>\begin{align}c^2
&=\mathbf c\cdot\mathbf c\\
&=(\mathbf a-\mathbf b)\cdot(\mathbf a-\mathbf b)\\
&=\mathbf a\cdot\mathbf a-\mathbf b\cdot\mathbf a-\mathbf a\cdot\mathbf b+\mathbf b\cdot\mathbf b\\
&=\mathbf a\cdot\mathbf a-2\mathbf a\cdot\mathbf b+\mathbf b\cdot\mathbf b\\
&=a^2-2ab\cos\theta+b^2
\end{align}</math>

=== 삼중곱 ===
3차원 유클리드 공간 <math>\mathbb R^3</math> 속 벡터에 대한 곱셈은 그 밖에도 여럿 존재한다. 예를 들어, 두 벡터 <math>\mathbf a,\mathbf b\in\mathbb R^3</math>의 [[벡터곱]] <math>\mathbf a\times\mathbf b\in\mathbb R^3</math>은 스칼라곱과 달리 두 벡터로부터 또 다른 벡터를 얻는다. 그러나 이는 3차원이 아닌 유클리드 공간에서 의미를 잃는다.

[[스칼라 삼중곱]]은 <math>\mathbb R^3</math>에서 스칼라곱과 벡터곱을 사용하여 정의된다. 세 벡터 <math>\mathbf a,\mathbf b,\mathbf c\in\mathbb R^3</math>의 스칼라 삼중곱은 <math>\mathbf a\cdot(\mathbf b\times\mathbf c)\in\mathbb R</math>로 정의된다.

[[벡터 삼중곱]]은 <math>\mathbb R^3</math>에서 두 번의 벡터 곱으로 정의된다. 세 벡터 <math>\mathbf a,\mathbf b,\mathbf c\in\mathbb R^3</math>의 벡터 삼중곱은 스칼라곱을 계수로 하는 선형 결합 전개식으로 나타낼 수 있으며, 이는 다음과 같다.
:<math>\mathbf a\times(\mathbf b\times\mathbf c)=(\mathbf a\cdot\mathbf c)\mathbf b-(\mathbf a\cdot\mathbf b)\mathbf c</math>

=== 물리학 ===
[[물리학]]의 여러 가지 개념은 스칼라곱을 통해 정의된다. 예를 들어, [[일 (물리학)|일]]은 [[힘 (물리학)|힘]]과 [[변위]]의 스칼라곱이며, [[자기 선속]]은 [[자기 선속 밀도]]와 면적 벡터의 스칼라곱이다. 물론 변하는 힘이나 일정하지 않은 자기 선속의 경우 [[적분]]을 사용한다.

== 일반화 ==
=== 복소수 벡터의 경우 ===
차원이 <math>n</math>인 복소수 곱공간 <math>\mathbb C^n</math> 속의 벡터 <math>\mathbf u,\mathbf v\in\mathbb C^n</math>에 대하여 스칼라곱과 비슷한 함수를 정의할 수 있으며, 이는 다음과 같다.
:<math>\mathbf u\cdot\mathbf v=\mathbf u^*\mathbf v=\overline{u_1}v_1+\cdots+\overline{u_n}v_n</math>
여기서 <math>\mathbf u^*</math>는 <math>\mathbf u</math>의 (열벡터로서의) [[켤레전치]]이며, <math>\overline{u_k}</math>는 <math>u_k</math>의 [[켤레 복소수]]이다. 이러한 함수는 [[양의 정부호성]]을 만족시킨다. 즉, 영벡터가 아닌 복소수 벡터와 자기 자신의 스칼라곱은 항상
실수이며 0보다 크다. 그러나 실수 벡터의 스칼라곱과 달리 쌍선형성을 만족시키지 않으며, 대신 다음과 같은 [[반쌍선형성]]을 만족시킨다. 임의의 <math>\mathbf u,\mathbf v,\mathbf w\in\mathbb C^n</math> 및 <math>c\in\mathbb C</math>에 대하여,
:<math>(c\mathbf u+\mathbf v)\cdot\mathbf w=\bar c\mathbf u\cdot\mathbf w+\mathbf v\cdot\mathbf w</math>
:<math>\mathbf u\cdot(c\mathbf v+\mathbf w)=c\mathbf u\cdot\mathbf v+\mathbf u\cdot\mathbf w</math>
또한 대칭성(교환 법칙) 대신 다음과 같은 [[켤레 대칭성]]을 만족시킨다.
:<math>\mathbf u\cdot\mathbf v=\overline{\mathbf v\cdot\mathbf u}</math>
이 경우, 영벡터가 아닌 두 복소수 벡터의 사잇각을 나타내는 공식은 다음과 같다.
:<math>\cos\measuredangle(\mathbf u,\mathbf v)=\frac{\operatorname{Re}(\mathbf u\cdot\mathbf v)}{\Vert\mathbf u\Vert\Vert\mathbf v\Vert}</math>
여기서 <math>\operatorname{Re}(\mathbf u\cdot\mathbf v)</math>는 복소수 <math>\mathbf u\cdot\mathbf v</math>의 [[실수부]]이다.

만약 이 함수의 정의에서 켤레 복소수를 생략한다면, 이는 쌍선형성과 대칭성을 유지하지만 양의 정부호성을 잃는다. 이는 대략 <math>i^2=-1<0</math>이기 때문이다. 사실, 양의 정부호성과 대칭성과 쌍선형성을 동시에 만족시키는 함수 <math>B\colon\mathbb C^n\times\mathbb C^n\to\mathbb C</math>는 존재하지 않는다. 이는 이러한 함수의 존재가 다음과 같은 모순을 가져오기 때문이다.
:<math>0<B(i\mathbf v,i\mathbf v)=i^2B(\mathbf v,\mathbf v)=-B(\mathbf v,\mathbf v)<0\qquad(\mathbf v\in\mathbb C^n\setminus\{\mathbf 0\})</math>

=== 내적 ===
유클리드 공간이나 복소수 곱공간의 스칼라곱을 일반화하여 [[내적]]의 개념을 얻을 수 있다. 실수 [[벡터 공간]] <math>V</math>에서, 두 벡터 <math>u,v\in V</math>로부터 실수 스칼라 <math>\langle u,v\rangle\in\mathbb R</math>를 얻는 연산이 양의 정부호성과 대칭성과 쌍선형성을 만족시킬 경우, 이를 <math>V</math> 위의 [[내적]]이라고 한다. 복소수 벡터 공간 <math>V</math>의 두 벡터 <math>u,v\in V</math>로부터 복소수 스칼라 <math>\langle u,v\rangle\in\mathbb C</math>를 얻는 연산이 양의 정부호성과 켤레 대칭성과 반쌍선형성을 만족시킬 경우, 이를 <math>V</math> 위의 내적이라고 한다. 예를 들어, <math>\mathbb R^2</math>에 다음과 같은 함수를 정의하면, 이는 내적을 이룬다.<ref name="Hoffman">{{서적 인용
|url=https://archive.org/details/LinearAlgebraHoffmanAndKunze
|성=Hoffman
|이름=Kenneth
|제목=Linear Algebra
|언어=en
|판=2
|출판사=Prentice-Hall
|위치=Upper Saddle River, New Jersey
|날짜=1971
|isbn=0-13-536797-2
}}</ref>{{rp|271}}
:<math>(a_1,a_2)\cdot(b_1,b_2)=a_1b_1-a_2b_1-a_1b_2+4a_2b_2</math>

=== 함수의 경우 ===
두 실숫값 함수 <math>f,g\colon[a,b]\to\mathbb R</math>의 내적 <math>\langle f,g\rangle\in\mathbb R</math>은 [[급수 (수학)|급수]] 대신 [[적분]]을 사용하여 다음과 같이 정의할 수 있으며, 이 역시 양의 정부호성과 대칭성과 쌍선형성을 만족시킨다.
:<math>\langle f,g\rangle=\int_a^bf(x)g(x)dx</math>
보다 일반적으로, 두 복소숫값 함수 <math>f,g\colon[a,b]\to\mathbb C</math>의 내적 <math>\langle f,g\rangle\in\mathbb C</math>은 다음과 같으며, 이는 양의 정부호성과 켤레 대칭성과 반쌍선형성을 만족시킨다.
:<math>\langle f,g\rangle=\int_a^b\overline{f(x)}g(x)dx</math>

=== 행렬의 경우 ===
사이즈가 같은 두 실수 [[행렬]] <math>A,B</math>의 '''프로베니우스 내적'''({{llang|en|Frobenius inner product}}) <math>A:B</math>은 위치가 같은 두 성분의 곱들을 합한 결과이며, [[대각합]]과 [[행렬 곱셈]]을 통해 나타낼 수도 있다. 즉, 다음과 같다.
:<math>A:B=\operatorname{tr}(A^\operatorname TB)=\sum_{i,j}A_{ij}B_{ij}</math>
보다 일반적으로, 두 복소수 행렬 <math>A,B</math>의 프로베니우스 내적은 다음과 같다.
:<math>A:B=\operatorname{tr}(A^*B)=\sum_{i,j}\overline{A_{ij}}B_{ij}</math>
여기서 <math>A^*</math>는 <math>A</math>의 [[켤레전치]]이다.

== 같이 보기 ==
* [[코시-슈바르츠 부등식]]
* [[벡터곱]]
* [[행렬 곱셈]]
* [[외적]]
== 각주 ==
{{각주}}

== 외부 링크 ==
* {{매스월드|id=DotProduct|title=Dot product}}
* {{플래닛매스|urlname=DotProduct|title=Dot product}}

{{선형대수학}}

{{전거 통제}}

[[분류:선형대수학]]
[[분류:벡터]]
[[분류:해석기하학]]
[[분류:텐서]]