Linearism › 선형대수 › LA.9

9장. 역행렬과 A = LU

선형대수 · 2부. 계산 선형대수

기본 · 약 45분 · 연습문제 13 · 그림 1

요약

역행렬의 정의와 유일성, 이미 아는 역행렬들, 역행렬의 성질, 가우스–요르단 소거, 가역성의 동치 조건, LU 분해와 전진대입·후진대입, LDLᵀ와 PA = LU

변환을 되돌리는 변환(역행렬)은 언제 있고 어떻게 구할까요? 이 장에서는 역행렬의 뜻과 구하는 방법을 다루고, 소거 과정을 행렬 두 개의 곱 A = LU로 기록해 두면 같은 행렬로 여러 방정식을 빠르게 풀 수 있다는 것을 봅니다. 실제 계산 프로그램은 역행렬을 직접 구하기보다 LU 분해를 씁니다.

9.1 변환을 되돌리기

질문. 행렬 AA가 평면을 어떤 방식으로 움직였습니다. 그 움직임을 정확히 되돌리는 행렬 BB가 있을까요? 있다면 어떻게 구할까요? 그리고 그런 BB가 없는 행렬은 어떤 행렬일까요?

6장에서 2×22 \times 2 행렬의 경우를 보았습니다. det⁡A≠0\det A \ne 0이면 AA를 되돌리는 행렬이 있었고, det⁡A=0\det A = 0이면 평면이 납작해져 되돌릴 수 없었습니다. 이 장에서는 n×nn \times n으로 일반화하고, 8장의 소거를 이용해 역행렬을 계산합니다. 그리고 소거 자체를 행렬의 곱 A=LUA = LU로 기록하는 방법을 배웁니다.

9.2 역행렬

정의 9.1 (역행렬). n×nn \times n 행렬 AA에 대하여

AB=I이고BA=IAB = I \quad \text{이고} \quad BA = I

인 n×nn \times n 행렬 BB가 존재하면 AA를 가역(invertible)이라 하고, BB를 AA의 역행렬(inverse matrix)이라 합니다. 가역이 아닌 정사각행렬을 특이행렬(singular matrix)이라 합니다.

변환으로 읽으면 BA=IBA = I는 “AA를 한 뒤 BB를 하면 제자리”, AB=IAB = I는 “BB를 한 뒤 AA를 하면 제자리”입니다. 0장의 역함수의 정의(정의 0.22)와 똑같습니다. 정리 0.23에 의해 AA가 가역인 것은 변환 x↦Ax\mathbf{x} \mapsto A\mathbf{x}가 전단사인 것과 같습니다.

정리 9.2 (역행렬은 하나뿐입니다). AA의 역행렬은 존재하면 유일합니다.

증명. BB와 CC가 모두 AA의 역행렬이라 합시다. 결합법칙에 의해

B=BI=B(AC)=(BA)C=IC=C.B = BI = B(AC) = (BA)C = IC = C.

■

유일하므로 AA의 역행렬을 A−1A^{-1}로 씁니다. 증명에서는 BA=IBA = I와 AC=IAC = I만 썼습니다. 즉 “왼쪽 역”과 “오른쪽 역”이 둘 다 있으면 둘은 같습니다.

9.2.1 이미 아는 역행렬들

  • 2×22 \times 2: det⁡A=ad−bc≠0\det A = ad - bc \ne 0이면 A−1=1ad−bc[d−b−ca]A^{-1} = \dfrac{1}{ad - bc}\begin{bmatrix} d & -b \\ -c & a \end{bmatrix} (정리 6.4).
  • 대각행렬: diag⁡(d1,…,dn)−1=diag⁡(1/d1,…,1/dn)\operatorname{diag}(d_1, \ldots, d_n)^{-1} = \operatorname{diag}(1/d_1, \ldots, 1/d_n). 모든 di≠0d_i \ne 0이어야 합니다.
  • 소거행렬: EijE_{ij}는 행ii에서 행jj의 ℓ\ell배를 뺍니다. 되돌리려면 ℓ\ell배를 다시 더합니다. Eij−1E_{ij}^{-1}은 −ℓ-\ell 자리를 +ℓ+\ell로 바꾼 행렬입니다.
  • 치환행렬: 행을 섞은 것을 다시 원래대로 섞습니다. P−1=PTP^{-1} = P^T (문제 9.4).
  • 회전: Rθ−1=R−θ=RθTR_\theta^{-1} = R_{-\theta} = R_\theta^T.

9.3 역행렬의 성질

