선형대수 첫 수업 · 제약을 만족하는 상태와 변화

내용

선형대수 첫 수업 · 제약을 만족하는 상태와 변화#

세 종류의 생산활동이 같은 양의 자원을 사용할 수 있습니다. 세 에너지 상태의 확률분포도 같은 평균 에너지를 가질 수 있습니다. 이때 우리가 알고 싶은 것은 같습니다. 주어진 합계를 만족하는 구체적인 값들은 무엇이며, 합계를 바꾸지 않고 그 값들을 얼마나 바꿀 수 있는가?

이 수업에서는 실제 식을 풀다가 필요한 이름을 붙이겠습니다. 앞의 증명 입문을 읽지 않아도 됩니다. 실수의 사칙연산과 두세 개의 연립방정식을 풀어 본 경험이면 시작할 수 있습니다. 처음 보는 기호는 사용하기 전에 설명합니다.

생산활동의 수치와 세 상태 모형은 계산을 끝까지 확인할 수 있도록 이 수업에서 정한 교육용 모형입니다. 실제 자료를 추정한 계수는 아닙니다. 물리량의 단위와 모형의 가정도 함께 적겠습니다.

1. 생산량 세 개를 정해야 하는데 조건은 두 개다#

한 기업이 세 가지 생산활동을 운영한다고 합시다. 활동 \(j\)의 실행량을 \(x_j\)라고 쓰겠습니다. 실행량은 연속적으로 나눌 수 있는 양이며 \(x_j\ge0\)입니다. 각 활동을 한 단위 실행할 때 필요한 자원은 다음과 같습니다.

자원

활동 1

활동 2

활동 3

노동시간

1시간

1시간

1시간

원료 사용량

0kg

1kg

2kg

활동을 두 배 실행하면 자원도 두 배 필요하고, 활동을 함께 실행하면 사용량이 더해진다고 가정합니다. 설비의 고정비, 혼잡, 규모에 따른 효율 변화는 이 모형에 없습니다. 이 가정 아래에서만 다음 선형식이 맞습니다.

이번에는 노동 6시간과 원료 6kg을 정확히 사용하는 생산계획을 찾겠습니다. 자원 한도만 주어진 일반적인 생산문제라면 등식 대신 부등식을 사용해야 합니다. 여기서는 등식 제약 자체를 먼저 살펴보는 것입니다.

노동 조건을 쓰면

\[ 1x_1+1x_2+1x_3=6, \]

원료 조건을 쓰면

\[ 0x_1+1x_2+2x_3=6. \]

계산할 때는 정한 단위에서의 수치만 적습니다. 첫 식과 둘째 식은 서로 다른 자원의 수치 조건이며, 6시간과 6kg을 물리적으로 같은 양이라고 보는 것은 아닙니다.

\(x_3=t\)로 놓고 둘째 식부터 풀어 봅시다.

\[ x_2+2t=6,\qquad x_2=6-2t. \]

이 값을 첫째 식에 넣습니다.

\[ x_1+(6-2t)+t=6. \]

괄호를 풀어 같은 항을 모으면 \(x_1+6-t=6\)입니다. 양변에서 6을 빼면 \(x_1-t=0\), 따라서 \(x_1=t\)입니다. 결국

\[ (x_1,x_2,x_3)=(t,6-2t,t). \]

\(t\)를 아직 정하지 못했다고 계산이 실패한 것은 아닙니다. 주어진 두 합계만으로는 \(t\)를 결정할 수 없다는 답을 얻었습니다. 실제로 대입하면

\[ t+(6-2t)+t=6,\qquad (6-2t)+2t=6 \]

이므로 모든 실수 \(t\)가 두 등식을 만족합니다.

다만 생산량은 음수가 될 수 없습니다. 따라서

\[ t\ge0,\qquad 6-2t\ge0. \]

둘째 부등식에서 \(2t\le6\), 따라서 \(t\le3\)입니다. 실제 생산계획의 범위는

\[ 0\le t\le3 \]

으로 좁혀집니다.

\(t\)

생산계획 \((x_1,x_2,x_3)\)

노동 사용

원료 사용

0

\((0,6,0)\)

\(0+6+0=6\)

\(6+0=6\)

1

\((1,4,1)\)

\(1+4+1=6\)

\(4+2=6\)

3

\((3,0,3)\)

\(3+0+3=6\)

\(0+6=6\)

세 계획은 모두 가능합니다. 하지만 어떤 계획을 선택해야 하는지는 아직 모릅니다. 자원 조건은 가능성을 판단하고, 선택에는 수익 등의 추가 기준이 필요합니다. 그 기준은 6절에서 넣겠습니다.

여기서 잠깐. \(t=4\)도 연립방정식의 해일까요? 생산계획일까요?

\(t=4\)이면 \((4,-2,4)\)입니다. 합계는 \(4-2+4=6\), \(-2+8=6\)으로 맞습니다. 따라서 실수 연립방정식의 해입니다. 그러나 활동 2를 \(-2\)단위 실행할 수는 없으므로 이 모형의 생산계획은 아닙니다. 등식을 푸는 일과 실제로 허용되는 해를 고르는 일을 구별해야 합니다.

2. 행렬의 각 열은 무엇을 계산하는가#

생산계획을 한꺼번에 기록한 열을

\[\begin{split} x=\begin{bmatrix}x_1\\x_2\\x_3\end{bmatrix} \end{split}\]

라고 쓰겠습니다. 이런 수의 목록을 벡터라고 합니다. 이 벡터는 여기서 세 활동의 실행량을 기록합니다. 덧셈과 실수배는 성분별로 합니다.

\[\begin{split} \begin{bmatrix}x_1\\x_2\\x_3\end{bmatrix} +\begin{bmatrix}z_1\\z_2\\z_3\end{bmatrix} =\begin{bmatrix}x_1+z_1\\x_2+z_2\\x_3+z_3\end{bmatrix}, \qquad c x=\begin{bmatrix}cx_1\\cx_2\\cx_3\end{bmatrix}. \end{split}\]

표의 숫자를 그대로 행렬에 넣으면

\[\begin{split} A=\begin{bmatrix}1&1&1\\0&1&2\end{bmatrix}. \end{split}\]

이 행렬의 첫째 열은 활동 1 한 단위의 자원 사용, 둘째 열은 활동 2 한 단위의 자원 사용, 셋째 열은 활동 3 한 단위의 자원 사용입니다. 활동량을 곱한 뒤 더하면 총사용량이 나옵니다.

\[\begin{split} \begin{aligned} Ax &=x_1\begin{bmatrix}1\\0\end{bmatrix} +x_2\begin{bmatrix}1\\1\end{bmatrix} +x_3\begin{bmatrix}1\\2\end{bmatrix}\\ &=\begin{bmatrix}x_1\\0\end{bmatrix} +\begin{bmatrix}x_2\\x_2\end{bmatrix} +\begin{bmatrix}x_3\\2x_3\end{bmatrix}\\ &=\begin{bmatrix}x_1+x_2+x_3\\x_2+2x_3\end{bmatrix}. \end{aligned} \end{split}\]

이것이 이번 행렬곱의 정의입니다. 벡터들에 실수 계수를 곱해 더하는 식을 선형결합이라고 부릅니다. 따라서 \(Ax\)\(A\)의 열들을 계수 \(x_1,x_2,x_3\)로 선형결합한 값입니다.

목표 사용량을 \(b=(6,6)^{\mathsf T}\)라 쓰면 앞의 두 식이 \(Ax=b\)가 됩니다. 위첨자 \(\mathsf T\)는 행과 열을 바꾸는 전치이며 \((6,6)^{\mathsf T}\)는 두 수를 세로로 적었다는 뜻입니다.

입력 \(x\)에 출력 \(Ax\)를 대응시키는 함수를 \(T(x)=Ax\)라고 부르겠습니다. 왜 이 함수가 선형인지 직접 계산할 수 있습니다. 임의의 \(x,z\in\mathbb R^3\)\(c\in\mathbb R\)에 대해

\[\begin{split} \begin{aligned} T(cx+z) &=\begin{bmatrix} cx_1+z_1+cx_2+z_2+cx_3+z_3\\ cx_2+z_2+2(cx_3+z_3) \end{bmatrix}\\ &=\begin{bmatrix} c(x_1+x_2+x_3)+(z_1+z_2+z_3)\\ c(x_2+2x_3)+(z_2+2z_3) \end{bmatrix}\\ &=cT(x)+T(z). \end{aligned} \end{split}\]

가운데 줄은 실수의 분배법칙으로 얻었습니다. 이 성질을 갖는 함수를 선형사상이라고 합니다. \(c=1\)을 넣으면 합을 보존하고, \(z=0\)을 넣으면 실수배를 보존한다는 뜻입니다. 이 함수에서는 \(T(0)=0\)도 성분 대입으로 확인됩니다.

실수 전체에서 계산하는 이유도 여기 있습니다. 실제 생산량에는 음수가 없지만, 두 생산계획의 차이에는 음수가 생깁니다. 계획 \((1,4,1)\)에서 \((2,2,2)\)로 바뀌면 변화는 \((1,-2,1)\)입니다. 음수는 그 활동을 줄였다는 뜻으로 필요한 정보입니다.

3. 자원 합계는 그대로인데 생산량은 바뀐다#

앞의 해를 두 항으로 나누어 쓰겠습니다.

\[\begin{split} \begin{bmatrix}t\\6-2t\\t\end{bmatrix} =\begin{bmatrix}0\\6\\0\end{bmatrix} +t\begin{bmatrix}1\\-2\\1\end{bmatrix}. \end{split}\]

