내적 계산기

내적
다음

내적은 두 벡터가 얼마나 같은 방향을 향하는지를 나타내는 하나의 스칼라 값으로 압축합니다. 이는 검색 순위 결정을 위한 코사인 유사도, 물리학의 사영, 그리고 컴퓨터 그래픽스의 모든 조명 계산의 기반이 됩니다. 이 도구는 차원이 같은 두 벡터(2차원, 3차원, N차원)의 내적을 계산하고, 두 벡터 사이 각도의 코사인을 보여 줍니다.

내적을 계산하는 방법

  1. 1

    두 벡터를 입력하세요

    성분을 쉼표나 공백으로 구분하여 입력하세요. 한 벡터에는 `3, 4, 5`, 다른 벡터에는 `1, 2, 1`처럼 입력합니다.

  2. 2

    차원을 맞추세요

    두 벡터는 길이가 같아야 합니다. 차원이 맞지 않으면 이 도구가 계산 전에 알려 줍니다.

  3. 3

    결과를 확인하세요

    스칼라 내적이 두 벡터 사이 각도의 코사인(cos θ)과 각도 자체(도 단위)와 함께 표시됩니다.

두 가지 공식

벡터 a = (a1, a2, ..., an)b = (b1, b2, ..., bn)에 대한 성분 형태:

a . b = a1*b1 + a2*b2 + ... + an*bn

기하학적 형태:

a . b = |a| * |b| * cos(theta)

두 식은 서로 같으며, 이를 같다고 놓으면 코사인 유사도 공식인 cos(theta) = (a.b) / (|a| |b|)를 얻습니다.

부호가 알려 주는 것

내적 의미
양수 두 벡터가 대체로 같은 방향을 가리킨다 (각도 < 90°)
0 두 벡터가 직교한다 (수직)
음수 두 벡터가 대체로 반대 방향을 가리킨다 (각도 > 90°)

계산 예시

a = (3, 4), b = (1, 2)인 경우:

  • 성분별 곱: 3×1 + 4×2 = 3 + 8 = 11
  • |a| = √(9 + 16) = 5
  • |b| = √(1 + 4) = √5 ≈ 2.236
  • cos(θ) = 11 / (5 × 2.236) = 0.9839
  • θ = arccos(0.9839) ≈ 10.3도

두 벡터가 거의 같은 방향을 가리키므로 내적이 큰 양수로 나타납니다.

일반적인 응용 분야

  • 코사인 유사도(추천 시스템): 두 임베딩 벡터가 얼마나 유사한가?
  • 사영: 한 벡터를 다른 벡터에 사영하기: proj_b(a) = (a . b) / |b|^2 * b.
  • 물리학의 일(work): W = F . d, 힘과 변위의 내적.
  • 그래픽스 조명: 표면 법선과 빛 방향의 내적으로 확산 반사의 밝기를 구합니다(람베르트 법칙).
  • 직교성 확인: 두 기저 벡터가 수직인지 빠르게 검증합니다.

  • 비교하기 전에 정규화하세요. 방향(유사도)에만 관심이 있다면 먼저 각 벡터를 크기로 나누세요. 그러면 내적이 곧바로 코사인 값과 같아집니다.
  • 차원에 주의하세요. 3차원 벡터와 4차원 벡터의 내적은 정의되지 않습니다. 우연이 아니라 의도적으로 패딩하거나 잘라 내야 합니다.
  • 수치적 안정성. 매우 큰 벡터에서는 부동소수점 누적으로 정밀도가 떨어질 수 있습니다. 차원이 수천을 넘으면 배정밀도 또는 카한 합산법을 사용하세요.

자주 묻는 질문

내적은 스칼라 값을 반환하며 두 벡터가 얼마나 평행한지를 측정합니다. 외적(3차원과 7차원에서만 정의됨)은 두 벡터 모두에 수직인 벡터를 반환하여 얼마나 수직인지를 측정합니다. 두 연산은 서로 반대되는 질문에 답합니다.

네, 어떤 차원 N에 대해서도 마찬가지입니다. 성분별 정의는 직접적으로 확장될 수 있으며, 수백에서 수천 개의 차원을 가진 벡터를 사용하는 머신러닝 분야에서 매일 폭넓게 활용되고 있습니다.

기하학적 형태 |a| |b| cos(theta)는 cos 값이 0일 때, 즉 90도와 270도에서 0이 되기 때문입니다. 0이 아닌 두 벡터는 내적이 정확히 0일 때 직교합니다.

입력한 벡터 구성 요소는 계산이 이루어지는 서버로 전송됩니다. 해당 값은 저장되지 않으며 계정과 연결되지 않습니다.

관련 도구

이 도구는 다른 언어로도 제공됩니다