정리 9.3 (역행렬의 성질). AA, BB가 같은 크기의 가역행렬이면

  1. A−1A^{-1}도 가역이고 (A−1)−1=A(A^{-1})^{-1} = A.
  2. ABAB도 가역이고 (AB)−1=B−1A−1(AB)^{-1} = B^{-1}A^{-1}.
  3. ATA^T도 가역이고 (AT)−1=(A−1)T(A^T)^{-1} = (A^{-1})^T.

증명. 각각 후보를 곱해서 II가 됨을 확인하면 됩니다(역행렬은 유일하므로). (1) A−1A=IA^{-1}A = I, AA−1=IAA^{-1} = I는 “AA가 A−1A^{-1}의 역”이라는 말이기도 합니다. (2) (AB)(B−1A−1)=A(BB−1)A−1=AA−1=I(AB)(B^{-1}A^{-1}) = A(BB^{-1})A^{-1} = AA^{-1} = I이고, 반대 순서도 같습니다. (3) AT(A−1)T=(A−1A)T=IT=IA^T(A^{-1})^T = (A^{-1}A)^T = I^T = I이고, 반대 순서도 같습니다. 정리 5.13을 썼습니다. ■

(2)에서 순서가 뒤집힙니다. 양말(BB)을 신고 신발(AA)을 신었으면, 벗을 때는 신발을 먼저(A−1A^{-1}), 양말을 나중에(B−1B^{-1}) 벗습니다.

9.3.1 역행렬과 연립방정식

AA가 가역이면 Ax=bA\mathbf{x} = \mathbf{b}의 양변에 A−1A^{-1}을 곱해

x=A−1b\mathbf{x} = A^{-1}\mathbf{b}

를 얻습니다. 해는 정확히 하나입니다. 그러나 실제 계산에서 연립방정식을 풀려고 A−1A^{-1}을 구하지는 않습니다. A−1A^{-1}을 구하는 데는 소거보다 약 3배의 계산이 들고, 수치 오차도 커집니다. A−1A^{-1}은 생각의 도구로 쓰고, 계산은 9.6절의 LULU로 합니다.

▶ 문제 9.1–9.5

9.4 가우스–요르단 소거

질문. 3×33 \times 3 행렬의 역행렬은 어떻게 계산할까요?

AA−1=IAA^{-1} = I를 열 단위로 보면, A−1A^{-1}의 제jj열 xj\mathbf{x}_j는 Axj=ejA\mathbf{x}_j = \mathbf{e}_j의 해입니다. 따라서 nn개의 연립방정식을 동시에 풀면 됩니다. 첨가행렬의 오른쪽에 e1,…,en\mathbf{e}_1, \ldots, \mathbf{e}_n을 모두 붙인 [ A∣I ]\left[\, A \mid I \,\right]에 소거를 합니다.

정의 9.4 (가우스–요르단 소거). [ A∣I ]\left[\, A \mid I \,\right]에 행 연산을 하여

  1. 피벗 아래를 0으로 만들고 (가우스 소거),
  2. 피벗 위도 0으로 만들고,
  3. 각 행을 피벗으로 나누어 피벗을 1로 만듭니다.

왼쪽이 II가 되면 오른쪽이 A−1A^{-1}입니다. 이 과정을 가우스–요르단 소거(Gauss–Jordan elimination)라 합니다.

예제 9.5. A=[2−10−12−10−12]A = \begin{bmatrix} 2 & -1 & 0 \\ -1 & 2 & -1 \\ 0 & -1 & 2 \end{bmatrix}.

[2−10100−12−10100−12001]→행2+12행1[2−10100032−112100−12001]→행3+23행2[2−10100032−11210004313231]\left[\begin{array}{ccc|ccc} 2 & -1 & 0 & 1 & 0 & 0 \\ -1 & 2 & -1 & 0 & 1 & 0 \\ 0 & -1 & 2 & 0 & 0 & 1 \end{array}\right] \xrightarrow{\text{행2} + \frac12\text{행1}} \left[\begin{array}{ccc|ccc} 2 & -1 & 0 & 1 & 0 & 0 \\ 0 & \frac32 & -1 & \frac12 & 1 & 0 \\ 0 & -1 & 2 & 0 & 0 & 1 \end{array}\right] \xrightarrow{\text{행3} + \frac23\text{행2}} \left[\begin{array}{ccc|ccc} 2 & -1 & 0 & 1 & 0 & 0 \\ 0 & \frac32 & -1 & \frac12 & 1 & 0 \\ 0 & 0 & \frac43 & \frac13 & \frac23 & 1 \end{array}\right]

피벗 2,32,432, \frac32, \frac43이 모두 0이 아니므로 가역입니다. 이제 위쪽을 소거합니다.