여기서 \(x^{(0)}=(0,6,0)^{\mathsf T}\)는 자원 조건을 만족하는 기준 계획이고, \(h=(1,-2,1)^{\mathsf T}\)는 변화의 비율입니다. \(t\)가 1 증가할 때 활동 1과 3은 각각 1 증가하고 활동 2는 2 감소합니다.

그 변화가 자원에 미치는 영향을 계산하면

\[\begin{split} Ah= \begin{bmatrix}1-2+1\\-2+2\end{bmatrix} =\begin{bmatrix}0\\0\end{bmatrix}. \end{split}\]

첫 성분은 노동 변화가 0이라는 뜻이고, 둘째는 원료 변화가 0이라는 뜻입니다. 따라서 \(A(x^{(0)}+th)=Ax^{(0)}+tAh=b\)입니다. 합계를 바꾸지 않는 변화라서 어떤 \(t\)를 선택해도 등식은 유지됩니다.

혹시 합계를 유지하는 다른 변화가 있을까요? 임의의 변화 \(z\)에 대해 \(Az=0\)을 직접 풀겠습니다.

\[ z_1+z_2+z_3=0,\qquad z_2+2z_3=0. \]

둘째 식에서 \(z_2=-2z_3\)이고, 첫째 식에 넣으면 \(z_1-2z_3+z_3=0\), 따라서 \(z_1=z_3\)입니다. \(z_3=s\)라 놓으면

\[ z=s(1,-2,1)^{\mathsf T}=sh. \]

반대로 \(A(sh)=sAh=0\)이므로 이 꼴의 모든 벡터가 실제로 자원 변화 0을 만듭니다. 따라서 다른 변화는 없습니다.

이 집합에 이름을 붙입니다.

\[ \ker A=\{z\in\mathbb R^3:Az=0\} =\{sh:s\in\mathbb R\}. \]

\(\ker A\)핵 또는 영공간이라고 부릅니다. 지금은 정의를 외우기 전에 그 집합을 이미 구했습니다. 이 모형에서는 총자원 사용량을 바꾸지 않는 모든 생산량 변화입니다.

왼쪽은 x1=x3=t인 평면에서 x2=6-2t인 해집합과 t가 0부터 3인 생산계획을 표시한다. 오른쪽은 z1=z3=s인 평면에서 원점을 지나는 영공간 z2=-2s를 표시한다.

그림 182 왼쪽은 \(x_1=x_3\)인 평면을 \((t,x_2)\)로, 오른쪽은 \(z_1=z_3\)인 평면을 \((s,z_2)\)로 표시했습니다. 점 옆의 세 숫자는 원래 벡터의 성분입니다. 해집합 중 파란 선분만 음이 아닌 생산계획이고, 영공간은 원점을 지나며 모든 실수배의 변화를 포함합니다.#

왜 변화의 집합은 벡터공간인가#

허용되는 변화 두 개를 합해도 자원 변화가 0이고, 하나를 실수배해도 자원 변화가 0입니다. 실제로 \(Az=0\), \(Aw=0\)이면

\[ A(z+w)=Az+Aw=0+0=0, \]
\[ A(cz)=cAz=c0=0. \]

영벡터도 \(A0=0\)이므로 들어갑니다. 이 세 성질을 갖는 \(\mathbb R^3\)의 부분집합을 부분공간이라고 부릅니다. 덧셈과 실수배를 계속해도 그 집합 안에 남는다는 말입니다.

이때 교환법칙·결합법칙·분배법칙은 \(\mathbb R^3\)의 성분 연산에서 그대로 성립합니다. 영벡터가 있고, \(c=-1\)을 넣으면 \(-z\)도 집합 안에 있으므로 덧셈의 역원도 있습니다. 따라서 이 집합은 물려받은 연산으로 실수 벡터공간을 이룹니다. 닫힘을 확인하는 이유는 연산의 결과가 집합 밖으로 나가는 일을 막기 위해서입니다.

하지만 생산계획의 집합 \(Ax=b\)는 부분공간이 아닙니다. 영벡터는 자원을 전혀 사용하지 않아 \(b=(6,6)^{\mathsf T}\)를 만족하지 않기 때문입니다. 두 계획을 더해도

\[ A(x+\widetilde x)=Ax+A\widetilde x=b+b=2b \]

여서 같은 자원 조건에서 벗어납니다. 계획의 집합과 계획 사이의 변화 집합은 서로 다릅니다.

지금 계산에서 얻은 일반적인 사실#

지금까지의 계산은 특정한 숫자에만 의존하지 않습니다. \(A\)가 어떤 실수 행렬이고 \(Ax^{(0)}=b\)인 해 하나를 알고 있다고 합시다.

다른 해 \(x\)가 있으면

\[ A(x-x^{(0)})=Ax-Ax^{(0)}=b-b=0. \]

따라서 \(z=x-x^{(0)}\)는 영공간에 있고 \(x=x^{(0)}+z\)입니다. 반대로 \(Az=0\)\(z\)를 고르면

\[ A(x^{(0)}+z)=Ax^{(0)}+Az=b+0=b. \]

따라서 이 벡터도 해입니다. 두 방향을 모두 확인했으므로

\[ \{x:Ax=b\}=x^{(0)}+\ker A. \]

오른쪽은 기준해에 영공간의 모든 벡터를 더한 집합이라는 뜻입니다. 이런 집합을 아핀 부분공간이라고 합니다. 기준해가 존재한다는 가정이 필요합니다. 해가 없는 문제에는 이 식의 \(x^{(0)}\)를 고를 수 없습니다.

앞에서는 자원량을 그대로 두고 생산계획을 바꿨습니다. 이 일반식은 선형 제약을 만족하는 해가 여러 개일 때, 해 사이의 차이가 정확히 어떤 집합에 속하는지를 말합니다.

4. 기저와 차원: 이 계산에 필요한 독립적인 숫자는 몇 개인가#

영공간의 벡터는 모두 \(sh\)입니다. 벡터 \(h\) 하나로 모든 변화를 만들 수 있으므로 \(h\)가 이 집합을 생성한다고 합니다.

또한 같은 변화가 \(sh=s'h\)로 적혔다면 첫째 성분을 비교하여 \(s=s'\)를 얻습니다. 계수는 유일합니다. 특히 \(sh=0\)이면 \(s=0\)입니다. 이처럼 영벡터를 만드는 계수가 모두 0뿐일 때 생성벡터들이 일차독립이라고 합니다. 생성하면서 일차독립인 목록이 기저입니다. 따라서 이번 영공간은 \(h\) 하나를 기저로 가집니다.

한 개가 필요하고 두 개는 필요하지 않다는 사실을 조금 더 확인하겠습니다. 영공간에는 \(h\ne0\)이 있으므로 아무 벡터도 없는 목록으로 생성할 수는 없습니다. 한편 영공간의 두 벡터를 \(ah,bh\)라 하면, 둘 다 0이 아닌 경우

\[ b(ah)-a(bh)=(ab-ba)h=0 \]

이라는 관계가 있고 계수 \(b,-a\)가 모두 0은 아닙니다. 둘 중 하나가 영벡터인 경우에는 그 벡터에 계수 1을 곱하는 것만으로 비자명한 영결합을 얻습니다. 따라서 영공간에서 두 벡터를 독립적으로 고를 수 없습니다.

이 공간은 독립적인 실수 한 개 \(s\)로 표현되며 차원이 1이라고 합니다. 이번 사례에서는 일반적인 차원정리를 인용하지 않고 실제 표현과 독립성으로 확인했습니다.

행렬의 출력도 살펴보겠습니다. \(A\)의 열을 \(a_1,a_2,a_3\)라 쓰면

\[\begin{split} a_1=\begin{bmatrix}1\\0\end{bmatrix},\quad a_2=\begin{bmatrix}1\\1\end{bmatrix},\quad a_3=\begin{bmatrix}1\\2\end{bmatrix}. \end{split}\]

세 열에는

\[\begin{split} a_1-2a_2+a_3 =\begin{bmatrix}1-2+1\\0-2+2\end{bmatrix}=0 \end{split}\]

이라는 관계가 있습니다. 이것이 바로 \(Ah=0\)을 열의 언어로 쓴 식입니다. 따라서 세 열 모두가 독립인 것은 아닙니다.

그렇지만 첫 두 열은 독립입니다. \(ca_1+da_2=0\)이면

\[\begin{split} \begin{bmatrix}c+d\\d\end{bmatrix}=0 \end{split}\]

이므로 둘째 성분에서 \(d=0\), 첫째 성분에서 \(c=0\)입니다. 또한 임의의 두 실수 \(L,M\)에 대해

\[\begin{split} \begin{bmatrix}L\\M\end{bmatrix} =(L-M)\begin{bmatrix}1\\0\end{bmatrix} +M\begin{bmatrix}1\\1\end{bmatrix}. \end{split}\]

따라서 두 열은 \(\mathbb R^2\)의 모든 벡터를 생성합니다. 행렬의 모든 출력의 집합을 상 또는 열공간이라 하며, 이번에는 \(\operatorname{im}A=\mathbb R^2\)입니다. 두 독립적인 출력 성분을 만들 수 있어 계수(rank)가 2라고 합니다.

지금 입력은 독립적인 세 숫자를 가지지만, 출력은 두 숫자입니다. 출력값을 고정하고도 한 숫자를 자유롭게 바꿀 수 있었습니다. 이 사례에서는 \(3=2+1\)입니다. 모든 행렬에 대한 일반 차원정리는 이후 단원에서 다룰 수 있지만, 이 수업의 계산은 그 정리에 의존하지 않습니다.

