나뭇잎 교과서

n차원 벡터

평면의 벡터는 수 두 개, 공간의 벡터는 수 세 개로 나타냈습니다. 수를 더 늘리면 그림으로는 그릴 수 없지만, 계산은 똑같이 할 수 있습니다. 음식의 영양 성분 다섯 가지, 화면 한 점의 색(빨강·초록·파랑)처럼 여러 수를 한 묶음으로 다루는 것이 n차원 벡터입니다. 이 절에서는 식단을 벡터의 합과 실수배로 짜 보고, 세 원색 벡터를 섞어 원하는 색을 만들어 봅니다.

본문

n차원 벡터

본문

학교 급식에서 한 끼에 단백질 60 g, 탄수화물 150 g, 지방 35 g을 맞추려 한다. 메뉴 A 한 그릇에는 단백질 20 g, 탄수화물 50 g, 지방 10 g이, 메뉴 B에는 30 g, 20 g, 20 g이, 메뉴 C에는 10 g, 80 g, 5 g이 들어 있다. 세 메뉴를 각각 몇 그릇씩 섞으면 세 영양소를 한꺼번에 정확히 맞출 수 있을까? 영양소가 네 가지, 다섯 가지로 늘어나도 같은 방법으로 생각할 수 있을까?

벡터단백질탄수화물지방 메뉴 A205010 메뉴 B302020 메뉴 C10805 목표6015035
그림 1. 각 메뉴는 성분이 세 개인 벡터이고, 식단은 세 벡터를 몇 배씩 더한 일차결합이다.
먼저 알아야 할 것벡터의 성분, 벡터의 덧셈과 실수배, 공간좌표.

1.1.1성분이 \(n\)개인 벡터

평면벡터는 성분이 2개, 공간벡터는 성분이 3개인 순서쌍이다. 이것을 넓혀 실수 \(n\)개를 순서대로 늘어놓은 \((a_1, a_2, \ldots, a_n)\)을 \(n\)차원 벡터라 하고, 그 전체의 집합을 \(\mathbb{R}^n\)이라 쓴다. 영양소의 양, 학생의 과목별 점수, 사진 한 장의 픽셀 밝기처럼 여러 수를 한 묶음으로 다루어야 하는 자료는 모두 \(n\)차원 벡터이다. 4차원 이상은 그림으로 그릴 수 없지만, 덧셈과 실수배는 2차원, 3차원과 똑같이 성분끼리 계산한다.

정리 1.1.1 \(n\)차원 벡터의 연산과 일차결합

\(\vec a = (a_1, \ldots, a_n)\), \(\vec b = (b_1, \ldots, b_n)\)과 실수 \(k\)에 대하여 \(\vec a + \vec b = (a_1 + b_1, \ldots, a_n + b_n)\), \(k\vec a = (ka_1, \ldots, ka_n)\)이다. 벡터 \(\vec v_1, \ldots, \vec v_m\)과 실수 \(c_1, \ldots, c_m\)으로 만든 \(c_1\vec v_1 + \cdots + c_m\vec v_m\)을 일차결합이라 한다.

메뉴 A를 \(a\)그릇, B를 \(b\)그릇, C를 \(c\)그릇 먹으면 영양소의 합은 \(a\vec A + b\vec B + c\vec C\)라는 일차결합이다. 목표 벡터를 이 일차결합으로 나타내는 문제는 성분마다 하나씩, 모두 세 개의 일차방정식이 된다. 그래서 일차결합으로 목표를 만들 수 있는지는 연립일차방정식에 해가 있는지와 같은 질문이다. 빛의 세 원색으로 원하는 색을 만드는 일도 빨강, 초록, 파랑의 세기를 성분으로 하는 3차원 벡터의 일차결합이다.1

1.1.2맞출 수 없는 목표도 있다

일차결합으로 늘 원하는 벡터를 만들 수 있는 것은 아니다. 메뉴가 두 가지뿐이면 세 영양소를 한꺼번에 맞추기 어려운데, 미지수는 2개인데 맞추어야 할 방정식은 3개이기 때문이다. 또 메뉴가 세 가지라도 한 메뉴가 다른 두 메뉴를 섞은 것과 영양소 비율이 같으면 사실상 두 가지와 다름없다. 그런 경우 만들 수 있는 식단은 공간 전체가 아니라 한 평면 위에 갇힌다. 실제 식단에서는 그릇 수가 음수일 수 없다는 조건도 더해진다.