→행2+34행3[2−101000320343234004313231]→행1+23행2[200321120320343234004313231]\xrightarrow{\text{행2} + \frac34\text{행3}} \left[\begin{array}{ccc|ccc} 2 & -1 & 0 & 1 & 0 & 0 \\ 0 & \frac32 & 0 & \frac34 & \frac32 & \frac34 \\ 0 & 0 & \frac43 & \frac13 & \frac23 & 1 \end{array}\right] \xrightarrow{\text{행1} + \frac23\text{행2}} \left[\begin{array}{ccc|ccc} 2 & 0 & 0 & \frac32 & 1 & \frac12 \\ 0 & \frac32 & 0 & \frac34 & \frac32 & \frac34 \\ 0 & 0 & \frac43 & \frac13 & \frac23 & 1 \end{array}\right]

각 행을 피벗으로 나누면

A−1=[34121412112141234]=14[321242123].A^{-1} = \begin{bmatrix} \frac34 & \frac12 & \frac14 \\ \frac12 & 1 & \frac12 \\ \frac14 & \frac12 & \frac34 \end{bmatrix} = \frac14\begin{bmatrix} 3 & 2 & 1 \\ 2 & 4 & 2 \\ 1 & 2 & 3 \end{bmatrix}.

검산: AA의 첫째 행과 A−1A^{-1}의 첫째 열의 내적은 14(6−2+0)=1\frac14(6 - 2 + 0) = 1, 둘째 열과는 14(4−4+0)=0\frac14(4 - 4 + 0) = 0.

다음 단계를 누르면 [A | I]에서 아래쪽, 위쪽 순서로 소거하고 피벗으로 나누어 오른쪽에 역행렬을 만듭니다

이 위젯은 JavaScript가 필요합니다

직관. 가우스–요르단이 왜 A−1A^{-1}을 줄까요? 모든 행 연산을 합친 행렬을 EE라 합시다. 왼쪽 블록에서 EA=IEA = I가 되었습니다. 같은 연산이 오른쪽 블록에는 EI=EEI = E를 만듭니다. EA=IEA = I이므로 EE가 AA를 되돌리는 행렬, 즉 A−1A^{-1}입니다.

예제에서 AA는 대칭이고 A−1A^{-1}도 대칭입니다(문제 9.8). AA에는 0이 많은데 A−1A^{-1}에는 0이 하나도 없습니다. 희소한 행렬의 역행렬은 보통 꽉 차 있습니다. 이것이 계산에서 A−1A^{-1}을 피하는 또 하나의 이유입니다.

▶ 문제 9.6–9.8

9.5 가역성의 판정

정리 9.6 (가역성의 동치 조건). n×nn \times n 행렬 AA에 대하여 다음은 동치입니다.

  1. AA는 가역입니다.
  2. (행 교환을 허용한) 소거에서 피벗이 nn개 나옵니다.
  3. Ax=0A\mathbf{x} = \mathbf{0}의 해는 x=0\mathbf{x} = \mathbf{0}뿐입니다.
  4. 모든 b\mathbf{b}에 대해 Ax=bA\mathbf{x} = \mathbf{b}의 해가 정확히 하나 있습니다.
  5. BA=IBA = I인 BB가 있습니다.
  6. AC=IAC = I인 CC가 있습니다.

증명. (1)⇒(5), (1)⇒(6): 역행렬이 BB이자 CC입니다.

(5)⇒(3): Ax=0A\mathbf{x} = \mathbf{0}이면 x=BAx=B0=0\mathbf{x} = BA\mathbf{x} = B\mathbf{0} = \mathbf{0}.

(3)⇒(2): 피벗이 nn개보다 적다고 합시다. 그러면 피벗이 없는 열이 있습니다. 소거 후의 Ux=0U\mathbf{x} = \mathbf{0}에서 그 열의 미지수를 1로, 피벗이 없는 다른 열의 미지수를 0으로 정하고 피벗이 있는 미지수들을 후진대입으로 구하면, x≠0\mathbf{x} \ne \mathbf{0}인 해가 나옵니다. 행 연산은 해를 바꾸지 않으므로(정리 8.5) 이것은 Ax=0A\mathbf{x} = \mathbf{0}의 해이기도 합니다. (3)에 모순.

(2)⇒(1): 피벗이 nn개이면 가우스–요르단이 끝까지 진행되어 EA=IEA = I인 EE(행 연산 행렬들의 곱)를 얻습니다. 각 행 연산 행렬은 가역이므로 EE도 가역(정리 9.3)이고, A=E−1(EA)=E−1A = E^{-1}(EA) = E^{-1}입니다. 가역행렬의 역은 가역이므로 AA는 가역입니다.

(1)⇒(4): x=A−1b\mathbf{x} = A^{-1}\mathbf{b}가 해이고, 다른 해 y\mathbf{y}가 있으면 A(x−y)=0A(\mathbf{x} - \mathbf{y}) = \mathbf{0}에서 양변에 A−1A^{-1}을 곱해 x=y\mathbf{x} = \mathbf{y}.