식이 두 개이면 언제나 자유변수가 하나일까요? 그렇지는 않습니다. \(x_1+x_2+x_3=6\)\(2x_1+2x_2+2x_3=12\)를 같이 주면 둘째 식은 첫째 식의 두 배여서 새로운 조건이 아닙니다. \(x_2=s\), \(x_3=t\)를 마음대로 정한 뒤 \(x_1=6-s-t\)로 둘 수 있습니다. 이 경우 자유롭게 정하는 숫자는 두 개입니다. 식의 개수가 아니라 서로 독립적인 조건인지 확인해야 합니다.

5. 실수 해가 있다는 것과 가능한 생산계획이 있다는 것#

앞에서 \(\operatorname{im}A=\mathbb R^2\)라고 했습니다. 그렇다면 노동 1시간으로 원료 3kg을 사용하는 계획도 가능할까요?

실수 방정식만 보면 가능합니다.

\[\begin{split} A\begin{bmatrix}-2\\3\\0\end{bmatrix} =\begin{bmatrix}-2+3\\3+0\end{bmatrix} =\begin{bmatrix}1\\3\end{bmatrix}. \end{split}\]

그러나 첫째 생산량이 음수입니다. 열공간을 구할 때는 열의 계수에 모든 실수를 허용했기 때문에 이런 답도 포함되었습니다.

이번에는 노동 \(L\)시간, 원료 \(M\)kg을 정확히 사용하는 음이 아닌 해가 언제 있는지 구하겠습니다.

\[ x_1+x_2+x_3=L,\qquad x_2+2x_3=M. \]

\(x_3=t\)로 놓으면

\[ x_2=M-2t,\qquad x_1=L-(M-2t)-t=L-M+t. \]

따라서 모든 실수 해는

\[\begin{split} x=\begin{bmatrix}L-M+t\\M-2t\\t\end{bmatrix}. \end{split}\]

대입하면 노동 합계는 \(L-M+t+M-2t+t=L\), 원료 합계는 \(M-2t+2t=M\)이므로 역방향도 확인됩니다. 음이 아닌 조건을 각 성분에 적용하면

\[ t\ge M-L,\qquad t\le \frac M2,\qquad t\ge0. \]

\[ \max(0,M-L)\le t\le \frac M2. \]

이 구간이 비어 있지 않아야 합니다. 오른쪽 끝이 0 이상이려면 \(M\ge0\)이어야 하고, \(M-L\le M/2\)를 정리하면 \(M\le2L\)입니다. 역으로 \(0\le M\le2L\)이면 \(0\le M/2\)이고 \(M-L\le M/2\)이므로 왼쪽 끝이 오른쪽 끝을 넘지 않습니다. 따라서 필요한 조건과 충분한 조건을 모두 얻었습니다.

\[ \boxed{\text{음이 아닌 생산계획이 존재한다} \quad\Longleftrightarrow\quad 0\le M\le2L.} \]

\(L=1,M=3\)\(3\le2\)를 만족하지 않아 불가능합니다. 이 결론은 표에서도 해석됩니다. 어느 활동도 노동 1시간당 원료를 2kg보다 많이 쓰지 않으므로, 노동 \(L\)시간만 쓰면서 원료를 \(2L\)kg 넘게 사용할 수 없습니다.

이 해석도 식으로 확인할 수 있습니다. \(x_j\ge0\)이면

\[ 2L-M =2(x_1+x_2+x_3)-(x_2+2x_3) =2x_1+x_2\ge0. \]

따라서 \(M\le2L\)입니다. 말로 한 자원 조건과 계산으로 얻은 부등식이 정확히 대응합니다.

노동량 L과 원료량 M의 좌표평면에서 0 이상 2L 이하인 M의 영역을 음영으로 표시하고, 불가능한 자원 합계 (1,3)을 영역 밖에 표시한다.

그림 183 음영은 세 열 \(a_1,a_2,a_3\)를 음이 아닌 계수로 결합해 만들 수 있는 자원 합계입니다. 노동 1시간·원료 3kg인 점은 \(M=2L\) 위쪽에 있어 이 영역에 속하지 않습니다. 영역은 표시된 범위 밖으로도 이어집니다.#

6. 경제학의 다음 질문: 가능한 계획 중 무엇을 선택할까#

다시 \(L=M=6\)인 경우로 돌아갑니다. 가능한 계획은 \(x(t)=(t,6-2t,t)^{\mathsf T}\), \(0\le t\le3\)입니다.

각 활동을 한 단위 실행했을 때의 순기여액이 각각 2, 3, 5 화폐단위이고, 이 값들이 생산량에 따라 변하지 않는다고 가정하겠습니다. 총기여액은

\[ \Pi(x)=2x_1+3x_2+5x_3. \]

이는 세 수익을 더한 값입니다. 고정된 계수를 곱해 더하므로 이 함수도 선형입니다. 실제 계획식을 대입하면

\[\begin{split} \begin{aligned} \Pi(x(t)) &=2t+3(6-2t)+5t\\ &=2t+18-6t+5t\\ &=18+(2-6+5)t\\ &=18+t. \end{aligned} \end{split}\]

따라서 \(t\)를 1 늘릴 때 총기여액이 1 증가합니다. \(0\le t\le3\)이므로 최댓값은 \(t=3\)에서 21이고, 계획은 \((3,0,3)\)입니다. 이 문제에는 미분이 필요하지 않습니다. \(t<3\)이면 \(18+t<21\)이므로 다른 계획은 더 낮은 값을 갖습니다.

계산의 핵심인 \(2-6+5\)는 어디에서 왔을까요? 자원량을 유지하는 변화 \(h=(1,-2,1)\)에 수익계수를 적용한 것입니다.

\[ \Pi(x(t+\Delta t))-\Pi(x(t)) =(2\cdot1+3(-2)+5\cdot1)\Delta t =\Delta t. \]

즉 영공간은 여기서 수익을 바꾸면서 자원 조건을 유지할 수 있는 변화를 찾는 데 쓰였습니다.

계수를 \(c=(c_1,c_2,c_3)\)로 바꾸면

\[ \Pi_c(x(t))=6c_2+(c_1-2c_2+c_3)t. \]

괄호 안의 값이 양수이면 \(t=3\), 음수이면 \(t=0\)이 가장 좋습니다. 0이면 모든 계획의 값이 같습니다.

예를 들어 \(c=(2,3,4)\)이면 \(2-6+4=0\)입니다. 왜 어떤 계획을 골라도 총기여액이 같을까요? 이 경우

\[\begin{split} \begin{aligned} 2x_1+3x_2+4x_3 &=2(x_1+x_2+x_3)+(x_2+2x_3)\\ &=2L+M. \end{aligned} \end{split}\]

이미 고정한 두 자원 사용량만으로 총기여액이 결정되기 때문입니다. \(L=M=6\)이면 항상 18입니다. 수익계수 행이 자원계수 행들의 선형결합인 경우, 이 모형에서는 그 수익값이 생산계획을 구별하지 못합니다.

가능한 계획의 계수 t가 0부터 3까지 변할 때 수익계수 (2,3,5)의 총기여액은 18에서 21로 증가하고, 수익계수 (2,3,4)의 총기여액은 18로 일정하다.

그림 184 같은 생산계획 \(x(t)\)를 두 수익계수로 평가한 결과입니다. 파란 선은 \(t=3\)에서 최대가 되지만, 초록 점선은 모든 계획을 같은 값으로 평가하므로 계획을 구별하지 못합니다.#

새로운 정보 한 개를 더 알면#

총기여액을 최적화하는 대신, 관측한 총기여액 \(r\)로 생산계획을 알아내려는 경우도 있습니다. \(c=(2,3,5)\)일 때 \(r=18+t\)이므로 \(t=r-18\)로 계획이 결정됩니다. 예를 들어 \(r=20\)이면 \(t=2\)이고 계획은 \((2,2,2)\)입니다. \(r=22\)라면 \(t=4\)라서 음이 아닌 생산계획은 없습니다.

반면 \(c=(2,3,4)\)에서는 \(r=18\)을 추가로 알려 주어도 새로운 정보가 없습니다. 모든 가능한 계획이 이미 그 값을 갖기 때문입니다. \(r\ne18\)을 관측했다면 같은 모형과 정확한 자원 사용량을 동시에 만족하는 해가 없는 것입니다.

새로운 방정식이 추가되었다고 항상 미지수가 하나 더 결정되는 것은 아닙니다. 앞의 조건과 독립적인 정보를 주는지가 중요합니다.

7. 통계물리: 같은 평균 에너지를 갖는 분포를 구한다#

이제 세 상태 \(0,1,2\)를 갖는 계를 생각하겠습니다. 각 상태의 에너지는

\[ E_0=0,\qquad E_1=\varepsilon,\qquad E_2=2\varepsilon, \qquad \varepsilon>0 \]

라고 합시다. 각 상태에 있을 확률을 \(p_0,p_1,p_2\)라 쓰면

\[ p_i\ge0,\qquad p_0+p_1+p_2=1. \]

여기서 \(p\)는 에너지 자체나 입자의 위치가 아니라 각 상태에 배정한 확률의 목록입니다. 확률로 상태를 기술하고 관측량의 평균을 계산하는 것은 통계물리의 기본 구성입니다. 관련 배경은 Peter Eastman의 통계역학 강의노트에서 이어 읽을 수 있습니다. 아래 세 상태의 수치는 이 수업에서 정했으며 필요한 계산은 여기서 모두 수행합니다.

