Chapter 01

벡터와 선형 결합

선형대수의 주인공은 벡터입니다. 물리 시간에는 "크기와 방향을 가진 화살표", 프로그래밍에서는 "숫자 배열", 신호 처리에서는 "샘플을 늘어놓은 것"이라고 배웠을지 모릅니다. 이 장의 첫 메시지는 이 셋이 같은 것이라는 점입니다. 더할 수 있고 상수배할 수 있으면 벡터이고, 선형대수는 이 두 연산만으로 무엇을 할 수 있는지를 끝까지 따라가는 학문입니다. 이 장에서는 그 두 연산으로 선형 결합을 만들고, 몇 개의 벡터로 어디까지 갈 수 있는지(생성), 쓸모없는 벡터가 섞였는지(선형 독립)를 묻습니다. 그리고 길이와 각도를 재는 내적과 노름을 더해, 검색 엔진이 문서 두 개가 얼마나 비슷한지 재는 방법까지 갑니다.

이 수식이 없었다면검색 엔진의 "비슷한 문서"

도서관에 문서가 백만 건 있고, 누군가 "반도체 식각 공정"을 검색했다고 합시다. 어떤 문서가 가장 관련 있을까요? 검색어가 들어 있는지만 보면 수천 건이 똑같이 "일치"하고, 순서를 매길 근거가 없습니다. 사람이 일일이 읽고 점수를 매기는 것은 불가능합니다.

1960~70년대 코넬 대학교의 제라드 솔턴(Gerard Salton)과 그의 SMART 시스템은 이 문제를 기하 문제로 바꾸는 벡터 공간 모형을 발전시켰습니다. 문서마다 "단어 1이 몇 번, 단어 2가 몇 번, …"을 적은 긴 숫자 목록, 즉 벡터를 만들고, 검색어도 같은 방식의 벡터로 만듭니다. 그러면 "관련 있다"는 말은 "두 벡터가 같은 방향을 가리킨다"가 되고, 그 정도는 두 벡터 사이 각의 코사인, 곧 내적 한 번으로 계산됩니다. 오늘날의 추천 시스템과 언어 모델의 임베딩 검색도 같은 생각 위에 서 있습니다.

문서 순위 매기기→사람이 읽기? 불가능→문서 = 벡터, 유사도 = 내적→곱셈과 덧셈만으로 순위

벡터란 무엇인가: 화살표, 목록, 신호

바람, 픽셀, 센서 로그를 같은 코드로 다룰 수 있을까

드론 제어기는 바람의 속도(동쪽으로 3 m/s, 북쪽으로 1 m/s)를, 카메라 ISP는 픽셀의 (R, G, B) 값을, 진동 감시 장치는 1초에 1,000번 잰 가속도 샘플을 다룹니다. 겉모습은 전혀 다르지만 세 경우 모두 "두 개를 더하기"(바람 두 개가 겹치기, 두 사진 합성, 두 신호 중첩)와 "몇 배 하기"(바람 세기 2배, 노출 2배, 증폭기 이득)가 자연스럽게 필요합니다. 각각 따로 수학을 만들어야 할까요?

그럴 필요가 없습니다. 세 대상 모두 숫자를 순서대로 늘어놓은 것이고, 더하기와 몇 배 하기를 성분마다 하면 되기 때문입니다. 실수 nn개를 세로로 늘어놓은 것을 Rn\mathbb{R}^n의 벡터(vector)라고 부르고, 각 숫자를 성분(component)이라고 부릅니다.

v=[v1v2⋮vn]∈Rn,w바람=[31],p픽셀=[23012040],x신호=[x(0)x(Δt)⋮x(999Δt)]\mathbf{v} = \begin{bmatrix} v_1 \\ v_2 \\ \vdots \\ v_n \end{bmatrix} \in \mathbb{R}^n, \qquad \mathbf{w}_{\text{바람}} = \begin{bmatrix} 3 \\ 1 \end{bmatrix}, \quad \mathbf{p}_{\text{픽셀}} = \begin{bmatrix} 230 \\ 120 \\ 40 \end{bmatrix}, \quad \mathbf{x}_{\text{신호}} = \begin{bmatrix} x(0) \\ x(\Delta t) \\ \vdots \\ x(999\Delta t) \end{bmatrix}
바람은 R2\mathbb{R}^2, 픽셀은 R3\mathbb{R}^3, 1초 분량 신호는 R1000\mathbb{R}^{1000}의 벡터다. 이 책은 벡터를 굵은 소문자 v\mathbf{v}로, 스칼라(실수 하나)를 보통 글씨 cc로 쓴다.

n=2,3n = 2, 3일 때는 벡터를 원점에서 점 (v1,v2,v3)(v_1, v_2, v_3)으로 향하는 화살표로 그릴 수 있습니다. n=1000n = 1000이면 화살표는 그릴 수 없지만, 성분을 가로축에 늘어놓아 막대그래프(신호)로 그릴 수 있습니다. 그림은 달라도 계산 규칙은 하나입니다. 이것이 선형대수가 강력한 이유입니다. 2, 3차원에서 그림으로 얻은 직관이 천 차원, 백만 차원에서도 그대로 계산을 이끌어 줍니다.

① 화살표 (2, 3차원) v₁ = 3v₂ = 2.2 v ② 숫자 목록 (모든 n) 23012040 RGB ③ 막대 = 샘플링한 신호 x₁, x₂, …, x₁₅ (n = 15)
그림 1-1. 같은 대수, 다른 그림. ① 2차원 벡터는 원점에서 시작하는 화살표, ② 3차원 픽셀 값은 세로로 늘어놓은 숫자 세 개, ③ 15개 샘플로 이루어진 신호는 R15\mathbb{R}^{15}의 벡터 하나다. 세 경우 모두 덧셈과 상수배를 성분마다 한다.

아래 시뮬레이터에서 숫자 세 개를 바꿔 보세요. 같은 벡터가 3차원 화살표로, 막대 세 개로, 색 하나로 동시에 보입니다. 상수 cc를 바꾸면 화살표는 길어지고, 막대는 함께 높아지고, 색은 밝아집니다. 세 그림이 같은 연산에 같은 방식으로 반응한다는 것을 확인하세요.

SIMULATOR

숫자 셋, 세 가지 얼굴

