관리 메뉴

bright jazz music

선형대수 : 5. 내적(스칼라 곱,dot product, scarla product) 본문

Math/선형대수

선형대수 : 5. 내적(스칼라 곱,dot product, scarla product)

bright jazz music 2022. 7. 23. 16:56

내적(스칼라 곱, dot product, scarla product)

  • 내적은 벡터 사이의 곱의 한 종류이다.
  • 각 요소(scarla)끼리 곱한 값을 총합한다.
  • 여기서 스칼라는 크기만 있고 방향은 가지지 않는 양이다.
  • 즉, 방향이 있는 두 개의 벡터 값의 스칼라를 계산하는 것을 뜻한다.
  • 주로 두 벡터 간의 각도를 구하기 위해 사용된다
  • 내적은 두 개 벡터의 상관관계를 구할 때 빈번히 사용한다.

 

$\vec{a}=(a_{1}, a_{2}, \cdots , a_{n})$
$\vec{b}=(b_{1}, b_{2}, \cdots , b_{n})$

 

위 두 벡터를 내적한다.

내적
$\begin{align}
\vec{a}\cdot\vec{b} &= (a_{1}, a_{2}, \cdots , a_{n})\cdot(b_{1}, b_{2}, \cdots , b_{n})\\
&=(a_{1}b_{1} + a_{2}b_{2} + \cdots + a_{n}b_{n})\\
&= \sum_{k=1}^n a_{k}b_{k}\\
\end{align}$

주의:

  • 내적을 구하려면 두 백터의 요소 수가 같아야 한다.
  • 내적은 삼각함수를 이용해서 구하는 방법도 있다.

 

파이썬에서의 내적 구현

  • 내적은 NumPy의 dot() 함수를 사용해서 구할 수 있다.
  • sum() 함수를 사용해 각 요소의 곱의 총합으로도 구할 수 있다.
import numpy as np

a = np.array([1, 2, 3])
b = np.array([3, 2, 1])

print("--- dot() 함수 ---")
print(np.dot(a, b))
print()
print("--- sum() 함수 ---")
print(np.sum(a*b))

# --- dot() 함수 ---
# 10
# 
# --- sum() 함수 ---
# 10

 

 

 

 

 

위에서 사용한 LaTeX 표기법에 대해

  • 수식을 여러 줄 입력하는 경우 align을 상요할 수 있다. \begin{align}과 \end{align} 사이에 식을 입력해준다.
  • LaTeX 표기법에서 개행(줄바꿈)하려면 반드시 ' \\ '를 넣어줘야 한다.
  • 수식을 ' = '기호에 맞춰서 정렬하려면 '&=' 처럼 앞에 '&'를 붙여줘야 한다.
  • 이 때 가장 처음 등장하는 '=' 기호에도 '&'을 붙여줘야 한다.

 

 

 

참고

[1] https://www.overleaf.com/learn/latex/Aligning_equations_with_amsmath

[2] https://www.scienceall.com/%EB%82%B4%EC%A0%81inner-scalar-dot-product/#:~:text=%EB%82%B4%EC%A0%81%EC%9D%B4%EB%9E%80%20%EC%8A%A4%EC%B9%BC%EB%9D%BC%20%EA%B3%B1%EC%9D%B4%EB%9D%BC%EA%B3%A0%EB%8F%84,%EB%A5%BC%20%EA%B5%AC%ED%95%98%EA%B8%B0%20%EC%9C%84%ED%95%B4%20%EC%82%AC%EC%9A%A9%EB%90%9C%EB%8B%A4.

[3] https://ko.wikipedia.org/wiki/%EC%8A%A4%EC%B9%BC%EB%9D%BC%EA%B3%B1

 

 

 

Comments