평균 에너지는 각 에너지에 그 확률을 곱한 합으로 정의합니다.

\[ \langle E\rangle =E_0p_0+E_1p_1+E_2p_2 =0p_0+\varepsilon p_1+2\varepsilon p_2. \]

\(\langle E\rangle=\varepsilon\)라는 정보가 주어졌다고 합시다. \(\varepsilon>0\)이므로 양변을 \(\varepsilon\)로 나눌 수 있습니다.

\[ p_1+2p_2=1. \]

정규화 조건까지 합치면

\[\begin{split} \begin{bmatrix}1&1&1\\0&1&2\end{bmatrix} \begin{bmatrix}p_0\\p_1\\p_2\end{bmatrix} =\begin{bmatrix}1\\1\end{bmatrix}. \end{split}\]

같은 수치 행렬이 다시 나타났지만 성분의 의미는 달라졌습니다. 첫째 행은 확률의 합, 둘째 행은 \(\varepsilon\)로 나눈 평균 에너지입니다. 노동과 원료의 단위를 확률과 에너지에 그대로 옮겨 쓰는 것이 아닙니다.

이번에도 마지막 성분 \(p_2=s\)로 놓습니다.

\[ p_1=1-2s,\qquad p_0=1-p_1-p_2=1-(1-2s)-s=s. \]

따라서

\[\begin{split} p(s)=\begin{bmatrix}s\\1-2s\\s\end{bmatrix}. \end{split}\]

각 확률이 음이 아니어야 하므로 \(s\ge0\), \(1-2s\ge0\)이고, 결국

\[ 0\le s\le\frac12. \]

반대로 이 범위의 모든 \(s\)에서 세 성분이 음이 아니고

\[ s+(1-2s)+s=1,\qquad \varepsilon(1-2s)+2\varepsilon s=\varepsilon \]

이므로 모두 허용되는 분포입니다.

\(s\)

분포 \((p_0,p_1,p_2)\)

어떤 에너지가 관측되는가

\(0\)

\((0,1,0)\)

항상 \(\varepsilon\)

\(1/4\)

\((1/4,1/2,1/4)\)

\(0,\varepsilon,2\varepsilon\)가 세 확률로 나타남

\(1/2\)

\((1/2,0,1/2)\)

\(0\) 또는 \(2\varepsilon\), 각각 확률 \(1/2\)

세 분포의 평균은 모두 \(\varepsilon\)입니다. 하지만 첫 분포에서는 에너지가 변동하지 않고 마지막 분포에서는 평균과 다른 에너지만 나옵니다. 평균을 아는 것만으로 분포를 알 수 없다는 말을 구체적으로 확인했습니다.

이 분포들은 주어진 평균을 만족하는 후보입니다. 평균 조건만으로 열평형 분포가 결정되지는 않습니다. 특히 평균 에너지가 \(\varepsilon\)라는 조건과 매번 실제 에너지가 반드시 \(\varepsilon\)라는 조건은 다릅니다. 뒤의 조건을 부과하면 이 모형에서는 \((0,1,0)\)만 허용됩니다.

상태의 차이를 재는 두 번째 관측량: 분산#

에너지 분산을 평균으로부터의 제곱 편차의 평균으로 정의합니다.

\[ \operatorname{Var}(E)= \sum_{i=0}^{2}p_i(E_i-\langle E\rangle)^2. \]

지금은 \(\langle E\rangle=\varepsilon\)이므로 각 항을 따로 계산할 수 있습니다.

\[\begin{split} \begin{aligned} \operatorname{Var}(E) &=s(0-\varepsilon)^2 +(1-2s)(\varepsilon-\varepsilon)^2 +s(2\varepsilon-\varepsilon)^2\\ &=s\varepsilon^2+(1-2s)\cdot0+s\varepsilon^2\\ &=2s\varepsilon^2. \end{aligned} \end{split}\]

단위는 에너지의 제곱입니다. \(s=0\)에서 분산은 0, \(s=1/4\)에서 \(\varepsilon^2/2\), \(s=1/2\)에서 \(\varepsilon^2\)입니다. 같은 평균을 가진 분포들이 분산에서는 구별됩니다.

같은 확률 눈금의 막대그래프로 분포 (0,1,0), (1/4,1/2,1/4), (1/2,0,1/2)를 비교한다. 평균 에너지는 모두 엡실론이고 분산은 각각 0, 엡실론 제곱의 절반, 엡실론 제곱이다.

그림 185 막대의 높이는 해당 에너지 상태에 있을 확률입니다. 세 그림의 세로 눈금은 같습니다. 평균은 모두 \(\varepsilon\)이지만, 확률이 평균에서 떨어진 에너지에 배정될수록 이 가족의 분산 \(2s\varepsilon^2\)는 커집니다.#

예를 들어 분산이 \(\varepsilon^2/2\)라고 추가로 알았다면

\[ 2s\varepsilon^2=\frac{\varepsilon^2}{2} \quad\Longrightarrow\quad 2s=\frac12 \quad\Longrightarrow\quad s=\frac14. \]

따라서 분포는 \((1/4,1/2,1/4)\)로 유일하게 결정됩니다. \(\varepsilon\ne0\)여서 \(\varepsilon^2\)로 나눈 단계가 허용됩니다.

분산 대신 \(\langle E^2\rangle\)를 측정해도 됩니다. 먼저 둘의 관계를 생략 없이 전개하면, \(\mu=\langle E\rangle\)에 대해

\[\begin{split} \begin{aligned} \operatorname{Var}(E) &=\sum_i p_i(E_i-\mu)^2\\ &=\sum_i p_i(E_i^2-2\mu E_i+\mu^2)\\ &=\sum_i p_iE_i^2-2\mu\sum_i p_iE_i+\mu^2\sum_i p_i\\ &=\langle E^2\rangle-2\mu^2+\mu^2\\ &=\langle E^2\rangle-\mu^2. \end{aligned} \end{split}\]

넷째 줄에서 평균의 정의와 확률 합 1을 모두 사용했습니다. 이 예제에서는

\[ \frac{\langle E^2\rangle}{\varepsilon^2}=p_1+4p_2=1+2s. \]

따라서 정규화, 평균, 제곱의 평균을 함께 알면

\[\begin{split} \begin{bmatrix} 1&1&1\\ 0&1&2\\ 0&1&4 \end{bmatrix}p = \begin{bmatrix} 1\\1\\ \langle E^2\rangle/\varepsilon^2 \end{bmatrix}. \end{split}\]

셋째 식에서 둘째 식을 빼면 \(2p_2=\langle E^2\rangle/\varepsilon^2-1\)입니다. \(p_2\)가 결정되고, 둘째 식으로 \(p_1\), 첫째 식으로 \(p_0\)가 차례로 결정됩니다. 새로운 관측량이 남아 있던 자유변수를 결정한 것입니다.

확률분포는 벡터공간인가#

확률 목록은 \(\mathbb R^3\)의 벡터이지만, 확률분포 전체의 집합은 부분공간이 아닙니다. 영벡터는 성분 합이 0이어서 분포가 아니며, 분포를 두 배하면 합이 2여서 다시 분포가 되지 않습니다.

그런데 평균을 유지하는 두 분포의 차이는

\[\begin{split} p(s')-p(s) =(s'-s)\begin{bmatrix}1\\-2\\1\end{bmatrix} \end{split}\]

입니다. 이 차이에는 음수가 들어갈 수 있습니다. \(p(0)\)에서 \(p(1/4)\)로 바뀌면 확률 변화는 \((1/4,-1/2,1/4)\)입니다. 가운데 상태의 확률을 \(1/2\) 줄여 양 끝 상태에 각각 \(1/4\)씩 더한 것입니다.

변화의 성분 합은 0이고, 에너지 가중합도

\[ 0\cdot\frac14+\varepsilon\left(-\frac12\right) +2\varepsilon\cdot\frac14=0 \]

입니다. 확률 합과 평균을 보존하는 변화들이 앞서 구한 영공간에 속합니다.

다만 영공간의 임의의 변화가 현재 분포에 무제한으로 적용되지는 않습니다. \(p(s)+\delta h=p(s+\delta)\)가 분포이려면

\[ 0\le s+\delta\le\frac12, \quad\text{즉}\quad -s\le\delta\le\frac12-s \]

여야 합니다. 예를 들어 \(s=0\)에서는 \(\delta<0\)인 변화를 적용할 수 없습니다. 영공간은 등식 제약을 보존하는 변화를 말하고, 비음수 조건은 실제 허용되는 변화의 크기와 방향을 제한합니다.

8. 같은 선형결합이라도 실제 허용 범위는 다르다#

생산계획과 확률분포를 나란히 놓으면 구분해야 할 대상이 분명해집니다.

대상

방정식

실제 허용 조건

생산계획 \(x\)

\(Ax=(6,6)^{\mathsf T}\)

\(x_j\ge0\)

확률분포 \(p\)

\(Ap=(1,1)^{\mathsf T}\)

\(p_i\ge0\)

합계를 보존하는 변화 \(z\)

\(Az=0\)

등식만 보면 모든 실수배 허용

기준상태에서 가능한 변화

\(Az=0\)

바뀐 상태의 각 성분도 음이 아니어야 함

이 표는 두 분야가 물리적으로 같은 대상이라는 뜻이 아닙니다. 각각의 정의와 단위에서 얻은 조건을 정리했더니 동일한 선형 연산이 나타났다는 뜻입니다.

확률분포 둘을 섞는 계산도 해 보겠습니다. \(p,q\)가 같은 평균 조건을 만족하고 \(0\le\lambda\le1\)이면