(4)⇒(3): b=0\mathbf{b} = \mathbf{0}일 때 해가 하나뿐이고 0\mathbf{0}이 해입니다.

(6)⇒(1): AC=IAC = I이면 CTAT=IC^TA^T = I이므로 ATA^T에 대해 (5)가 성립합니다. 앞에서 보인 (5)⇒(3)⇒(2)⇒(1)에 의해 ATA^T가 가역이고, 정리 9.3(3)을 ATA^T에 적용하면 A=(AT)TA = (A^T)^T도 가역입니다. ■

(5)와 (6)의 동치는 정사각행렬에서만 성립하는 놀라운 사실입니다. 한쪽에서 곱해서 II가 되는 행렬을 찾으면, 반대쪽에서도 자동으로 II가 됩니다. 직사각행렬에서는 그렇지 않습니다(18장의 유사역행렬). 15장에서 이 목록에 “det⁡A≠0\det A \ne 0”이 추가되고, 12장에서 “열들이 일차독립”, 16장에서 “0이 고윳값이 아닙니다”가 추가됩니다.

▶ 문제 9.9–9.10

9.6 A = LU: 소거의 기록

질문. 같은 AA로 우변 b\mathbf{b}만 바꿔 가며 연립방정식을 여러 번 풀어야 합니다. 매번 처음부터 소거해야 할까요?

소거 과정 E32E31E21A=UE_{32}E_{31}E_{21}A = U를 뒤집으면

A=E21−1E31−1E32−1U=LU.A = E_{21}^{-1}E_{31}^{-1}E_{32}^{-1}U = LU.

여기서 L=E21−1E31−1E32−1L = E_{21}^{-1}E_{31}^{-1}E_{32}^{-1}은 대각성분이 1인 아래삼각행렬입니다. 놀라운 점은 LL의 성분이 승수 그 자체라는 것입니다(문제 8.10).

정리 9.7 (LU 분해). 행 교환 없이 소거가 끝나는 n×nn \times n 행렬 AA는

A=LUA = LU

로 쓸 수 있습니다. UU는 소거의 결과인 위삼각행렬(대각성분이 피벗), LL은 대각성분이 1이고 (i,j)(i, j) 성분(i>ji > j)이 승수 ℓij\ell_{ij}인 아래삼각행렬입니다.

증명. 소거의 제ii행은 최종적으로

(U의 행i)=(A의 행i)−∑j<iℓij (U의 행j)(U\text{의 행}i) = (A\text{의 행}i) - \sum_{j < i} \ell_{ij}\,(U\text{의 행}j)

입니다. 행ii에서 빼는 것은 언제나 이미 완성된 피벗 행(UU의 행jj)의 배수이기 때문입니다. 정리하면

(A의 행i)=∑j<iℓij (U의 행j)+1⋅(U의 행i).(A\text{의 행}i) = \sum_{j < i} \ell_{ij}\,(U\text{의 행}j) + 1 \cdot (U\text{의 행}i).

우변은 정리 5.5(3)에 의해 LULU의 제ii행입니다. ■

예제 9.8. 예제 8.2의 A=[24−249−3−2−37]A = \begin{bmatrix} 2 & 4 & -2 \\ 4 & 9 & -3 \\ -2 & -3 & 7 \end{bmatrix}은 승수가 ℓ21=2\ell_{21} = 2, ℓ31=−1\ell_{31} = -1, ℓ32=1\ell_{32} = 1이었습니다.

[24−249−3−2−37]=[100210−111][24−2011004].\begin{bmatrix} 2 & 4 & -2 \\ 4 & 9 & -3 \\ -2 & -3 & 7 \end{bmatrix} = \begin{bmatrix} 1 & 0 & 0 \\ 2 & 1 & 0 \\ -1 & 1 & 1 \end{bmatrix}\begin{bmatrix} 2 & 4 & -2 \\ 0 & 1 & 1 \\ 0 & 0 & 4 \end{bmatrix}.

셋째 행을 확인하면 −1⋅(2,4,−2)+1⋅(0,1,1)+1⋅(0,0,4)=(−2,−3,7)-1 \cdot (2, 4, -2) + 1 \cdot (0, 1, 1) + 1 \cdot (0, 0, 4) = (-2, -3, 7).

9.6.1 LU로 풀기

Ax=bA\mathbf{x} = \mathbf{b}는 L(Ux)=bL(U\mathbf{x}) = \mathbf{b}입니다. c=Ux\mathbf{c} = U\mathbf{x}로 두면 두 단계로 나뉩니다.

  1. Lc=bL\mathbf{c} = \mathbf{b}를 위에서부터 풉니다(전진대입(forward substitution)).
  2. Ux=cU\mathbf{x} = \mathbf{c}를 아래에서부터 풉니다(후진대입).