영양소방정식a = b = c = 1 단백질20a + 30b + 10c = 6060 탄수화물50a + 20b + 80c = 150150 지방10a + 20b + 5c = 3535
그림 2. 벡터의 성분마다 방정식이 하나씩 생겨, 일차결합의 계수를 구하는 일이 연립일차방정식이 된다.

1.1.3예제 풀이

예제 1.1.2

처음 질문의 목표를 맞추는 \(a\), \(b\), \(c\)를 구하여라. 또 목표가 단백질 50 g, 탄수화물 180 g, 지방 25 g으로 바뀌면 그릇 수는 어떻게 되는가?

그림 2의 연립방정식에서 \(a = b = c = 1\)을 넣으면 세 식이 모두 성립한다. 셋째 식의 2배를 첫째 식에서 빼면 \(-10b = -10\)이므로 \(b = 1\)이고, 남은 식에서 \(a\)와 \(c\)도 하나로 정해진다. 그래서 세 메뉴를 한 그릇씩 먹으면 목표를 정확히 맞추며, 해는 이것 하나뿐이다.

목표가 \((50, 180, 25)\)이면 셋째 식의 2배를 첫째 식에서 빼서 \(-10b = 0\), 곧 \(b = 0\)이다. 남은 \(20a + 10c = 50\), \(50a + 80c = 180\)을 풀면 \(a = 2\), \(c = 1\)이다. 그래서 메뉴 A 두 그릇과 C 한 그릇이면 된다. 즉 여러 수를 한 묶음으로 다루는 \(n\)차원 벡터는 성분끼리 더하고 실수배하며, 목표 벡터를 일차결합으로 만드는 문제는 성분마다 세운 연립일차방정식을 푸는 문제가 된다.

아래 탐구 카드에서 메뉴 세 가지의 그릇 수를 바꾸며 목표 영양 식단을 맞추어 보고, 색이 섞인 조명 세 개로 원하는 색을 만들어 보자.

  1. 최소 비용으로 영양 기준을 맞추는 식단 문제는 1945년 미국의 경제학자 스티글러가 77가지 식품으로 처음 계산했다. 이 문제는 뒤에 단체법이라는 계산법이 나오는 계기가 되었다.
마무리

실수 \(n\)개를 순서대로 늘어놓은 \(n\)차원 벡터는 그림으로 그릴 수 없어도 성분끼리 더하고 실수배하며, 여러 수를 한 묶음으로 다루는 자료를 나타낸다. 벡터들을 몇 배씩 더한 일차결합으로 목표 벡터를 만드는 문제는 성분마다 세운 연립일차방정식이 되고, 벡터가 부족하거나 서로 닮으면 만들 수 없는 목표가 생긴다. 처음 질문의 목표 식단은 세 메뉴를 한 그릇씩 먹어 정확히 맞출 수 있다.

탐구 1

메뉴 세 가지로 목표 영양 식단을 정확히 맞출 수 있을까?

n차원 벡터의 덧셈과 실수배 · 도전

—

메뉴와 수치는 계산 연습을 위한 가상의 모식 값이며 실제 식품의 영양 정보가 아니다. 막대는 목표를 100으로 둔 비율이다.

  1. 질문영양사는 열량, 탄수화물, 단백질, 지방, 나트륨을 동시에 맞추며 식단을 짠다. 메뉴 세 가지를 몇 인분씩 섞으면 다섯 가지 목표를 한꺼번에 맞출 수 있을까?
  2. 복원평면벡터 \((a_1, a_2)\)와 공간벡터 \((a_1, a_2, a_3)\)는 성분별로 더하고 실수배했다. 곧 \((a_1, a_2) + (b_1, b_2) = (a_1 + b_1, a_2 + b_2)\), \(k(a_1, a_2) = (ka_1, ka_2)\)이다.
  3. 설명실수 \(n\)개를 순서대로 늘어놓은 \((a_1, a_2, \ldots, a_n)\)을 n차원 벡터라고 하고, 그 모임을 \(\mathbb{R}^n\)이라고 쓴다. 덧셈과 실수배는 평면에서처럼 성분마다 한다. 메뉴 한 인분의 영양 성분을 5차원 벡터 \(\vec{a}, \vec{b}, \vec{c}\)로 두면, \(s\)인분, \(t\)인분, \(u\)인분을 먹은 식단은 일차결합 \(s\vec{a} + t\vec{b} + u\vec{c}\)이다. 목표 식단 \(\vec{g}\)를 맞추는 것은 \(s\vec{a} + t\vec{b} + u\vec{c} = \vec{g}\)를 푸는 일, 곧 미지수 3개, 식 5개인 연립일차방정식이다.
  4. 연결식이 미지수보다 많으면 해가 없을 때가 많다. 그때는 가장 가까운 식단을 찾아야 하는데, 이것이 이 대단원 7절의 정사영(최소제곱)이다. 4차원 이상은 그림으로 그릴 수 없지만, 계산 규칙은 그대로라는 것이 n차원 벡터의 힘이다.
  5. 적용세 메뉴의 양을 조절해 막대가 모두 목표(100)에 맞도록 해 보자. "새 목표"를 누르면 어떤 목표는 정확히 맞출 수 없다. 그런 목표는 어떤 성분 때문에 맞지 않는가?
  6. 판단n차원 벡터의 성분은 순서가 정해져 있어야 더할 수 있다. 열량끼리, 단백질끼리 더해야 하고, 단위가 다른 성분을 서로 더하면 뜻이 없다. 또 실제 식단은 음수 인분이 불가능하다는 조건이 더 붙는다.