색으로 볼 때 255 초과는
v—
c·v—
길이 ‖c·v‖—
픽셀로 보면—
해볼 것: ① c를 0.5로 내리면 화살표 길이, 막대 높이, 밝기가 모두 정확히 절반이 됩니다(색상은 그대로). ② c = 2에서 R이 255를 넘으면 색 표현은 깨지지만 벡터 계산은 아무 문제가 없습니다. 이것이 "수학적 벡터"와 "저장 형식(8비트)"의 차이입니다. 모델: 색은 감마 보정을 무시하고 값을 그대로 sRGB로 표시합니다. 3차원 화살표는 비스듬한 투영으로 그렸습니다.
정의 1.1 (벡터 공간 Rn\mathbb{R}^n) Rn\mathbb{R}^n은 실수 nn개의 순서 있는 목록 전체의 집합이다. 두 벡터의 합과 스칼라 cc에 의한 스칼라배를 성분마다 정의한다. u+v=[u1+v1⋮un+vn],cv=[cv1⋮cvn]\mathbf{u} + \mathbf{v} = \begin{bmatrix} u_1 + v_1 \\ \vdots \\ u_n + v_n \end{bmatrix}, \qquad c\mathbf{v} = \begin{bmatrix} c v_1 \\ \vdots \\ c v_n \end{bmatrix} 모든 성분이 0인 영벡터 0\mathbf{0}가 있고, 모든 v\mathbf{v}에 대해 v+(−1)v=0\mathbf{v} + (-1)\mathbf{v} = \mathbf{0}이다. 5장에서는 이 두 연산의 성질(교환·결합·분배 법칙 등 여덟 가지)만 만족하면 함수나 행렬도 "벡터"로 부를 수 있다는 것을 봅니다.

덧셈과 스칼라배: 평행사변형과 늘이기

배는 실제로 어느 쪽으로 가는가

배가 물에 대해 북동쪽으로 초속 4 m(엔진이 내는 속도)로 나아가는데, 해류가 동쪽에서 서쪽으로 초속 1.5 m로 흐릅니다. 육지에서 보면 배는 어느 방향으로, 얼마나 빨리 움직일까요? 각도와 삼각함수를 한참 써야 할 것 같지만, 벡터로 쓰면 덧셈 한 번입니다.

성분마다 더한다는 정의는 그림으로 머리–꼬리 잇기(tip-to-tail)입니다. u\mathbf{u}의 끝에 v\mathbf{v}의 시작을 붙이면, 원점에서 v\mathbf{v}의 끝까지가 u+v\mathbf{u} + \mathbf{v}입니다. 순서를 바꿔 v\mathbf{v} 다음 u\mathbf{u}를 이어도 같은 점에 도착하므로, 두 경로가 평행사변형을 이루고 합은 그 대각선입니다. 교환 법칙 u+v=v+u\mathbf{u} + \mathbf{v} = \mathbf{v} + \mathbf{u}가 그림으로 보이는 셈입니다.

덧셈: 평행사변형의 대각선 uvu + v 뺄셈: v의 끝에서 u의 끝으로 uvu − v 스칼라배: 같은 직선 위 v2v−1.2v
그림 1-2. 왼쪽: u\mathbf{u} 다음 v\mathbf{v}를 이어도, v\mathbf{v} 다음 u\mathbf{u}를 이어도 같은 점에 도착한다. 가운데: u−v\mathbf{u} - \mathbf{v}는 "v\mathbf{v}에 무엇을 더하면 u\mathbf{u}가 되나", 즉 v\mathbf{v}의 끝에서 u\mathbf{u}의 끝으로 가는 화살표다. 오른쪽: cvc\mathbf{v}는 v\mathbf{v}와 같은 직선 위에 있고, c<0c \lt 0이면 방향이 반대가 된다.
SIMULATOR

화살표를 이어 붙이기: 덧셈·뺄셈·상수배

u, v의 끝점을 끌어 보세요
연산
u—
v—
결과—
결과의 길이—
해볼 것: ① '배와 해류 예제'를 불러와 실제 진행 방향을 읽어 보세요(u = 엔진 속도, v = 해류). ② u − v 모드에서 v를 u 위에 겹치면 결과가 영벡터가 됩니다. ③ c·u 모드에서 c를 음수로 내리면 화살표가 원점을 지나 반대편으로 넘어갑니다. 모델: 점은 0.25 단위로 맞춰집니다. 배 예제의 단위는 m/s, 위쪽이 북쪽입니다.
예제 1.1 — 배와 해류

엔진 속도: 북동쪽 4 m/s이므로 u=4(cos⁡45∘,sin⁡45∘)≈(2.83,2.83)\mathbf{u} = 4(\cos 45^\circ, \sin 45^\circ) \approx (2.83, 2.83). 해류: 서쪽 1.5 m/s이므로 v=(−1.5,0)\mathbf{v} = (-1.5, 0).

① 합: u+v=(2.83−1.5, 2.83+0)=(1.33,2.83)\mathbf{u} + \mathbf{v} = (2.83 - 1.5,\ 2.83 + 0) = (1.33, 2.83).
② 속력: 1.332+2.832=1.77+8.01≈3.13\sqrt{1.33^2 + 2.83^2} = \sqrt{1.77 + 8.01} \approx 3.13 m/s.
③ 방향: 동쪽에서 arctan⁡(2.83/1.33)≈64.8∘\arctan(2.83/1.33) \approx 64.8^\circ, 즉 북쪽에서 동쪽으로 약 25°.

해류가 서쪽으로 밀기 때문에 배는 엔진 방향(북동 45°)보다 북쪽으로 치우쳐 가고, 속력도 4에서 약 3.1로 줄었습니다. 각도 공식을 따로 외울 필요 없이 성분마다 더하고, 길이와 방향은 마지막에 한 번 계산했다는 점이 핵심입니다.

선형 결합: 두 연산으로 만들 수 있는 모든 것

물감 세 통으로 어떤 색까지 섞을 수 있나

디스플레이 한 화소에는 빨강·초록·파랑 서브픽셀이 있고, 화면이 내는 모든 색은 세 서브픽셀 빛의 세기를 조절해 더한 것입니다. 로봇 팔은 관절 두 개의 움직임을 섞어 손끝을 원하는 곳으로 보냅니다. 두 경우 모두 질문은 같습니다. "주어진 재료 벡터를 몇 배씩 더하면 목표에 닿을 수 있는가, 그리고 몇 배씩이어야 하는가?"

더하기와 상수배, 두 연산만 섞어서 만들 수 있는 것을 선형 결합(linear combination)이라고 부릅니다. 선형대수의 거의 모든 질문은 결국 선형 결합에 대한 질문입니다.

정의 1.2 (선형 결합) 벡터 v1,…,vk∈Rn\mathbf{v}_1, \dots, \mathbf{v}_k \in \mathbb{R}^n과 스칼라 c1,…,ckc_1, \dots, c_k에 대해 c1v1+c2v2+⋯+ckvkc_1\mathbf{v}_1 + c_2\mathbf{v}_2 + \cdots + c_k\mathbf{v}_k 를 v1,…,vk\mathbf{v}_1, \dots, \mathbf{v}_k의 선형 결합이라 하고, cic_i를 계수(coefficient) 또는 가중치라고 한다.