두 단계 모두 삼각행렬이라 약 n2/2n^2/2번의 계산이면 됩니다. A=LUA = LU를 한 번 구해 두면(n3/3n^3/3), 새 b\mathbf{b}마다 n2n^2 정도로 풀 수 있습니다. 첫째 단계는 원래 소거에서 우변에 하던 일을 나중에 하는 것과 같습니다.

예제 9.9. 위 예에서 b=(2,8,10)\mathbf{b} = (2, 8, 10)이면 Lc=bL\mathbf{c} = \mathbf{b}: c1=2c_1 = 2, 2c1+c2=82c_1 + c_2 = 8에서 c2=4c_2 = 4, −c1+c2+c3=10-c_1 + c_2 + c_3 = 10에서 c3=8c_3 = 8. 예제 8.2에서 소거 후 우변이 (2,4,8)(2, 4, 8)이었던 것과 같습니다. 이어서 Ux=cU\mathbf{x} = \mathbf{c}를 풀면 x=(−1,2,2)\mathbf{x} = (-1, 2, 2).

9.6.2 LDU와 대칭행렬

UU의 각 행을 피벗으로 나누면 U=DU′U = DU' (DD는 피벗의 대각행렬, U′U'은 대각성분이 1인 위삼각)로 쓸 수 있습니다. 그러면 A=LDU′A = LDU'입니다. AA가 대칭이면 U′=LTU' = L^T가 되어

A=LDLTA = LDL^T

입니다(문제 9.12). 대칭행렬의 소거는 계산이 절반으로 줄고, 17장에서 이 분해가 “양정치”를 판정하는 데 쓰입니다.

9.6.3 행 교환이 필요할 때

소거 중에 행 교환이 필요하면 미리 그 순서로 행을 바꿔 놓은 행렬 PAPA에 대해 소거하면 됩니다.

PA=LU.PA = LU.

모든 가역행렬은 적당한 치환행렬 PP에 대해 이렇게 분해됩니다. 실제 컴퓨터 계산에서는 0이 아니더라도 절댓값이 가장 큰 성분을 피벗으로 고르기 위해 일부러 행을 바꿉니다. 작은 피벗으로 나누면 반올림 오차가 커지기 때문입니다(30장).

▶ 문제 9.11–9.13

쓰이는 곳. 논문에서 A−1bA^{-1}b라고 쓰더라도 실제 구현은 역행렬을 구하지 않고 LU(또는 숄레스키) 분해로 Ax=bAx = b를 풉니다. 같은 행렬로 여러 번 풀어야 하는 시뮬레이션에서 특히 중요합니다.

이 장의 요약

  • AB=BA=IAB = BA = I이면 B=A−1B = A^{-1}. 역행렬은 유일합니다. 가역   ⟺  \iff 변환이 전단사.
  • (AB)−1=B−1A−1(AB)^{-1} = B^{-1}A^{-1}, (AT)−1=(A−1)T(A^T)^{-1} = (A^{-1})^T.
  • 가우스–요르단: [ A∣I ]→[ I∣A−1 ]\left[\, A \mid I \,\right] \to \left[\, I \mid A^{-1} \,\right].
  • 정사각행렬에서: 가역   ⟺  \iff 피벗 nn개   ⟺  \iff Ax=0A\mathbf{x} = \mathbf{0}의 해는 0\mathbf{0}뿐   ⟺  \iff 한쪽 역이 있습니다.
  • A=LUA = LU: LL은 승수를 담은 아래삼각, UU는 피벗을 담은 위삼각. 풀이는 전진대입 후 후진대입.
  • 대칭이면 A=LDLTA = LDL^T. 행 교환이 필요하면 PA=LUPA = LU.

문제

9.1 [계산] · 확인 문제

역행렬을 구합니다. 각각 “무엇을 되돌리는가”로 답을 설명합니다.

(a) [3512](b) [2000−100013](c) [100010−401](d) R30∘\text{(a)}\ \begin{bmatrix} 3 & 5 \\ 1 & 2 \end{bmatrix} \qquad \text{(b)}\ \begin{bmatrix} 2 & 0 & 0 \\ 0 & -1 & 0 \\ 0 & 0 & \frac13 \end{bmatrix} \qquad \text{(c)}\ \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ -4 & 0 & 1 \end{bmatrix} \qquad \text{(d)}\ R_{30^\circ}

표에는 (a)와 (d)의 역행렬 성분을 적습니다((d)는 소수 셋째 자리까지). (b), (c)는 풀이에서 확인합니다.