확인조건이 달라지면

\(\vec{a} = (1, 0, 2, -1)\), \(\vec{b} = (0, 3, -1, 2)\)일 때 \(2\vec{a} - \vec{b}\)는?

탐구 2

색이 섞인 조명 세 개로 원하는 색을 만들 수 있을까?

3차원 벡터 · 일차결합 · 도전

—

내 색
목표 색

—

색은 (빨강, 초록, 파랑) 세기를 0~1로 나타낸 3차원 벡터이다. 화면의 색은 이 세 수로 정해진다(빛의 더하기). 이 카드의 색은 다크 모드에서도 뒤집지 않는다.

  1. 질문무대 조명의 필터가 순수한 빨강, 초록, 파랑이 아니라 서로 조금씩 섞인 색이라면, 세 조명의 세기만 바꾸어 원하는 색을 정확히 만들 수 있을까?
  2. 복원벡터의 일차결합은 \(s\vec{a} + t\vec{b} + u\vec{c}\)이고, 성분마다 계산하면 연립일차방정식이 된다.
  3. 설명화면의 색은 빨강·초록·파랑 빛의 세기로 정해지므로 3차원 벡터 \((r, g, b)\)이다. 조명 세 개의 색을 \(\vec{l}_1, \vec{l}_2, \vec{l}_3\)이라 하면 섞인 색은 \(s\vec{l}_1 + t\vec{l}_2 + u\vec{l}_3\)이고, 목표 색 \(\vec{c}\)를 맞추는 것은 미지수 3개, 식 3개인 연립방정식을 푸는 일이다. 세 조명의 색 벡터가 한 평면에 놓이지 않으면(일차독립이면) 해가 하나 있다. 다만 세기는 0~1 사이여야 하므로, 해가 이 범위를 벗어나는 색은 이 조명으로 만들 수 없다.
  4. 연결세 조명이 만들 수 있는 색의 모임은 세 벡터를 모서리로 하는 평행육면체 모양이다. 모니터마다 표현할 수 있는 색의 범위(색역)가 다른 이유이다. 다음 절에서는 이런 "더하고 실수배할 수 있는 모임"을 일반화한다.
  5. 적용슬라이더로 목표 색을 맞춰 보자. 눈으로 맞추기 어려우면 "연립방정식으로 풀기"를 눌러 정확한 세기를 확인해 보자. 어떤 목표 색은 풀이의 세기가 음수나 1보다 크게 나온다. 그 색은 왜 만들 수 없는가?
  6. 판단물감은 빛과 반대로 섞을수록 어두워진다(빼기 섞기). 이 카드의 "더하기 섞기"는 빛(화면, 조명)에만 해당한다. 또 사람의 눈이 느끼는 색은 이 세 수와 정확히 비례하지 않는다.

확인조건이 달라지면

\(\vec{l}_1 = (1, 0, 0)\), \(\vec{l}_2 = (1, 1, 0)\), \(\vec{l}_3 = (1, 1, 1)\)로 색 \((0.6, 0.5, 0.2)\)를 만들려면 \((s, t, u)\)는?

AI 출제 문항연습문제 풀어보기11문항
Esc

↑↓ 고르기Enter 열기