예를 들어 u=(2,1)\mathbf{u} = (2, 1), v=(−1,1)\mathbf{v} = (-1, 1)이면 3u+2v=(6−2, 3+2)=(4,5)3\mathbf{u} + 2\mathbf{v} = (6 - 2,\ 3 + 2) = (4, 5)입니다. 반대 방향 질문, "(4,5)(4, 5)를 만들려면 u\mathbf{u}와 v\mathbf{v}를 몇 배씩 써야 하나"는 미지수 두 개짜리 연립방정식입니다.

c1[21]+c2[−11]=[45]  ⟺  {2c1−c2=4c1+c2=5  ⟺  c1=3, c2=2c_1\begin{bmatrix}2\\1\end{bmatrix} + c_2\begin{bmatrix}-1\\1\end{bmatrix} = \begin{bmatrix}4\\5\end{bmatrix} \iff \begin{cases} 2c_1 - c_2 = 4 \\ c_1 + c_2 = 5 \end{cases} \iff c_1 = 3,\ c_2 = 2
왼쪽은 "벡터들의 선형 결합"이라는 열 그림, 오른쪽은 "직선 두 개의 교점"이라는 행 그림이다. 같은 문제를 두 각도에서 본 것이고, 3장의 주제다.

아래 시뮬레이터에서 계수 a,ba, b를 움직여 au+bva\mathbf{u} + b\mathbf{v}를 만들어 보세요. 화살표 aua\mathbf{u}를 먼저 가고, 그 끝에서 bvb\mathbf{v}를 갑니다. 기울어진 격자는 a,ba, b가 정수인 점들입니다. 이 격자가 바로 "u,v\mathbf{u}, \mathbf{v}로 잰 좌표계"이며, 7장에서 기저와 좌표라는 이름으로 다시 만납니다.

SIMULATOR

목표 점에 닿는 계수 찾기

u, v를 끌고, 계수로 목표 ◎에 닿아 보세요
a·u + b·v—
목표—
목표까지 거리—
span{u, v}—
슬라이더로 a, b를 움직여 보세요.
해볼 것: ① 목표에 0.1 이내로 다가가면 성공 표시가 뜹니다. '정답 계수로'는 연립방정식의 해를 바로 보여 줍니다. ② 'u, v를 한 직선에'를 누르면 격자가 한 줄로 납작해지고, 그 직선 밖의 목표에는 어떤 계수로도 닿지 못합니다. ③ '무작위 결합'을 켠 채 u, v를 끌어 보세요. 점들이 평면 전체로 퍼지거나 한 직선에 몰립니다. 모델: 계수 슬라이더 범위는 −4~4이므로 목표가 멀면 범위를 벗어난 정답 계수가 표시될 수 있습니다.

생성: 벡터 몇 개로 갈 수 있는 곳

관절 두 개짜리 로봇은 공중 어디든 갈 수 있을까

3차원 공간에서 손끝을 움직이는 방법이 두 방향뿐이라면(각 방향의 양만 조절할 수 있다면) 손끝은 공간의 어디까지 갈 수 있을까요? 세 방향이 있으면 공간 전체에 닿을까요? 세 방향이 모두 같은 평면 위에 있다면 어떨까요?

가능한 모든 계수로 만든 선형 결합 전체의 집합을 생성(span)이라고 부릅니다. "이 재료로 만들 수 있는 모든 것"입니다.

정의 1.3 (생성) span⁡{v1,…,vk}={ c1v1+⋯+ckvk∣c1,…,ck∈R }\operatorname{span}\{\mathbf{v}_1, \dots, \mathbf{v}_k\} = \{\, c_1\mathbf{v}_1 + \cdots + c_k\mathbf{v}_k \mid c_1, \dots, c_k \in \mathbb{R} \,\}. 계수를 모두 0으로 고르면 영벡터가 나오므로 생성은 언제나 원점을 포함한다.

생성의 모양은 차원이 몇이든 몇 가지뿐입니다. 영벡터 하나만 있으면 점(원점), 0이 아닌 벡터 하나면 원점을 지나는 직선, 서로 다른 방향의 벡터 둘이면 원점을 지나는 평면입니다. 3차원에서 같은 평면에 있지 않은 세 벡터는 공간 전체를 생성합니다. 반대로 세 번째 벡터가 앞의 두 벡터가 만든 평면 위에 있으면, 세 번째 벡터는 아무것도 새로 보태지 못하고 생성은 여전히 평면입니다.

w가 평면 위: span = 평면 uvw w = au + bv → 새 방향 없음 (종속) w가 평면 밖: span = 공간 전체 uvw 평면을 쌓아 올려 공간 전체 (독립)
그림 1-3. 3차원에서 u,v\mathbf{u}, \mathbf{v}는 원점을 지나는 평면을 생성한다. 왼쪽: 세 번째 벡터 w\mathbf{w}가 그 평면 위에 있으면 w=au+bv\mathbf{w} = a\mathbf{u} + b\mathbf{v}로 쓸 수 있어 생성이 커지지 않는다. 오른쪽: w\mathbf{w}가 평면 밖으로 튀어나오면 cwc\mathbf{w}만큼 평면을 위아래로 옮길 수 있어 공간 전체가 생성된다.

로봇 질문에 답하면 이렇습니다. 관절이 두 개면 손끝이 움직일 수 있는 방향은 기껏해야 평면 하나이고(독립적으로 움직이는 방향이 둘일 때), 3차원 공간의 임의의 방향으로 움직이려면 서로 독립인 방향이 셋 필요합니다. 산업용 로봇 팔이 위치와 자세(각 3자유도)를 모두 맞추기 위해 보통 관절을 여섯 개 이상 두는 것도 같은 셈법입니다(관절 운동은 실제로는 비선형이지만, 한 자세 근처의 작은 움직임은 선형으로 근사됩니다).

한 문장 판별법 "b\mathbf{b}가 span⁡{v1,…,vk}\operatorname{span}\{\mathbf{v}_1, \dots, \mathbf{v}_k\}에 속하는가?"는 "연립방정식 c1v1+⋯+ckvk=bc_1\mathbf{v}_1 + \cdots + c_k\mathbf{v}_k = \mathbf{b}에 해가 있는가?"와 같은 질문입니다. 2장에서 이 식을 Ac=bA\mathbf{c} = \mathbf{b}로 쓰고, 3장에서 소거법으로 기계적으로 답합니다.

선형 독립: 쓸모없는 벡터가 섞였는가

센서 세 개 중 하나가 나머지의 복사본이라면

평면 위 물체의 위치를 재려고 서로 다른 방향을 향한 거리 센서를 달았습니다. 그런데 설치 실수로 세 번째 센서 방향이 첫 번째 센서 방향의 정반대라면, 세 번째 센서는 새로운 정보를 줄까요? 측정 방향이 몇 개 있어야 하고, 어떤 조건이면 "쓸모없는" 방향이 섞였다고 할 수 있을까요?

생성을 키우지 못하는 벡터, 즉 나머지 벡터의 선형 결합으로 쓸 수 있는 벡터가 섞여 있으면 그 벡터 묶음을 선형 종속(linearly dependent)이라고 합니다. 그런 벡터가 하나도 없으면 선형 독립(linearly independent)입니다. 이것을 "어느 벡터가 범인인가"를 지목하지 않고 대칭적으로 쓰면 다음 정의가 됩니다.

정의 1.4 (선형 독립) 벡터 v1,…,vk\mathbf{v}_1, \dots, \mathbf{v}_k가 선형 독립이란 c1v1+c2v2+⋯+ckvk=0  ⟹  c1=c2=⋯=ck=0c_1\mathbf{v}_1 + c_2\mathbf{v}_2 + \cdots + c_k\mathbf{v}_k = \mathbf{0} \implies c_1 = c_2 = \cdots = c_k = 0 이라는 뜻이다. 즉 영벡터를 만드는 방법이 "모든 계수를 0으로" 하는 뻔한 방법 하나뿐이다. 0이 아닌 계수를 포함한 관계식이 있으면 선형 종속이고, 그 관계식을 종속 관계라고 부른다.

두 정의가 같은 이유는 간단합니다. 종속 관계 c1v1+⋯+ckvk=0c_1\mathbf{v}_1 + \cdots + c_k\mathbf{v}_k = \mathbf{0}에서 cj≠0c_j \neq 0이면 양변을 cjc_j로 나누어 vj=−∑i≠j(ci/cj)vi\mathbf{v}_j = -\sum_{i \neq j} (c_i / c_j)\mathbf{v}_i로 쓸 수 있으니, vj\mathbf{v}_j가 나머지의 선형 결합입니다. 거꾸로 vj\mathbf{v}_j가 나머지의 결합이면 vj\mathbf{v}_j를 반대편으로 옮겨 계수 −1≠0-1 \neq 0인 관계식을 얻습니다.

정리 1.1 Rn\mathbb{R}^n에서 nn개보다 많은 벡터는 항상 선형 종속이다. 특히 평면 R2\mathbb{R}^2에서 세 벡터는 반드시 종속이다.

증명 아이디어(n = 2). u,v\mathbf{u}, \mathbf{v}가 종속이면 이미 끝이다. 독립이면 u,v\mathbf{u}, \mathbf{v}가 평면 전체를 생성하므로(앞 절) w=au+bv\mathbf{w} = a\mathbf{u} + b\mathbf{v}로 쓸 수 있고, au+bv−w=0a\mathbf{u} + b\mathbf{v} - \mathbf{w} = \mathbf{0}이 종속 관계다. 일반적인 nn에서는 미지수가 식보다 많은 동차 연립방정식이 항상 0이 아닌 해를 갖는다는 사실(3장, 5장)로 증명한다.

아래 시뮬레이터는 평면 위 세 벡터의 종속 관계를 실시간으로 찾아 줍니다. 찾은 계수대로 c1uc_1\mathbf{u}, c2vc_2\mathbf{v}, c3wc_3\mathbf{w}를 머리–꼬리로 이으면 닫힌 삼각형이 되어 원점으로 돌아옵니다. 합이 영벡터라는 뜻입니다. 두 벡터만 남기면 "닫힌 경로를 만들 수 있느냐"가 곧 "두 벡터가 한 직선 위에 있느냐"입니다.

SIMULATOR

영벡터로 돌아오는 고리: 종속 관계 찾기

세 벡터의 끝점을 끌어 보세요
벡터 개수
종속 관계—
판정—
u, v의 평행사변형 넓이—
해볼 것: ① 세 벡터를 어떻게 놓아도 고리가 닫힙니다(정리 1.1). ② 'u, v만'에서 v를 u와 같은 직선에 놓으면 넓이가 0이 되고, 그때만 종속 관계가 나타납니다. ③ w를 u 위에 겹치면 관계식에서 v의 계수가 0이 됩니다. v는 이 관계에 필요 없습니다. 모델: 종속 관계는 계수 중 절댓값이 가장 큰 것을 1로 맞춘 한 가지를 보여 줍니다(관계식은 상수배만큼 여러 개 있습니다). 점은 0.25 단위로 맞춰집니다.
예제 1.2 — 종속 관계를 손으로 찾기

u=(1,2)\mathbf{u} = (1, 2), v=(3,1)\mathbf{v} = (3, 1), w=(5,5)\mathbf{w} = (5, 5)의 종속 관계를 찾아라.

① u,v\mathbf{u}, \mathbf{v}는 평행하지 않으므로(1⋅1−2⋅3=−5≠01\cdot 1 - 2\cdot 3 = -5 \neq 0) 평면을 생성한다. 그러니 w=au+bv\mathbf{w} = a\mathbf{u} + b\mathbf{v}를 푼다.
② a+3b=5, 2a+b=5a + 3b = 5,\ 2a + b = 5. 둘째 식에서 b=5−2ab = 5 - 2a, 첫째 식에 넣으면 a+15−6a=5a + 15 - 6a = 5, a=2a = 2, b=1b = 1.
③ 검산: 2(1,2)+(3,1)=(5,5)2(1,2) + (3,1) = (5, 5). 따라서 2u+v−w=02\mathbf{u} + \mathbf{v} - \mathbf{w} = \mathbf{0}.

센서 문제로 돌아가면, 세 번째 측정 방향은 앞의 두 방향의 결합이므로 새로운 정보가 없습니다. 다만 실제 측정에는 잡음이 있으므로, 여분의 측정은 정보량이 아니라 잡음을 줄이는 데 쓰입니다. 이것이 8장의 최소제곱입니다.

흔한 오해 "각 쌍이 평행하지 않으면 독립이다"는 틀립니다. 위의 u,v,w\mathbf{u}, \mathbf{v}, \mathbf{w}는 어느 두 개도 평행하지 않지만 셋은 종속입니다. 독립성은 묶음 전체의 성질입니다. 또 영벡터를 포함한 묶음은 언제나 종속입니다(1⋅0=01\cdot\mathbf{0} = \mathbf{0}이 종속 관계).

내적: 길이와 각도를 재는 곱

바람 중 몇 m/s가 활주로 방향인가

활주로가 북동쪽을 향하고, 바람이 (4,−1)(4, -1) m/s(동쪽 4, 남쪽 1)로 붑니다. 이륙 성능에 중요한 것은 활주로와 나란한 성분(맞바람·뒷바람)이고, 안전에 중요한 것은 활주로에 수직인 성분(옆바람)입니다. 바람을 두 성분으로 나누려면 무엇이 필요할까요?

덧셈과 스칼라배만으로는 길이도 각도도 잴 수 없습니다. 이를 위해 벡터 두 개에서 숫자 하나를 만드는 새 연산을 들여옵니다.

정의 1.5 (내적, 길이) u,v∈Rn\mathbf{u}, \mathbf{v} \in \mathbb{R}^n의 내적(dot product, inner product)과 벡터의 길이(유클리드 노름)를 u⋅v=u1v1+u2v2+⋯+unvn=uTv,∥v∥=v⋅v=v12+⋯+vn2\mathbf{u}\cdot\mathbf{v} = u_1v_1 + u_2v_2 + \cdots + u_nv_n = \mathbf{u}^{\mathsf T}\mathbf{v}, \qquad \lVert\mathbf{v}\rVert = \sqrt{\mathbf{v}\cdot\mathbf{v}} = \sqrt{v_1^2 + \cdots + v_n^2} 로 정의한다. 길이가 1인 벡터를 단위 벡터라 하고, v/∥v∥\mathbf{v}/\lVert\mathbf{v}\rVert로 만드는 것을 정규화라고 한다.

길이의 정의는 피타고라스 정리를 nn차원으로 늘린 것입니다. 놀라운 것은 성분의 곱을 더하기만 한 내적이 각도를 안다는 사실입니다.

정리 1.2 (내적의 기하적 의미) 0이 아닌 두 벡터 사이의 각을 θ\theta라 하면 u⋅v=∥u∥ ∥v∥cos⁡θ.\mathbf{u}\cdot\mathbf{v} = \lVert\mathbf{u}\rVert\,\lVert\mathbf{v}\rVert\cos\theta.

증명. 삼각형의 세 변 u\mathbf{u}, v\mathbf{v}, u−v\mathbf{u} - \mathbf{v}에 코사인 법칙을 쓰면 ∥u−v∥2=∥u∥2+∥v∥2−2∥u∥∥v∥cos⁡θ\lVert\mathbf{u}-\mathbf{v}\rVert^2 = \lVert\mathbf{u}\rVert^2 + \lVert\mathbf{v}\rVert^2 - 2\lVert\mathbf{u}\rVert\lVert\mathbf{v}\rVert\cos\theta. 왼쪽을 내적으로 전개하면 (u−v)⋅(u−v)=∥u∥2−2 u⋅v+∥v∥2(\mathbf{u}-\mathbf{v})\cdot(\mathbf{u}-\mathbf{v}) = \lVert\mathbf{u}\rVert^2 - 2\,\mathbf{u}\cdot\mathbf{v} + \lVert\mathbf{v}\rVert^2. 두 식을 비교하면 결론이 나온다. nn차원에서도 두 벡터는 원점과 함께 평면 하나에 놓이므로 같은 논리가 성립한다.

여기서 곧바로 세 가지 사실이 나옵니다. 내적이 양수면 예각, 0이면 직각, 음수면 둔각입니다. 특히 u⋅v=0\mathbf{u}\cdot\mathbf{v} = 0일 때 두 벡터가 직교(orthogonal)한다고 합니다. 그리고 v\mathbf{v}의 u\mathbf{u} 방향 성분(그림자의 부호 있는 길이)은 ∥v∥cos⁡θ=v⋅u/∥u∥\lVert\mathbf{v}\rVert\cos\theta = \mathbf{v}\cdot\mathbf{u}/\lVert\mathbf{u}\rVert입니다.

θ uv ‖v‖cos θ = v·u / ‖u‖ 부호가 말해 주는 것 u·v > 0예각 u·v = 0직교 u·v < 0둔각 길이 아닌 방향의 일치도
그림 1-4. 왼쪽: v\mathbf{v}를 u\mathbf{u}가 놓인 직선에 수직으로 내린 그림자의 길이가 ∥v∥cos⁡θ\lVert\mathbf{v}\rVert\cos\theta이고, 여기에 ∥u∥\lVert\mathbf{u}\rVert를 곱한 것이 내적이다. 그림자 벡터 자체 v⋅uu⋅uu\frac{\mathbf{v}\cdot\mathbf{u}}{\mathbf{u}\cdot\mathbf{u}}\mathbf{u}를 사영이라 하며 8장의 주제다. 오른쪽: 내적의 부호는 두 화살표가 같은 쪽을 보는지 알려 준다.
SIMULATOR

내적 = 그림자 길이 × 길이

u, v의 끝점을 끌어 보세요
u·v = u₁v₁ + u₂v₂—
‖u‖‖v‖cos θ—
각 θ—
|u·v| / (‖u‖‖v‖)—
해볼 것: ① v를 돌려 가며 두 계산(성분 곱의 합, 길이·코사인의 곱)이 항상 같은지 확인하세요. ② 그림자가 u의 반대쪽으로 넘어가는 순간 내적이 음수가 됩니다. ③ 마지막 칸은 항상 1 이하이고, 두 벡터가 평행할 때만 1입니다(다음 절의 코시–슈바르츠 부등식). '활주로와 바람'에서는 u가 활주로 방향 단위 벡터, v가 바람입니다. 모델: 점은 0.1 단위로 맞춰집니다.
예제 1.3 — 맞바람과 옆바람

활주로 방향 단위 벡터 r^=(1/2,1/2)≈(0.707,0.707)\hat{\mathbf{r}} = (1/\sqrt2, 1/\sqrt2) \approx (0.707, 0.707), 바람 w=(4,−1)\mathbf{w} = (4, -1).

① 활주로 방향 성분: w⋅r^=4(0.707)+(−1)(0.707)=2.12\mathbf{w}\cdot\hat{\mathbf{r}} = 4(0.707) + (-1)(0.707) = 2.12 m/s. 양수이므로 바람이 활주로 진행 방향과 같은 쪽으로 분다(이 방향으로 이륙하면 뒷바람).
② 나란한 부분: 2.12 r^=(1.5,1.5)2.12\,\hat{\mathbf{r}} = (1.5, 1.5). 수직 부분: w−(1.5,1.5)=(2.5,−2.5)\mathbf{w} - (1.5, 1.5) = (2.5, -2.5), 크기 ≈3.54\approx 3.54 m/s(옆바람).
③ 검산: (2.5,−2.5)⋅r^=0(2.5, -2.5)\cdot\hat{\mathbf{r}} = 0으로 수직이 맞고, 2.122+3.542≈17=∥w∥22.12^2 + 3.54^2 \approx 17 = \lVert\mathbf{w}\rVert^2로 피타고라스도 맞는다.

노름: 길이를 재는 여러 가지 자

택시가 달리는 거리와 새가 나는 거리

바둑판 모양 도시에서 동쪽으로 3블록, 북쪽으로 4블록 떨어진 곳에 가려면 택시는 7블록을 달려야 하고, 새는 직선으로 5블록을 납니다. 공장 장비의 허용 오차를 볼 때는 "가장 크게 벗어난 축 하나"가 중요할 수도 있습니다(이 경우 4). 어느 것이 벡터의 "진짜 길이"일까요?

셋 다 정당한 길이입니다. 상황에 따라 다른 자를 쓸 뿐입니다. 길이라고 부를 만한 함수가 가져야 할 성질을 먼저 정해 두고, 그 성질을 만족하는 것을 모두 노름(norm)이라고 부릅니다.

정의 1.6 (노름) 함수 ∥⋅∥:Rn→R\lVert\cdot\rVert : \mathbb{R}^n \to \mathbb{R}가 다음 세 성질을 만족하면 노름이다. ① ∥v∥≥0\lVert\mathbf{v}\rVert \ge 0이고 ∥v∥=0  ⟺  v=0\lVert\mathbf{v}\rVert = 0 \iff \mathbf{v} = \mathbf{0}. ② ∥cv∥=∣c∣ ∥v∥\lVert c\mathbf{v}\rVert = |c|\,\lVert\mathbf{v}\rVert. ③ 삼각 부등식 ∥u+v∥≤∥u∥+∥v∥\lVert\mathbf{u} + \mathbf{v}\rVert \le \lVert\mathbf{u}\rVert + \lVert\mathbf{v}\rVert. ∥v∥1=∑i∣vi∣,∥v∥2=(∑ivi2)1/2,∥v∥∞=max⁡i∣vi∣,∥v∥p=(∑i∣vi∣p)1/p (p≥1)\lVert\mathbf{v}\rVert_1 = \sum_i |v_i|, \qquad \lVert\mathbf{v}\rVert_2 = \Big(\sum_i v_i^2\Big)^{1/2}, \qquad \lVert\mathbf{v}\rVert_\infty = \max_i |v_i|, \qquad \lVert\mathbf{v}\rVert_p = \Big(\sum_i |v_i|^p\Big)^{1/p}\ (p \ge 1)

노름의 성격은 단위 공, 즉 길이가 1 이하인 점들의 모양으로 한눈에 보입니다. L2L^2는 원, L1L^1은 꼭짓점이 축 위에 있는 마름모, L∞L^\infty는 정사각형입니다. pp를 1에서 키우면 마름모가 부풀어 원을 지나 정사각형으로 다가갑니다. p<1p \lt 1이면 모양이 안쪽으로 오목해지고 삼각 부등식이 깨져 노름이 아닙니다.

L¹: |x| + |y| ≤ 1 L²: x² + y² ≤ 1 L∞: max(|x|, |y|) ≤ 1
그림 1-5. 세 노름의 단위 공. 같은 점 (3,4)(3, 4)의 길이는 L1L^1로 7, L2L^2로 5, L∞L^\infty로 4다. 항상 ∥v∥∞≤∥v∥2≤∥v∥1\lVert\mathbf{v}\rVert_\infty \le \lVert\mathbf{v}\rVert_2 \le \lVert\mathbf{v}\rVert_1이므로 단위 공은 L1⊂L2⊂L∞L^1 \subset L^2 \subset L^\infty 순으로 커진다.
SIMULATOR

단위 공의 모양: p를 바꾸며 보는 노름

점 x를 끌어 보세요
노름
‖x‖₁—
‖x‖₂—
‖x‖∞—
선택한 노름—
—
해볼 것: ① x를 축 위에 놓으면 세 노름이 모두 같아지고, 대각선 위에서 가장 크게 벌어집니다. ② Lᵖ에서 p를 1 아래로 내리면 공이 오목해집니다. 그 상태의 공 안 두 점을 잇는 선분이 공 밖으로 나가는 것, 즉 삼각 부등식이 깨지는 것을 확인하세요. ③ p를 8까지 올리면 공이 L∞의 정사각형에 다가갑니다. 모델: p < 1인 "노름"은 비교용으로만 그립니다.
정리 1.3 (코시–슈바르츠 부등식) 모든 u,v∈Rn\mathbf{u}, \mathbf{v} \in \mathbb{R}^n에 대해 ∣u⋅v∣≤∥u∥2 ∥v∥2|\mathbf{u}\cdot\mathbf{v}| \le \lVert\mathbf{u}\rVert_2\,\lVert\mathbf{v}\rVert_2 이고, 등호는 한 벡터가 다른 벡터의 상수배일 때만 성립한다.

증명 아이디어. v≠0\mathbf{v} \neq \mathbf{0}이라 하고 실수 tt에 대한 함수 f(t)=∥u−tv∥2=∥u∥2−2t u⋅v+t2∥v∥2f(t) = \lVert\mathbf{u} - t\mathbf{v}\rVert^2 = \lVert\mathbf{u}\rVert^2 - 2t\,\mathbf{u}\cdot\mathbf{v} + t^2\lVert\mathbf{v}\rVert^2를 본다. 길이의 제곱이므로 모든 tt에서 f(t)≥0f(t) \ge 0이다. 아래로 볼록한 이차식이 음수가 되지 않으려면 판별식이 0 이하여야 하므로 4(u⋅v)2−4∥u∥2∥v∥2≤04(\mathbf{u}\cdot\mathbf{v})^2 - 4\lVert\mathbf{u}\rVert^2\lVert\mathbf{v}\rVert^2 \le 0. 등호는 f(t)=0f(t) = 0, 즉 u=tv\mathbf{u} = t\mathbf{v}인 tt가 있을 때다. 기하적으로는 ∣cos⁡θ∣≤1|\cos\theta| \le 1이라는 말이며, 거꾸로 이 부등식 덕분에 nn차원에서도 cos⁡θ=u⋅v∥u∥∥v∥\cos\theta = \frac{\mathbf{u}\cdot\mathbf{v}}{\lVert\mathbf{u}\rVert\lVert\mathbf{v}\rVert}로 각도를 정의할 수 있다.

코시–슈바르츠에서 L2L^2 노름의 삼각 부등식이 곧바로 나옵니다. ∥u+v∥2=∥u∥2+2 u⋅v+∥v∥2≤∥u∥2+2∥u∥∥v∥+∥v∥2=(∥u∥+∥v∥)2\lVert\mathbf{u}+\mathbf{v}\rVert^2 = \lVert\mathbf{u}\rVert^2 + 2\,\mathbf{u}\cdot\mathbf{v} + \lVert\mathbf{v}\rVert^2 \le \lVert\mathbf{u}\rVert^2 + 2\lVert\mathbf{u}\rVert\lVert\mathbf{v}\rVert + \lVert\mathbf{v}\rVert^2 = (\lVert\mathbf{u}\rVert + \lVert\mathbf{v}\rVert)^2. "두 변의 합은 나머지 한 변보다 길다"는 중학교 기하가 천 차원 신호 공간에서도 성립한다는 뜻이고, 신호 처리에서 "잡음 두 개를 더한 것의 크기는 각 크기의 합을 넘지 않는다"는 오차 한계로 매일 쓰입니다.

어느 노름을 쓸까 L2L^2: 에너지·전력(신호의 제곱 합), 최소제곱. L1L^1: 이상값에 덜 민감한 오차, 희소한 해를 찾는 압축 센싱·라소 회귀. L∞L^\infty: 최악의 경우 오차, 공차 검사, 미니맥스 필터 설계. 이 책에서 첨자 없이 ∥v∥\lVert\mathbf{v}\rVert라 쓰면 L2L^2입니다.

코사인 유사도: 문서와 취향을 비교하기

긴 기사와 짧은 메모, 어느 쪽이 검색어와 더 가까운가

"GPU"라는 단어가 30번 나오는 긴 기술 기사와 2번 나오는 짧은 메모가 있습니다. 둘 다 GPU에 관한 글입니다. 검색어 "GPU 성능"을 단어 빈도 벡터로 바꿔 두 문서와의 거리를 재면, 짧은 메모가 압도적으로 가깝게 나옵니다. 단지 짧다는 이유로요. 길이에 속지 않는 비교 방법이 필요합니다.

해법은 길이를 버리고 방향만 비교하는 것입니다. 두 벡터 사이 각의 코사인을 코사인 유사도(cosine similarity)라고 부릅니다.

sim⁡(q,d)=cos⁡θ=q⋅d∥q∥ ∥d∥=q∥q∥⋅d∥d∥\operatorname{sim}(\mathbf{q}, \mathbf{d}) = \cos\theta = \frac{\mathbf{q}\cdot\mathbf{d}}{\lVert\mathbf{q}\rVert\,\lVert\mathbf{d}\rVert} = \frac{\mathbf{q}}{\lVert\mathbf{q}\rVert}\cdot\frac{\mathbf{d}}{\lVert\mathbf{d}\rVert}
단어 빈도처럼 성분이 모두 0 이상이면 값은 0(겹치는 단어 없음)에서 1(비율이 똑같음) 사이다. 문서 d\mathbf{d}를 두 배로 늘려 같은 글을 두 번 붙여도 cos⁡θ\cos\theta는 그대로다. 미리 모든 벡터를 정규화해 두면 유사도는 내적 한 번이다.

실제 검색 엔진은 단어마다 수십만 개의 성분을 쓰고, 흔한 단어("그리고", "있다")의 가중치를 낮추는 TF–IDF 같은 가중치를 곱합니다. 하지만 마지막 단계는 같습니다. 정규화한 벡터끼리 내적을 구해 큰 순서로 늘어놓습니다. 아래 시뮬레이터는 단어 두 개("GPU", "레시피")만으로 만든 2차원 장난감 모형입니다.

SIMULATOR

검색어 벡터를 끌어 문서 순위 매기기

검색어 q(◆)를 끌어 보세요
순위 기준
해볼 것: ① 검색어 "GPU"에서 기준을 '유클리드 거리'로 바꾸면 짧은 메모(D2)가 1위로 올라옵니다. 코사인으로는 D1·D2·D5가 거의 같은 점수입니다. ② 정규화를 켜면 모든 문서가 단위 원 위로 모이고, 두 기준의 순위가 같아집니다(단위 벡터끼리는 거리² = 2 − 2cos θ). ③ q를 대각선 위에 두면 '섞인 글' D4가 1위입니다. 모델: 단어 두 개의 빈도만 쓴 장난감 예이며, 실제 검색은 수만~수십만 차원과 TF–IDF 같은 가중치를 씁니다.
예제 1.4 — 손으로 순위 매기기

검색어 q=(1,0)\mathbf{q} = (1, 0)("GPU"), D1 = (8, 1), D2 = (2, 0), D3 = (1, 7).

① 코사인: D1 =8/65≈0.992= 8/\sqrt{65} \approx 0.992, D2 =2/2=1= 2/2 = 1, D3 =1/50≈0.141= 1/\sqrt{50} \approx 0.141. 순위 D2 ≈ D1 ≫ D3.
② 거리: D1 =49+1≈7.07= \sqrt{49 + 1} \approx 7.07, D2 =1= 1, D3 =0+49=7= \sqrt{0 + 49} = 7. 거리로는 레시피 글 D3(7)이 GPU 기사 D1(7.07)보다 가깝다는 엉뚱한 결론이 나온다.

거리는 길이(문서 분량)와 방향(주제)을 섞어서 재고, 코사인은 주제만 잽니다. 무엇을 비교하고 싶은지에 맞는 자를 골라야 합니다.

이 도구가 쓰이는 곳

"숫자 목록을 하나의 대상으로 보고 더하고, 늘이고, 각도를 잰다"는 생각은 시리즈의 거의 모든 책에 나옵니다.

핵심 정리

  1. Rn\mathbb{R}^n의 벡터는 실수 nn개의 목록이다. 화살표, 픽셀, 샘플링한 신호는 그림만 다를 뿐 성분마다 더하고 상수배하는 같은 대수를 따른다.
  2. 덧셈은 머리–꼬리 잇기(평행사변형의 대각선), 스칼라배는 같은 직선 위에서 늘이기·뒤집기다.
  3. 선형 결합 c1v1+⋯+ckvkc_1\mathbf{v}_1 + \cdots + c_k\mathbf{v}_k과 그 전체인 생성은 언제나 원점을 지나는 점·직선·평면·…이다. "b\mathbf{b}가 생성에 속하는가"는 연립방정식에 해가 있는가와 같다.
  4. 선형 독립: 영벡터를 만드는 결합은 모든 계수가 0인 것뿐. 종속이면 어떤 벡터가 나머지의 결합이라 생성을 키우지 못한다. Rn\mathbb{R}^n에서 nn개를 넘는 벡터는 항상 종속이다.
  5. 내적 u⋅v=∑uivi=∥u∥∥v∥cos⁡θ\mathbf{u}\cdot\mathbf{v} = \sum u_iv_i = \lVert\mathbf{u}\rVert\lVert\mathbf{v}\rVert\cos\theta. 부호는 예각·직각·둔각을, v⋅u/∥u∥\mathbf{v}\cdot\mathbf{u}/\lVert\mathbf{u}\rVert는 u\mathbf{u} 방향 성분(그림자 길이)을 준다. u⋅v=0\mathbf{u}\cdot\mathbf{v} = 0이면 직교.
  6. 노름은 양수성·동차성·삼각 부등식을 만족하는 길이. L1L^1(마름모), L2L^2(원), L∞L^\infty(정사각형)는 쓰임이 다르다. 코시–슈바르츠 ∣u⋅v∣≤∥u∥∥v∥|\mathbf{u}\cdot\mathbf{v}| \le \lVert\mathbf{u}\rVert\lVert\mathbf{v}\rVert가 nn차원 각도와 삼각 부등식을 보장한다.
  7. 코사인 유사도는 길이를 버리고 방향만 비교한다. 정규화한 벡터의 내적 한 번으로 문서·취향·임베딩을 순위화한다.

확인 퀴즈

Q1. u=(1,−2,3)\mathbf{u} = (1, -2, 3), v=(4,0,−1)\mathbf{v} = (4, 0, -1)일 때 2u−v2\mathbf{u} - \mathbf{v}는?

성분마다 계산한다. 2u=(2,−4,6)2\mathbf{u} = (2, -4, 6), 여기서 v\mathbf{v}를 빼면 (2−4, −4−0, 6−(−1))=(−2,−4,7)(2-4,\ -4-0,\ 6-(-1)) = (-2, -4, 7).

Q2. R3\mathbb{R}^3에서 0이 아닌 두 벡터 u,v\mathbf{u}, \mathbf{v}가 평행하지 않다. span⁡{u,v}\operatorname{span}\{\mathbf{u}, \mathbf{v}\}는?

독립인 두 벡터의 선형 결합 전체는 평면이고, 계수를 모두 0으로 두면 원점이 나오므로 생성은 항상 원점을 지난다. 공간 전체를 생성하려면 그 평면 밖의 세 번째 벡터가 필요하다. "두 직선의 합집합"은 aua\mathbf{u}와 bvb\mathbf{v}만 모은 것이고 u+v\mathbf{u}+\mathbf{v} 같은 점이 빠진다.

Q3. 다음 중 선형 독립인 벡터 묶음은?

첫째는 (2,4)=2(1,2)(2,4) = 2(1,2)로 종속. 둘째는 R2\mathbb{R}^2의 세 벡터라 정리 1.1에 의해 종속((1,1)=(1,0)+(0,1)(1,1) = (1,0) + (0,1)). 셋째는 영벡터를 포함해 종속. 넷째는 a(1,2,0)+b(0,1,1)=0a(1,2,0) + b(0,1,1) = \mathbf{0}에서 첫 성분 a=0a = 0, 셋째 성분 b=0b = 0이므로 독립이다.

Q4. u=(3,4)\mathbf{u} = (3, 4), v=(4,−3)\mathbf{v} = (4, -3)에 대해 옳은 것은?

3⋅4+4⋅(−3)=12−12=03\cdot 4 + 4\cdot(-3) = 12 - 12 = 0. 두 벡터의 길이는 모두 5로 같지만, 길이가 달라도 각도는 언제나 정의된다. (a,b)(a, b)와 (b,−a)(b, -a)는 항상 직교한다(90° 회전).

Q5. 벡터 v=(−3,1,2)\mathbf{v} = (-3, 1, 2)의 ∥v∥1\lVert\mathbf{v}\rVert_1, ∥v∥2\lVert\mathbf{v}\rVert_2, ∥v∥∞\lVert\mathbf{v}\rVert_\infty를 차례로 쓰면?

L1L^1은 절댓값의 합 3+1+2=63+1+2 = 6, L2L^2는 9+1+4=14≈3.74\sqrt{9+1+4} = \sqrt{14} \approx 3.74, L∞L^\infty는 절댓값의 최댓값 3이다. 부호를 무시하지 않은 합(0)이나 제곱근을 빼먹은 값(14)은 노름이 아니다. 항상 3≤3.74≤63 \le 3.74 \le 6 순서가 맞는지 확인하자.

Q6. 어떤 두 벡터가 u⋅v=10\mathbf{u}\cdot\mathbf{v} = 10, ∥u∥=2\lVert\mathbf{u}\rVert = 2를 만족한다. ∥v∥\lVert\mathbf{v}\rVert에 대해 확실히 말할 수 있는 것은?

코시–슈바르츠에 의해 10=∣u⋅v∣≤2∥v∥10 = |\mathbf{u}\cdot\mathbf{v}| \le 2\lVert\mathbf{v}\rVert이므로 ∥v∥≥5\lVert\mathbf{v}\rVert \ge 5. 등호(=5)는 v\mathbf{v}가 u\mathbf{u}와 같은 방향일 때만 성립한다.

Q7. 문서 벡터 d\mathbf{d}를 같은 글을 세 번 이어 붙인 3d3\mathbf{d}로 바꾸었다. 검색어 q\mathbf{q}와의 코사인 유사도는?

q⋅3d∥q∥ ∥3d∥=3 q⋅d3∥q∥∥d∥\frac{\mathbf{q}\cdot 3\mathbf{d}}{\lVert\mathbf{q}\rVert\,\lVert 3\mathbf{d}\rVert} = \frac{3\,\mathbf{q}\cdot\mathbf{d}}{3\lVert\mathbf{q}\rVert\lVert\mathbf{d}\rVert}로 3이 약분된다. 코사인 유사도는 방향만 보므로 문서 길이에 영향을 받지 않는다. 반면 유클리드 거리는 크게 달라진다.

Q8. w=(7,4)\mathbf{w} = (7, 4)를 u=(1,2)\mathbf{u} = (1, 2), v=(3,0)\mathbf{v} = (3, 0)의 선형 결합 au+bva\mathbf{u} + b\mathbf{v}로 쓸 때 (a,b)(a, b)는?

둘째 성분에서 2a=42a = 4이므로 a=2a = 2. 첫째 성분에서 a+3b=7a + 3b = 7, b=5/3b = 5/3. 검산: 2(1,2)+53(3,0)=(2+5, 4)=(7,4)2(1,2) + \tfrac53(3,0) = (2+5,\ 4) = (7, 4). u,v\mathbf{u}, \mathbf{v}가 평행하지 않으므로 평면의 어느 벡터든 이렇게 유일하게 쓸 수 있다.