1행 1열 1행 2열 2행 1열 2행 2열
(a) [?] [?] [?] [?]
(d) [?] [?] [?] [?]
정답
2
-5
-1
3
0.866
0.5
-0.5
0.866
풀이

(a) det⁡=1\det = 1, [2−5−13]\begin{bmatrix} 2 & -5 \\ -1 & 3 \end{bmatrix}. (b) diag⁡(12,−1,3)\operatorname{diag}(\frac12, -1, 3): 각 축의 배율을 역수로.

(c) [100010401]\begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 4 & 0 & 1 \end{bmatrix}: 행3에서 행1의 4배를 뺀 것을 다시 더합니다.

(d) R−30∘=[3212−1232]R_{-30^\circ} = \begin{bmatrix} \frac{\sqrt3}{2} & \frac12 \\ -\frac12 & \frac{\sqrt3}{2} \end{bmatrix}: 반대 방향으로 30∘30^\circ.

9.2 [계산] · 확인 문제

A=[1101]A = \begin{bmatrix} 1 & 1 \\ 0 & 1 \end{bmatrix}, B=[2001]B = \begin{bmatrix} 2 & 0 \\ 0 & 1 \end{bmatrix}에 대해 A−1A^{-1}, B−1B^{-1}, (AB)−1(AB)^{-1}을 구합니다. (AB)−1(AB)^{-1}이 B−1A−1B^{-1}A^{-1}과 같고 A−1B−1A^{-1}B^{-1}과는 다름을 확인합니다.

1행 1열 1행 2열 2행 1열 2행 2열
(AB)−1(AB)^{-1} [?] [?] [?] [?]
A−1B−1A^{-1}B^{-1} [?] [?] [?] [?]
정답
1/2
-1/2
0
1
1/2
-1
0
1
풀이

A−1=[1−101]A^{-1} = \begin{bmatrix} 1 & -1 \\ 0 & 1 \end{bmatrix}, B−1=[12001]B^{-1} = \begin{bmatrix} \frac12 & 0 \\ 0 & 1 \end{bmatrix}. AB=[2101]AB = \begin{bmatrix} 2 & 1 \\ 0 & 1 \end{bmatrix}, (AB)−1=12[1−102]=[12−1201]=B−1A−1(AB)^{-1} = \frac12\begin{bmatrix} 1 & -1 \\ 0 & 2 \end{bmatrix} = \begin{bmatrix} \frac12 & -\frac12 \\ 0 & 1 \end{bmatrix} = B^{-1}A^{-1}. 한편 A−1B−1=[12−101]A^{-1}B^{-1} = \begin{bmatrix} \frac12 & -1 \\ 0 & 1 \end{bmatrix}.

9.3 [증명]

AA가 가역이라 합시다. (a) AB=ACAB = AC이면 B=CB = C임을 보입니다. (5.4절의 “약분 실패”와 비교합니다.) (b) A2=AA^2 = A이면 A=IA = I임을 보입니다.

풀이

(a) 양변 왼쪽에 A−1A^{-1}: B=A−1AB=A−1AC=CB = A^{-1}AB = A^{-1}AC = C.

(b) A2=AIA^2 = AI이므로 (a)에서 A=IA = I.

9.4 [증명]

치환행렬 PP에 대해 PTP=IP^TP = I임을 보입니다. 따라서 P−1=PTP^{-1} = P^T입니다.

힌트. PP의 열들은 e1,…,en\mathbf{e}_1, \ldots, \mathbf{e}_n을 순서만 바꾼 것입니다. 문제 5.11을 씁니다.

풀이

(PTP)ij=(P의 열i)⋅(P의 열j)(P^TP)_{ij} = (P\text{의 열}i) \cdot (P\text{의 열}j). 열들은 서로 다른 표준기저벡터이므로 i=ji = j이면 1, 아니면 0.

9.5 [도전]

A3=OA^3 = O인 정사각행렬 AA에 대해 I−AI - A는 가역이고 (I−A)−1=I+A+A2(I - A)^{-1} = I + A + A^2임을 보입니다. 실수에서 11−x=1+x+x2+⋯\frac{1}{1 - x} = 1 + x + x^2 + \cdots과 비교합니다.

풀이

(I−A)(I+A+A2)=I+A+A2−A−A2−A3=I−A3=I(I - A)(I + A + A^2) = I + A + A^2 - A - A^2 - A^3 = I - A^3 = I. 반대 순서도 같은 계산. 실수의 등비급수가 x3=0x^3 = 0에서 끊긴 것과 같습니다.

9.6 [계산] · 확인 문제

