▶내적이란?
한 벡터가 다른 벡터에 대해 가한 힘에 의해 변화된 스칼라 값을 얻는 곱이라고 할 수 있다. 즉 내적은 한 벡터 w가 벡터 v의 방향에 대해 어느정도의 힘을 가했는지를 알 수 있도록 해준다.
위의 그림에서 내적을 통해 우리는 w가 v벡터에 어느정도의 힘을 가했는지 알 수 있을 것이다. 내적 공식은 다음과 같다.
v의 norm(크기) * w의 norm(크기) * cosθ 로 내적 스칼라를 구할 수 있다.
아래의 예시를 보자.
(1) 의 경우는 w와 v벡터의 방향이 같은 경우다. 이때 w가 v의 방향에 힘을 가함으로써 변화된 스칼라는 3이라고 볼 수 있다.
(2) 는 w와 v의 방향이 다른 경우이다. w가 v의 방향에 가한 스칼라를 구하기 위해 v와 같은 방향인 벡터 a를 구해보자. a의 norm은 w의 norm에 cos30을 곱한 값으로 3/2가 된다.
v와 w의 내적은 ||v||||w||cosθ인데, ||w||cosθ는 a의norm을구할때
쓰인 공식이다. 즉 ||w||cosθ 부분은 v와 방향이 같은 벡터의 norm을 구하기 위한 공식이라고 볼 수 있다. 그렇게 구한 ||a||에 ||v||를 곱하면 내적값을 구할 수 있다.
그러므로 w벡터는 v의 방향에 힘을 가함으로써 변화된 스칼라 값은 9/2라고 말할 수 있다.
▶ 내적 증명
내적 공식에 따르면 v와 w 벡터의 내적은 v와 w의 각 구성요소들의 곱의 합과 같다는 것을 알 수 있다. 이는 제2 코사인법칙에 의해 다음과 같이 증명할 수 있다.
따라서 우리는 v와 w벡터의 내적을 구하기 위해 번거롭게 코사인과 norm을 구할 필요없이, 각 성분을 서로 곱한 후 더하여 손쉽게 구할 수 있다.
▶ 파이썬 내적 구현
파이썬에선 numpy패키지의 np.dot(v1, v2)를 통해 내적을 구현할 수 있다. 다음 예시를 보자.
위와 같이 선언된 배열의 내적이 np.dot을 통해 손쉽게 연산되는 것을 볼 수 있다. np.dot이외에도 다음과 같이 다른 방법을 통해 내적을 구현하는 것이 가능하다.
'수학 > 선형대수학' 카테고리의 다른 글
전치행렬 (1) | 2021.07.13 |
---|---|
코사인 유사도(cosine similarity)/ 파이썬 구현 (0) | 2021.07.13 |
역행렬과 역행렬의 특징/ 행렬식, (비)가역행렬 (3) | 2021.07.12 |
연립 일차 방정식, 행렬로 풀기/ 가우스조던 소거법, 역행렬 (0) | 2021.07.12 |
행렬의 연산/ 덧셈, 뺄셈, 곱셈 (2) | 2021.07.09 |