\[ r=\lambda p+(1-\lambda)q \]

의 각 성분은 음이 아닌 수 둘의 합이므로 음이 아닙니다. 성분 합은

\[ \sum_i r_i=\lambda\sum_i p_i+(1-\lambda)\sum_i q_i =\lambda+(1-\lambda)=1 \]

입니다. 또한 선형성에서

\[ Ar=\lambda Ap+(1-\lambda)Aq =\lambda b+(1-\lambda)b=b \]

이므로 같은 평균 조건도 유지됩니다. 이처럼 두 원소 사이의 가중평균을 모두 포함하는 집합을 볼록집합이라고 합니다.

\(\lambda=2\)처럼 범위를 벗어나면 같은 결론을 보장할 수 없습니다. \(p=p(0)=(0,1,0)\), \(q=p(1/2)=(1/2,0,1/2)\)로 놓으면

\[ 2p-q=(-1/2,2,-1/2) \]

입니다. 성분 합과 평균 조건은 맞지만 음의 확률 때문에 분포가 아닙니다. 선형결합의 계수를 어떤 범위에서 허용하는지까지 확인해야 합니다.

확률 합이 1인 평면에서 세 순수 상태를 꼭짓점으로 하는 삼각형을 그린다. 고정 평균을 만족하는 분포는 꼭짓점 p와 맞은편 변의 중점 q를 잇는 선분이다. 두 분포의 중간값은 선분 위에 있고, 2p-q는 삼각형 밖에 있다.

그림 186 \(p_0+p_1+p_2=1\)인 평면을 펼쳐 그렸습니다. 세 성분이 음이 아닌 분포는 삼각형의 내부와 경계에 있고, 평균 에너지까지 \(\varepsilon\)로 고정하면 파란 선분만 남습니다. 가중평균 \((p+q)/2\)는 선분 안에 있지만, \(2p-q\)는 음의 성분 때문에 삼각형 밖에 있습니다.#

9. 선택 읽기 · 확률이 시간에 따라 바뀔 때도 행렬을 쓴다#

여기까지 읽으면 이번 수업의 중심 내용은 완성됩니다. 조금 더 이어서, 같은 분포가 시간에 따라 바뀌는 계산을 해 보겠습니다. 필요한 새 가정은 상태가 다음 시점에 어떻게 바뀌는지에 관한 규칙 하나입니다.

현재 상태가 주어졌을 때 다음 상태의 확률이 다음 표와 같다고 정합니다. 이 규칙은 매 시점 같고, 다음 상태의 확률은 현재 상태에만 의존한다고 가정합니다.

다음 상태

현재 0

현재 1

현재 2

0

\(3/4\)

\(1/4\)

\(0\)

1

\(1/4\)

\(1/2\)

\(1/4\)

2

\(0\)

\(1/4\)

\(3/4\)

이것은 이산시간의 교육용 전이 모형입니다. 세 에너지를 정했다고 이 전이확률이 저절로 따라오는 것은 아닙니다. 실제 물리계에 적용하려면 상호작용과 외부 환경에 근거해 전이 규칙을 정해야 합니다. 확률의 시간 변화를 전이행렬과 마스터 방정식으로 기술하는 물리학의 연결은 MIT의 통계물리 강의에서 다룹니다. 여기서는 표를 가정한 뒤의 계산만 수행합니다.

다음 시점에 상태 0에 있는 경우는 현재 0에서 남는 경우, 현재 1에서 오는 경우, 현재 2에서 오는 경우로 나뉩니다. 서로 겹치지 않는 경우의 확률을 더하면