가우스–요르단 소거로 역행렬을 구합니다. (a) [1237]\begin{bmatrix} 1 & 2 \\ 3 & 7 \end{bmatrix} (b) [111011001]\begin{bmatrix} 1 & 1 & 1 \\ 0 & 1 & 1 \\ 0 & 0 & 1 \end{bmatrix}. 표에는 역행렬의 성분을 행 순서대로 적습니다.

1행 1열 1행 2열 1행 3열 2행 1열 2행 2열 2행 3열 3행 1열 3행 2열 3행 3열
(a) [?] [?] - [?] [?] - - - -
(b) [?] [?] [?] [?] [?] [?] [?] [?] [?]
정답
7
-2
-3
1
1
-1
0
0
1
-1
0
0
1
풀이

(a) [12103701]→\left[\begin{array}{cc|cc} 1 & 2 & 1 & 0 \\ 3 & 7 & 0 & 1 \end{array}\right] \to 행2 −3- 3행1 →[121001−31]→\to \left[\begin{array}{cc|cc} 1 & 2 & 1 & 0 \\ 0 & 1 & -3 & 1 \end{array}\right] \to 행1 −2- 2행2 →[107−201−31]\to \left[\begin{array}{cc|cc} 1 & 0 & 7 & -2 \\ 0 & 1 & -3 & 1 \end{array}\right]. A−1=[7−2−31]A^{-1} = \begin{bmatrix} 7 & -2 \\ -3 & 1 \end{bmatrix}.

(b) 행2 −- 행3, 행1 −- 행3, 행1 −- 행2 순서로 하면 [1−1001−1001]\begin{bmatrix} 1 & -1 & 0 \\ 0 & 1 & -1 \\ 0 & 0 & 1 \end{bmatrix}.

9.7 [계산] · 확인 문제

가우스–요르단 소거로 [2114−60−272]\begin{bmatrix} 2 & 1 & 1 \\ 4 & -6 & 0 \\ -2 & 7 & 2 \end{bmatrix}의 역행렬을 구하고, 원래 행렬과 곱해 II가 되는지 한 열 이상 확인합니다.

1열 2열 3열
1행 [?] [?] [?]
2행 [?] [?] [?]
3행 [?] [?] [?]
정답
3/4
-5/16
-3/8
1/2
-3/8
-1/4
-1
1
1
풀이

소거: 행2 −2- 2행1 =(0,−8,−2)= (0, -8, -2), 행3 + 행1 =(0,8,3)= (0, 8, 3), 행3 + 행2 =(0,0,1)= (0, 0, 1). 피벗 2,−8,12, -8, 1. 위쪽 소거와 스케일 후

A−1=[34−516−3812−38−14−111].A^{-1} = \begin{bmatrix} \frac34 & -\frac{5}{16} & -\frac38 \\ \frac12 & -\frac38 & -\frac14 \\ -1 & 1 & 1 \end{bmatrix}.

확인(첫째 열): (2,1,1)⋅(34,12,−1)=1(2, 1, 1) \cdot (\frac34, \frac12, -1) = 1, (4,−6,0)⋅(34,12,−1)=0(4, -6, 0) \cdot (\frac34, \frac12, -1) = 0, (−2,7,2)⋅(34,12,−1)=0(-2, 7, 2) \cdot (\frac34, \frac12, -1) = 0.

9.8 [증명]

AA가 가역인 대칭행렬이면 A−1A^{-1}도 대칭임을 보입니다.

풀이

(A−1)T=(AT)−1=A−1(A^{-1})^T = (A^T)^{-1} = A^{-1} (정리 9.3(3)과 AT=AA^T = A).

9.9 [계산] · 확인 문제

다음 행렬이 가역인지 소거로 판정합니다. 가역이 아니면 Ax=0A\mathbf{x} = \mathbf{0}인 x≠0\mathbf{x} \ne \mathbf{0}을 하나 찾습니다. 표에는 가역이면 O, 아니면 X를 적습니다.

(a) [123246101](b) [011101110](c) [1224]\text{(a)}\ \begin{bmatrix} 1 & 2 & 3 \\ 2 & 4 & 6 \\ 1 & 0 & 1 \end{bmatrix} \qquad \text{(b)}\ \begin{bmatrix} 0 & 1 & 1 \\ 1 & 0 & 1 \\ 1 & 1 & 0 \end{bmatrix} \qquad \text{(c)}\ \begin{bmatrix} 1 & 2 \\ 2 & 4 \end{bmatrix}
(a) (b) (c)
[?] [?] [?]
정답
X
O
X
풀이

(a) 행2 =2×= 2\times행1이므로 소거하면 영행이 생겨 피벗이 2개. 특이. x+2y+3z=0x + 2y + 3z = 0, x+z=0x + z = 0에서 x=(1,1,−1)\mathbf{x} = (1, 1, -1).