\[ p_0'=\frac34p_0+\frac14p_1+0p_2. \]

예를 들어 현재 1일 확률이 \(p_1\)이고 그중 다음 0으로 옮겨가는 조건부확률이 \(1/4\)이므로 그 기여가 \(p_1/4\)입니다. 나머지 두 상태도 각각 쓰면

\[ p_1'=\frac14p_0+\frac12p_1+\frac14p_2,\qquad p_2'=0p_0+\frac14p_1+\frac34p_2. \]

따라서 \(p'=Mp\)이며

\[\begin{split} M=\begin{bmatrix} 3/4&1/4&0\\ 1/4&1/2&1/4\\ 0&1/4&3/4 \end{bmatrix}. \end{split}\]

한 열은 하나의 현재 상태에서 가능한 다음 상태들의 확률입니다. 각 열의 합은 1입니다. 따라서

\[ p_0'+p_1'+p_2' =(3/4+1/4+0)p_0+(1/4+1/2+1/4)p_1 +(0+1/4+3/4)p_2=1. \]

모든 항이 음이 아니므로 새 성분들도 음이 아닙니다. 그래서 이 행렬은 확률분포를 다시 확률분포로 보냅니다.

앞에서 구한 \(p(s)=(s,1-2s,s)^{\mathsf T}\)를 대입해 보겠습니다.

\[\begin{split} \begin{aligned} p_0'&=\frac34s+\frac14(1-2s)=\frac14+\frac14s,\\ p_1'&=\frac14s+\frac12(1-2s)+\frac14s=\frac12-\frac12s,\\ p_2'&=\frac14(1-2s)+\frac34s=\frac14+\frac14s. \end{aligned} \end{split}\]

\(s'=1/4+s/4\)라고 쓰면 \(1-2s'=1/2-s/2\)이므로 \(p'=p(s')\)입니다. 세 확률의 갱신을 실수 한 개의 갱신으로 정확히 줄였습니다.

\(p'=p\)인 분포를 정상분포라고 부릅니다. 이 가족에서는

\[ s=\frac14+\frac14s \quad\Longrightarrow\quad \frac34s=\frac14 \quad\Longrightarrow\quad s_*=\frac13. \]

따라서 \(p_*=(1/3,1/3,1/3)^{\mathsf T}\)는 그대로 유지됩니다. 다른 \(s\)가 어떻게 변하는지도 계산할 수 있습니다.

\[ s'-\frac13 =\frac14+\frac14s-\frac13 =\frac14s-\frac1{12} =\frac14\left(s-\frac13\right). \]

한 단계마다 차이가 \(1/4\)배가 됩니다. \(s_n\)\(n\)번 갱신한 값이라고 쓰면 반복 대입으로

\[ s_n-\frac13=\left(\frac14\right)^n\left(s_0-\frac13\right). \]

\(n=0\)에서 이 식은 자기 자신입니다. \(n\)에서 맞다고 가정하면 갱신식에서 양변에 \(1/4\)을 곱해 \(n+1\)의 식을 얻으므로 모든 자연수 \(n\)에서 성립합니다.

\((1/4)^n\)이 0에 가까워지는 이유도 확인할 수 있습니다. \(4^n\ge n+1\)\(n=0\)에서 맞고, \(4^{n+1}\ge4(n+1)\ge n+2\)로 귀납됩니다. 따라서 \(0<(1/4)^n\le1/(n+1)\)이고, 양의 허용 오차를 정하면 \(n\)을 충분히 크게 골라 오른쪽을 그보다 작게 만들 수 있습니다. 그러므로 \(s_n\to1/3\)이고 각 성분도 \(1/3\)으로 갑니다.

초기분포 (0,1,0)에서 시작한 확률의 여섯 시점을 표시한다. 가운데 상태 확률은 감소하고 양 끝 상태 확률은 함께 증가하여 1/3에 접근한다. 아래 로그 눈금 그래프는 정상값과의 차이가 매 단계 1/4배가 됨을 보인다.

그림 187 초기분포 \((0,1,0)\), 즉 \(s_0=0\)인 경우입니다. 위에서는 \(p_0=p_2=s_n\)이므로 두 확률이 하나의 선으로 겹칩니다. 아래는 \(|s_n-1/3|\)을 로그 눈금으로 표시해 매 단계의 \(1/4\)배 감소를 보여줍니다. 점은 정수 시점의 값이고 연결선은 읽기를 돕기 위한 것입니다.#

벡터 식으로는

\[\begin{split} p(s)=p_*+\left(s-\frac13\right)h,\qquad Mh=\begin{bmatrix}3/4-2/4\\1/4-1+1/4\\-2/4+3/4\end{bmatrix} =\frac14\begin{bmatrix}1\\-2\\1\end{bmatrix} =\frac14h. \end{split}\]

행렬을 적용했을 때 벡터의 실수배가 되는 식 \(Mh=\lambda h\), \(h\ne0\)을 만족하면 \(h\)고유벡터, \(\lambda\)고윳값이라고 합니다. 여기서는 고윳값 \(1/4\)이 같은 평균 안에서 분포 차이가 줄어드는 비율로 나타났습니다. 일반적인 고윳값 이론을 사용해 이 결과를 얻은 것이 아니라, 계산한 결과에 이름을 붙였습니다.

이 모형이 모든 분포의 에너지를 보존하는 것은 아닙니다. \(m=p_1+2p_2\)라 놓고 계산하면

\[\begin{split} \begin{aligned} m' &=p_1'+2p_2'\\ &=\frac14p_0+p_1+\frac74p_2\\ &=\frac14(p_0+p_1+p_2)+\frac34(p_1+2p_2)\\ &=\frac14+\frac34m. \end{aligned} \end{split}\]

따라서 \(m=1\)인 가족에서는 평균이 유지되지만 다른 평균은 변합니다. 각 개별 상태 전이에서도 에너지가 변할 수 있으므로 고립계의 에너지 보존 법칙을 이 표에 부여해서는 안 됩니다.

10. 손계산을 숫자로 확인하기#

다음 코드는 앞에서 유도한 식을 그대로 확인합니다. 코드를 먼저 실행할 필요는 없습니다. 표의 숫자를 손계산과 비교하는 용도입니다.

import numpy as np

A = np.array([[1., 1., 1.], [0., 1., 2.]])
h = np.array([1., -2., 1.])
assert np.array_equal(A @ h, [0., 0.])

print("생산계획 | 자원 합계 | 기여액")
for t in [0., 1., 2., 3.]:
    x = np.array([t, 6. - 2.*t, t])
    revenue = np.array([2., 3., 5.]) @ x
    print(x, A @ x, revenue)
    assert np.all(x >= 0)
    assert np.array_equal(A @ x, [6., 6.])
    assert revenue == 18. + t

print("확률분포 | 평균 E/epsilon | 분산/epsilon^2")
energies = np.array([0., 1., 2.])  # 에너지 단위 epsilon으로 나눈 값
for s in [0., 0.25, 0.5]:
    p = np.array([s, 1. - 2.*s, s])
    mean = energies @ p
    variance = ((energies - mean)**2) @ p
    print(p, mean, variance)
    assert np.array_equal(A @ p, [1., 1.])
    assert variance == 2.*s
생산계획 | 자원 합계 | 기여액
[0. 6. 0.] [6. 6.] 18.0
[1. 4. 1.] [6. 6.] 19.0
[2. 2. 2.] [6. 6.] 20.0
[3. 0. 3.] [6. 6.] 21.0
확률분포 | 평균 E/epsilon | 분산/epsilon^2
[0. 1. 0.] 1.0 0.0
[0.25 0.5  0.25] 1.0 0.5
[0.5 0.  0.5] 1.0 1.0

처음부터 서로 다른 물리 단위의 숫자를 같은 변수에 섞지 않도록, 확률 계산에서는 에너지를 \(\varepsilon\)로 나눈 값을 사용했습니다. 분산에 \(\varepsilon^2\)를 곱하면 원래 에너지 단위로 돌아갑니다.

import numpy as np

M = np.array([[0.75, 0.25, 0.],
              [0.25, 0.5, 0.25],
              [0., 0.25, 0.75]])
p = np.array([0., 1., 0.])
print("시점 | 분포")
for n in range(5):
    predicted_s = 1./3. + (0.25**n)*(0. - 1./3.)
    predicted_p = np.array([predicted_s, 1.-2.*predicted_s, predicted_s])
    print(n, p)
    assert np.allclose(p, predicted_p, rtol=0., atol=1e-14)
    assert np.all(p >= 0)
    assert abs(p.sum() - 1.) < 1e-14
    p = M @ p
시점 | 분포
0 [0. 1. 0.]
1 [0.25 0.5  0.25]
2 [0.3125 0.375  0.3125]
3 [0.328125 0.34375  0.328125]
4 [0.33203125 0.3359375  0.33203125]

이 검사는 다섯 시점의 계산을 확인합니다. 모든 시점에 대한 식은 9절에서 귀납으로 증명했습니다. 코드의 허용 오차는 컴퓨터가 \(1/3\) 같은 수를 유한한 자릿수로 저장하기 때문에 사용했습니다.

11. 직접 바꾸어 풀어 보는 세 문제#

새로운 숫자에서 같은 설명을 다시 할 수 있는지 확인해 보세요. 바로 아래에 전체 풀이를 두었습니다.

문제 1. 자원량을 바꾸면#

노동 5시간, 원료 3kg을 정확히 사용하는 계획을 모두 구하세요. 각 활동의 순기여액이 \((2,3,5)\)라면 최적 계획과 총기여액도 구하세요.

풀이. \(x_3=t\)로 놓으면 원료 조건에서 \(x_2=3-2t\)입니다. 노동 조건에 넣으면 \(x_1=5-(3-2t)-t=2+t\)입니다. 따라서

\[ x=(2+t,3-2t,t). \]

비음수 조건은 \(t\ge-2\), \(t\le3/2\), \(t\ge0\)이므로 \(0\le t\le3/2\)입니다. 대입하면 노동은 \(2+t+3-2t+t=5\), 원료는 \(3-2t+2t=3\)이어서 모든 후보가 실제로 가능합니다.

총기여액은

\[ 2(2+t)+3(3-2t)+5t=4+2t+9-6t+5t=13+t. \]

따라서 \(t=3/2\)에서 최대이고 계획은 \((7/2,0,3/2)\), 총기여액은 \(29/2\)입니다.

문제 2. 평균 에너지를 바꾸면#

평균 에너지가 \(\varepsilon/2\)일 때 분포를 모두 구하세요. 에너지를 \(\varepsilon\)로 나눈 확률변수를 \(Y\)라고 할 때 분산도 구하세요.

풀이. 정규화와 평균 조건은 \(p_0+p_1+p_2=1\), \(p_1+2p_2=1/2\)입니다. \(p_2=s\)라 놓으면

\[ p_1=\frac12-2s,\qquad p_0=1-\left(\frac12-2s\right)-s=\frac12+s. \]

각 성분이 음이 아니려면 \(s\ge0\), \(s\le1/4\), \(s\ge-1/2\)이므로 \(0\le s\le1/4\)입니다. 이 범위에서 성분 합은 1이고 평균은 \(1/2-2s+2s=1/2\)입니다.

\(Y\)의 값은 \(0,1,2\)이므로

\[ \langle Y^2\rangle=p_1+4p_2=\frac12-2s+4s=\frac12+2s. \]

7절에서 전개한 분산식으로

\[ \operatorname{Var}(Y) =\langle Y^2\rangle-\langle Y\rangle^2 =\frac12+2s-\frac14 =\frac14+2s. \]

에너지 \(E=\varepsilon Y\)의 분산은 정의에 대입하여 \(\sum_i p_i(\varepsilon Y_i-\varepsilon\langle Y\rangle)^2 =\varepsilon^2\operatorname{Var}(Y)\)입니다.

문제 3. 합계 하나가 정말 새로운 정보인가#

원래 생산문제 \(L=M=6\)에서 추가 관측값이 \(q=x_1+3x_2+5x_3\)라고 합시다. \(q\)를 알면 생산계획이 유일해질까요?

풀이. \(x=(t,6-2t,t)\)를 대입하면

\[ q=t+3(6-2t)+5t=18+(1-6+5)t=18. \]

따라서 \(q=18\)은 모든 계획에서 같아 계획을 구별하지 못합니다. \(q\ne18\)이면 제약들을 동시에 만족하는 해가 없습니다. 이 이유는 행의 관계로도 확인할 수 있습니다.

\[ (1,3,5)=(1,1,1)+2(0,1,2). \]

따라서 \(q=L+2M=6+12=18\)입니다. 추가 식이 이미 알고 있는 두 식의 결합이었습니다.

12. 이번 계산에서 얻은 선형대수의 내용#

처음에는 자원 사용량 두 개를 만족하는 생산량 세 개를 찾았습니다. 해를 전개하니 기준계획과 변화량이 분리되었고, 그 변화량을 모두 모은 것이 영공간이었습니다. 변화의 비율 하나로 모든 해를 적을 수 있어 기저와 차원이 필요해졌습니다.

경제학에서는 그 변화를 적용했을 때 총기여액이 증가하는지 계산했습니다. 통계물리에서는 같은 정규화와 평균 에너지를 유지하면서 분포가 달라질 수 있고, 분산이라는 추가 관측량이 그 차이를 구별함을 계산했습니다. 선택 읽기에서는 확률의 갱신도 행렬곱이며, 특별한 변화가 매번 \(1/4\)배가 되는 식에서 고유벡터가 등장했습니다.

이제 \(Ax=b\)를 만나면 행렬식이나 역행렬부터 찾기 전에, 각 성분이 무엇을 뜻하는지 적을 수 있습니다. 해 하나를 찾은 뒤에는 \(Az=0\)을 풀어 무엇을 바꿀 수 있는지 확인하고, 마지막으로 비음수 같은 모형의 제약을 적용할 수 있습니다. 이번 수업에서 실제로 수행한 순서가 그것입니다.

13. 지금까지의 내용을 수학의 언어로 정리해 봅시다#

지금까지 우리는 생산계획을 구하고, 자원 사용량을 유지하는 변화를 찾고, 같은 평균 에너지를 갖는 확률분포를 계산했습니다. 수학에서는 이러한 내용을 어떻게 정의하고, 어떤 정리로 쓰며, 어떻게 증명할까요?

이번에는 같은 내용을 수학의 언어로 옮겨 보겠습니다. 표현이 조금 딱딱해지지만, 문장에 담긴 내용은 앞에서 살펴본 것입니다. 각 정의를 읽을 때는 앞의 어떤 대상을 가리키는지, 각 증명을 읽을 때는 앞의 어떤 계산을 일반적으로 쓴 것인지 함께 확인해 봅시다.

여기서는 실수 좌표공간에서 정식화합니다. \(\mathbb R^n\)은 실수 \(n\)개를 나열한 벡터의 집합입니다. \(\forall\)는 “모든”, \(\exists\)는 “존재한다”, \(\Longleftrightarrow\)는 “양쪽 방향이 모두 성립한다”는 뜻입니다. 벡터의 등식은 모든 성분이 같다는 뜻으로 읽습니다.

13.1 “허용되는 변화를 더하고 실수배한다”를 정의로 쓰기#

3절에서 자원량을 바꾸지 않는 변화들을 더하거나 실수배해도 같은 성질을 유지했습니다. 이 조건을 다음처럼 적습니다.

정의 22 (실수 좌표공간의 부분공간)

\(\mathbb R^n\)의 덧셈과 실수배를

\[(u+v)_i=u_i+v_i,\qquad (cu)_i=cu_i \quad (i=1,\ldots,n)\]

로 정의한다.

부분집합 \(V\subseteq\mathbb R^n\)이 다음 세 조건을 만족하면 \(\mathbb R^n\)의 부분공간이라 한다.

  1. \(0\in V\).

  2. \(\forall u,v\in V,\ u+v\in V\).

  3. \(\forall c\in\mathbb R,\ \forall v\in V,\ cv\in V\).

여기서 두 번째 조건은 “두 원소가 집합에 있으면 그 합도 집합에 있다”라는 문장을 기호로 쓴 것입니다. 세 번째 조건에서도 \(c\)는 양수만이 아니라 모든 실수입니다. 그래서 실제 생산계획이나 확률분포의 집합에는 이 정의를 그대로 적용할 수 없었습니다.

이 정의가 요구하는 것은 집합 안에서 연산할 수 있다는 사실입니다. 교환·결합·분배법칙은 실수의 성분 연산에서 물려받고, 영벡터는 첫 조건에서, \(-v=(-1)v\)의 소속은 셋째 조건에서 얻습니다. 그러므로 이 연산을 갖춘 부분공간은 실수 벡터공간입니다.

정의 23 (선형사상)

\(V\subseteq\mathbb R^n\), \(W\subseteq\mathbb R^m\)이 부분공간이라고 하자. 함수 \(T:V\to W\)

\[\forall a,b\in\mathbb R,\ \forall u,v\in V,\qquad T(au+bv)=aT(u)+bT(v)\]

를 만족하면 \(T\)를 선형사상이라 한다.

2절에서는 \(T(x)=Ax\)에 대해 바로 이 성질을 성분별로 확인했습니다. 정의의 \(u,v\)는 임의의 입력이고, \(a,b\)는 임의의 실수입니다. 특정 생산계획 두 개에서 맞는다는 확인만으로는 이 정의를 만족한다고 말할 수 없습니다.

앞으로 사용할 두 식을 먼저 증명합니다.

보조정리 6 (영벡터와 차이의 보존)

\(T:V\to W\)가 선형이면 \(T(0)=0\)이고, 모든 \(u,v\in V\)에 대해 \(T(u-v)=T(u)-T(v)\)이다.

Proof. 선형성에 \(a=b=0\)\(u=v=0\)을 대입하면

\[T(0)=T(0\cdot0+0\cdot0)=0T(0)+0T(0)=0.\]

또한 \(u-v=1u+(-1)v\)이므로

\[T(u-v)=T(1u+(-1)v)=1T(u)+(-1)T(v)=T(u)-T(v).\]

따라서 두 결론이 성립한다.

13.2 “변화가 출력에 나타나지 않는다”를 핵으로 정의하기#

정의 24 (핵과 상)

선형사상 \(T:V\to W\)의 핵과 상을 각각

\[\ker T=\{v\in V:T(v)=0\},\qquad \operatorname{im}T=\{T(v):v\in V\}\]

로 정의한다.

\(\ker T\)는 입력 쪽의 집합이고 \(\operatorname{im}T\)는 출력 쪽의 집합입니다. 생산 모형에서는 전자가 자원 사용량의 변화가 0인 생산량 변화, 후자가 실수 입력을 허용했을 때 만들 수 있는 자원 합계였습니다.

정리 71 (핵과 상은 부분공간이다)

\(T:V\to W\)가 선형이면 \(\ker T\)\(V\)의 부분공간이고 \(\operatorname{im}T\)\(W\)의 부분공간이다.

Proof. \(T(0)=0\)이므로 \(0\in\ker T\)이다. \(u,v\in\ker T\)이면

\[T(u+v)=T(u)+T(v)=0+0=0,\]

따라서 \(u+v\in\ker T\)이다. \(c\in\mathbb R\), \(u\in\ker T\)이면

\[T(cu)=cT(u)=c0=0,\]

따라서 \(cu\in\ker T\)이다. 부분공간의 세 조건을 모두 만족한다.

상에 대해서도 \(0=T(0)\)이므로 \(0\in\operatorname{im}T\)이다. \(y,z\in\operatorname{im}T\)를 잡으면 정의에 의해 \(T(u)=y\), \(T(v)=z\)\(u,v\in V\)가 존재한다. \(u+v\in V\)이고

\[y+z=T(u)+T(v)=T(u+v)\]

이므로 \(y+z\in\operatorname{im}T\)이다. \(c\in\mathbb R\)에 대해 \(cu\in V\)이고

\[cy=cT(u)=T(cu)\]

이므로 \(cy\in\operatorname{im}T\)이다. 따라서 상도 부분공간이다.

증명에서 “정의에 의해 \(u,v\)가 존재한다”는 부분을 주의해 읽으세요. 출력 \(y,z\)가 상에 속한다는 말은 그것들을 만드는 입력이 있다는 뜻입니다. 그 입력을 고른 다음에야 선형성을 사용할 수 있습니다.

13.3 “기준해에 가능한 변화를 더한다”를 정리로 쓰기#

정의 25 (아핀 부분공간)

\(N\subseteq V\)가 부분공간이고 \(x_0\in V\)일 때

\[x_0+N=\{x_0+z:z\in N\}\]

꼴의 집합을 아핀 부분공간이라 한다.

정리 72 (선형방정식의 해집합)

\(T:V\to W\)가 선형이고 \(b\in W\)라 하자. \(T(x_0)=b\)\(x_0\in V\)가 존재하면

\[S_b:=\{x\in V:T(x)=b\}=x_0+\ker T.\]

특히 \(S_b\)는 아핀 부분공간이다.

Proof. 먼저 \(x\in S_b\)를 잡는다. \(T(x)=b\)\(T(x_0)=b\)이므로

\[T(x-x_0)=T(x)-T(x_0)=b-b=0.\]

따라서 \(x-x_0\in\ker T\)이다. \(x=x_0+(x-x_0)\)이므로 \(x\in x_0+\ker T\)이다. 따라서 \(S_b\subseteq x_0+\ker T\)이다.

반대로 \(x\in x_0+\ker T\)를 잡는다. 정의에 의해 \(x=x_0+z\)\(z\in\ker T\)가 존재한다. 그러면

\[T(x)=T(x_0+z)=T(x_0)+T(z)=b+0=b.\]

따라서 \(x\in S_b\)이고 \(x_0+\ker T\subseteq S_b\)이다. 두 포함으로 등식을 얻는다. 앞의 정리에 의해 \(\ker T\)는 부분공간이므로 아핀 부분공간의 정의도 만족한다.

3절에서 \(x^{(0)}=(0,6,0)^{\mathsf T}\)\(h=(1,-2,1)^{\mathsf T}\)로 쓴 해는 이 정리의 구체적인 경우입니다.

\[S_{(6,6)^{\mathsf T}} =(0,6,0)^{\mathsf T}+\{th:t\in\mathbb R\}.\]

생산계획을 얻으려면 여기에서 각 성분이 음이 아닌 해만 골라야 합니다. 따라서 \(0\le t\le3\)이라는 조건은 해집합 정리와 별도로 적용한 조건입니다.

따름정리 1 (해의 유일성)

위 정리의 가정 아래에서, \(T(x)=b\)의 해가 유일할 필요충분조건은 \(\ker T=\{0\}\)이다.

Proof. \(\ker T=\{0\}\)이면 해집합 정리에서 \(S_b=x_0+\{0\}=\{x_0\}\)이므로 해가 유일하다.

반대로 해가 유일하다고 가정하자. 임의의 \(z\in\ker T\)에 대해 \(T(x_0+z)=b\)이므로 \(x_0+z\)도 해이다. 유일성에 의해 \(x_0+z=x_0\)이고 양변에서 \(x_0\)를 빼면 \(z=0\)이다. 모든 핵의 원소가 0이고 \(0\)은 핵에 속하므로 \(\ker T=\{0\}\)이다.

여기서 “위 정리의 가정 아래”에는 해가 하나 존재한다는 조건이 들어 있습니다. 존재와 유일성은 서로 다른 질문입니다.

13.4 “한 개의 계수로 유일하게 적는다”를 기저로 정의하기#

정의 26 (생성, 일차독립, 기저)

\(V\)의 유한한 벡터 목록 \(B=(v_1,\ldots,v_r)\)에 대해 다음과 같이 정의한다.

  • 모든 \(v\in V\)\(v=\sum_{i=1}^r c_i v_i\)로 표현되면 \(B\)\(V\)를 생성한다고 한다.

  • \(\sum_{i=1}^r c_i v_i=0\)에서 반드시 \(c_1=\cdots=c_r=0\)이면 \(B\)가 일차독립이라고 한다.

  • \(V\)를 생성하면서 일차독립이면 \(B\)\(V\)의 기저라고 한다.

여기서 모든 계수 \(c_i\)는 실수이다.

정리 73 (기저와 유일한 표현)

유한한 목록 \(B=(v_1,\ldots,v_r)\)\(V\)의 기저일 필요충분조건은 모든 \(v\in V\)\(v=\sum_i c_i v_i\)로 유일하게 표현되는 것이다.

Proof. 먼저 \(B\)가 기저라고 하자. 생성의 정의에 의해 각 \(v\)의 표현이 존재한다. 두 표현

\[v=\sum_i c_i v_i=\sum_i d_i v_i\]

가 있으면 양쪽 표현을 빼서

\[0=\sum_i(c_i-d_i)v_i\]

를 얻는다. 일차독립성에 의해 각 \(c_i-d_i=0\)이므로 \(c_i=d_i\)이다. 따라서 표현이 유일하다.

반대로 모든 벡터의 표현이 존재하고 유일하다고 하자. 존재 조건에서 \(B\)\(V\)를 생성한다. 이제 \(\sum_i c_i v_i=0\)이라고 하자. 영벡터에는 \(\sum_i0v_i=0\)이라는 표현도 있다. 표현의 유일성을 영벡터에 적용하면 각 \(c_i=0\)이다. 따라서 \(B\)는 일차독립이고, 생성 조건과 합쳐 기저이다.

이번 예제의 핵에서는 \(B=(h)\)였습니다. 모든 원소가 \(th\)이고, \(th=t'h\)이면 첫 성분에서 \(t=t'\)이므로 방금 정리의 조건을 직접 확인할 수 있습니다.

4절에서 이 공간의 차원을 1이라고 한 이유는 기저에 벡터가 하나 있기 때문입니다. 다른 기저를 골라도 이 공간에서 두 벡터가 독립일 수 없다는 계산까지 그 절에서 확인했습니다. 임의의 유한생성 벡터공간에서 기저의 원소 수가 항상 같은지에 대한 일반 정리는 이번 구체적인 차원 계산과 구별합니다.

13.5 “이 관측값으로 해를 구별할 수 없다”를 명제로 쓰기#

6절의 수익과 7절의 관측량 평균은 입력 성분에 고정된 계수를 곱해 더하는 함수였습니다. 일반적으로 선형함수 \(\ell:V\to\mathbb R\)선형범함수라고 부릅니다. 예를 들어 \(\ell(x)=\sum_j c_jx_j\)이면

\[\ell(au+bv)=\sum_j c_j(au_j+bv_j) =a\sum_j c_ju_j+b\sum_j c_jv_j =a\ell(u)+b\ell(v)\]

이므로 선형입니다.

명제 4 (해집합에서 일정한 선형 관측량)

\(T:V\to W\)\(\ell:V\to\mathbb R\)가 선형이고 \(T(x_0)=b\)라 하자. 다음 두 조건은 동치이다.

(a) \(\ell\)\(S_b=\{x:T(x)=b\}\)에서 일정하다.

(b) 모든 \(z\in\ker T\)에 대해 \(\ell(z)=0\)이다.

Proof. (a)를 가정한다. 임의의 \(z\in\ker T\)에 대해 \(x_0\)\(x_0+z\)는 모두 \(S_b\)에 속한다. 따라서

\[\ell(x_0+z)=\ell(x_0).\]

선형성에서 왼쪽은 \(\ell(x_0)+\ell(z)\)이므로 양변에서 \(\ell(x_0)\)를 빼면 \(\ell(z)=0\)이다. 따라서 (b)가 성립한다.

(b)를 가정한다. 임의의 \(x\in S_b\)에 대해 해집합 정리에서 \(x=x_0+z\)\(z\in\ker T\)가 존재한다. 그러면

\[\ell(x)=\ell(x_0)+\ell(z)=\ell(x_0)+0=\ell(x_0).\]

모든 \(x\in S_b\)에서 같은 값을 가지므로 (a)가 성립한다.

이번 행렬에서는 \(\ker A=\{th:t\in\mathbb R\}\)이므로 (b)는 \(\ell(h)=0\)과 같습니다. 실제로 \(\ell(h)=0\)이면 \(\ell(th)=t\ell(h)=0\)이고, (b)가 성립하면 \(h\in\ker A\)에 적용해 \(\ell(h)=0\)을 얻습니다.

따라서 \(\ell_c(x)=c_1x_1+c_2x_2+c_3x_3\)에 대해서는

\[\ell_c(h)=c_1-2c_2+c_3\]

을 검사하면 됩니다. \(c=(2,3,4)\)에서는 0이어서 모든 해의 수익이 같았고, \(c=(2,3,5)\)에서는 1이어서 해에 따라 수익이 달랐습니다.

이 명제는 비음수 제약을 적용하기 전의 전체 아핀 해집합에 관한 것입니다. 비음수 조건 때문에 허용된 해가 하나만 남는 경우에는, 그 한 점 위에서 관측량이 일정하다는 사실만으로 (b)를 결론낼 수 없습니다.

13.6 “허용된 두 상태를 섞는다”를 볼록성으로 쓰기#

정의 27 (볼록집합)

\(C\subseteq\mathbb R^n\)

\[\forall x,y\in C,\ \forall\lambda\in[0,1],\qquad \lambda x+(1-\lambda)y\in C\]

를 만족하면 볼록집합이라 한다.

명제 5 (비음수 선형 제약의 볼록성)

\(A\in\mathbb R^{m\times n}\), \(b\in\mathbb R^m\)에 대해

\[C=\{x\in\mathbb R^n:Ax=b,\ x_i\ge0\text{ for all }i\}\]

는 볼록집합이다.

Proof. \(x,y\in C\)\(\lambda\in[0,1]\)을 임의로 잡고 \(z=\lambda x+(1-\lambda)y\)라 하자. 각 \(i\)에서 \(x_i,y_i,\lambda,1-\lambda\)가 모두 음이 아니므로

\[z_i=\lambda x_i+(1-\lambda)y_i\ge0.\]

또한 행렬곱의 선형성에 의해

\[Az=\lambda Ax+(1-\lambda)Ay =\lambda b+(1-\lambda)b=b.\]

따라서 \(z\in C\)이므로 볼록집합의 정의를 만족한다. \(C\)가 비어 있는 경우에는 검사할 \(x,y\)가 없으므로 보편 조건이 성립하며, 같은 정의에서 볼록집합으로 분류한다.

생산계획과 고정된 평균 에너지를 갖는 확률분포는 각각 이 집합의 예입니다. 확률의 합 1도 \(Ax=b\)의 한 행에 들어 있으므로 별도의 예외 없이 적용됩니다. 부분공간과 달리 계수의 범위가 \(\lambda\in[0,1]\)이고 두 계수의 합이 1이라는 점을 확인하세요.

13.7 선택 읽기의 계산을 고유벡터의 언어로 쓰기#

9절까지 읽었다면 다음 정의도 이미 계산으로 만났습니다.

정의 28 (고윳값과 고유벡터)

선형사상 \(M:\mathbb R^n\to\mathbb R^n\)에 대해

\[Mh=\lambda h,\qquad h\ne0\]

을 만족하는 실수 \(\lambda\)와 벡터 \(h\)가 있으면 \(\lambda\)를 고윳값, \(h\)를 그에 대응하는 고유벡터라 한다.

\(h\ne0\)을 요구하는 이유는 \(M0=\lambda0=0\)이 모든 \(\lambda\)에서 성립하기 때문입니다. 영벡터를 허용하면 이 식으로 특정한 변화의 비율을 구별할 수 없습니다.

명제 6 (정상벡터에서 고유벡터 방향으로 벗어난 입력의 반복)

\(M\)이 선형이고 \(Mp_*=p_*\), \(Mh=\lambda h\)라고 하자. \(p_0=p_*+ah\)이면 모든 정수 \(n\ge0\)에 대해

\[M^np_0=p_*+a\lambda^n h.\]

여기서 \(M^0\)은 항등사상이고 \(\lambda^0=1\)로 정한다.

Proof. \(n=0\)에서는 \(M^0p_0=p_0=p_*+ah=p_*+a\lambda^0h\)이다.

어떤 \(n\ge0\)에 대해 식이 성립한다고 가정하면

\[\begin{split}\begin{aligned} M^{n+1}p_0 &=M(M^np_0)\\ &=M(p_*+a\lambda^n h)\\ &=Mp_*+a\lambda^n Mh\\ &=p_*+a\lambda^n\lambda h\\ &=p_*+a\lambda^{n+1}h. \end{aligned}\end{split}\]

따라서 수학적 귀납법에 의해 모든 \(n\ge0\)에서 성립한다.

9절의 값은 \(p_*=(1/3,1/3,1/3)^{\mathsf T}\), \(h=(1,-2,1)^{\mathsf T}\), \(\lambda=1/4\), \(a=s_0-1/3\)입니다. 이 명제에 대입하면 그 절의 반복식을 얻습니다. 이 명제 자체는 선형 반복에 관한 것이고, 입력과 출력이 확률분포인지 확인하는 일은 9절의 비음수·정규화 계산에서 따로 수행했습니다.

13.8 설명과 수학적 문장을 서로 옮겨 읽기#

앞에서 계산으로 한 말

수학적 문장

이 변화는 자원 합계를 바꾸지 않는다

\(z\in\ker A\)

다른 해는 기준해에 그 변화를 더한 것이다

\(S_b=x_0+\ker A\)

모든 변화를 실수 한 개로 유일하게 적는다

\((h)\)\(\ker A\)의 기저이다

이 관측값은 가능한 변화를 구별하지 못한다

\(\ell(z)=0\) for all \(z\in\ker A\)

두 허용 상태의 가중평균도 허용된다

비음수 선형 제약의 집합은 볼록이다

이 분포 차이는 한 단계 뒤 \(1/4\)배가 된다

\(Mh=(1/4)h\)

정리를 다시 읽을 때 기호를 이 표의 문장으로 풀어 보세요. 반대로 앞의 계산을 읽을 때는 어떤 정의와 정리로 적을 수 있는지 확인해 보세요. 두 방향으로 옮겨 읽을 수 있다면, 수학적 문장은 이미 이해한 내용을 정확하게 표현하는 방법이 됩니다.