(b) 행1 ↔ 행2 후 소거하면 피벗 1,1,−21, 1, -2. 가역.

(c) 피벗 1개. 특이. x=(2,−1)\mathbf{x} = (2, -1).

9.10 [도전]

n×nn \times n 행렬 AA에 대하여 다음을 보입니다. (a) A2=OA^2 = O이면 AA는 가역이 아닙니다. (b) x≠y\mathbf{x} \ne \mathbf{y}인데 Ax=AyA\mathbf{x} = A\mathbf{y}이면 AA는 가역이 아닙니다. (c) AA의 두 열이 같으면 AA는 가역이 아닙니다.

풀이

(a) 가역이면 A=A−1A2=A−1O=OA = A^{-1}A^2 = A^{-1}O = O인데 OO는 가역이 아닙니다. 모순.

(b) A(x−y)=0A(\mathbf{x} - \mathbf{y}) = \mathbf{0}이고 x−y≠0\mathbf{x} - \mathbf{y} \ne \mathbf{0}이므로 정리 9.6의 (3)이 깨집니다.

(c) 열 ii와 열 jj가 같으면 x=ei−ej≠0\mathbf{x} = \mathbf{e}_i - \mathbf{e}_j \ne \mathbf{0}에 대해 Ax=0A\mathbf{x} = \mathbf{0}.

9.11 [계산] · 확인 문제

LULU 분해를 구합니다. (a) [2168]\begin{bmatrix} 2 & 1 \\ 6 & 8 \end{bmatrix} (b) [111122123]\begin{bmatrix} 1 & 1 & 1 \\ 1 & 2 & 2 \\ 1 & 2 & 3 \end{bmatrix}. 표에는 (a)를 적고 (b)는 풀이에서 확인합니다.

(a) 1행 1열 1행 2열 2행 1열 2행 2열
LL 1 0 [?] 1
UU [?] [?] 0 [?]
정답
3
2
1
5
풀이

(a) ℓ21=3\ell_{21} = 3. [2168]=[1031][2105]\begin{bmatrix} 2 & 1 \\ 6 & 8 \end{bmatrix} = \begin{bmatrix} 1 & 0 \\ 3 & 1 \end{bmatrix}\begin{bmatrix} 2 & 1 \\ 0 & 5 \end{bmatrix}.

(b) 문제 8.3의 승수가 모두 1이었으므로 L=[100110111]L = \begin{bmatrix} 1 & 0 & 0 \\ 1 & 1 & 0 \\ 1 & 1 & 1 \end{bmatrix}, U=[111011001]U = \begin{bmatrix} 1 & 1 & 1 \\ 0 & 1 & 1 \\ 0 & 0 & 1 \end{bmatrix}.

9.12 [계산]

a≠0a \ne 0일 때 대칭행렬 A=[abbc]A = \begin{bmatrix} a & b \\ b & c \end{bmatrix}를 A=LDLTA = LDL^T 꼴로 씁니다. 곱해서 확인합니다.

풀이

ℓ21=b/a\ell_{21} = b/a, 둘째 피벗 c−b2/ac - b^2/a.

A=[10ba1][a00c−b2a][1ba01].A = \begin{bmatrix} 1 & 0 \\ \frac ba & 1 \end{bmatrix}\begin{bmatrix} a & 0 \\ 0 & c - \frac{b^2}{a} \end{bmatrix}\begin{bmatrix} 1 & \frac ba \\ 0 & 1 \end{bmatrix}.

곱하면 [abbb2a+c−b2a]=A\begin{bmatrix} a & b \\ b & \frac{b^2}{a} + c - \frac{b^2}{a} \end{bmatrix} = A.

9.13 [계산] · 확인 문제

문제 9.11(b)의 LULU를 써서 Ax=(3,5,6)A\mathbf{x} = (3, 5, 6)을 전진대입과 후진대입으로 풉니다.

첫째 둘째 셋째
c\mathbf{c} (Lc=bL\mathbf{c} = \mathbf{b}) [?] [?] [?]
x\mathbf{x} (Ux=cU\mathbf{x} = \mathbf{c}) [?] [?] [?]
정답
3
2
1
1
1
1
풀이

Lc=bL\mathbf{c} = \mathbf{b}: c1=3c_1 = 3, c2=5−3=2c_2 = 5 - 3 = 2, c3=6−3−2=1c_3 = 6 - 3 - 2 = 1. Ux=cU\mathbf{x} = \mathbf{c}: z=1z = 1, y=2−1=1y = 2 - 1 = 1, x=3−1−1=1x = 3 - 1 - 1 = 1. 검산: A(1,1,1)=(3,5,6)A(1, 1, 1) = (3, 5, 6).