5. 역행렬

5.1 역행렬의 정의

(i) 두 행렬 \(A_1=\begin{bmatrix}2&5\\3&8\end{bmatrix}\), \(L_1=\begin{bmatrix}8&-5\\-3&2\end{bmatrix}\).
(A1 <- matrix(c(2, 3, 5, 8), 2))
##      [,1] [,2]
## [1,]    2    5
## [2,]    3    8
(L1 <- matrix(c(8, -3, -5, 2), 2))
##      [,1] [,2]
## [1,]    8   -5
## [2,]   -3    2
L1 %*% A1
##      [,1] [,2]
## [1,]    1    0
## [2,]    0    1
A1 %*% L1
##      [,1] [,2]
## [1,]    1    0
## [2,]    0    1
(ii) \(A_2=\begin{bmatrix}1&1\\-1&0\\3&-1\end{bmatrix}\), \(L_2=\begin{bmatrix}1&3&1\\2&5&1\end{bmatrix}\), \(L_2^*=\begin{bmatrix}4&15&4\\7&25&6\end{bmatrix}\).
(A2 <- matrix(c(1, -1, 3, 1, 0, -1), 3))
##      [,1] [,2]
## [1,]    1    1
## [2,]   -1    0
## [3,]    3   -1
(L2 <- matrix(c(1, 2, 3, 5, 1, 1), 2))
##      [,1] [,2] [,3]
## [1,]    1    3    1
## [2,]    2    5    1
(L2.2 <- matrix(c(4, 7, 15, 25, 4, 6), 2))
##      [,1] [,2] [,3]
## [1,]    4   15    4
## [2,]    7   25    6
L2 %*% A2
##      [,1] [,2]
## [1,]    1    0
## [2,]    0    1
L2.2 %*% A2
##      [,1] [,2]
## [1,]    1    0
## [2,]    0    1
(iii) \(A_3=\begin{bmatrix}0&3&7\\0&2&5\end{bmatrix}\), \(L\ A_3=I\) 를 만족하는 \(L\)은 존재하지 않으나, \(A_3R=I\) 를 만족하는 \(R\)은 존재. \(R=\begin{bmatrix}4&8\\5&-7\\-2&3\end{bmatrix}\).
(A3 <- matrix(c(0, 0, 3, 2, 7, 5), 2))
##      [,1] [,2] [,3]
## [1,]    0    3    7
## [2,]    0    2    5
R <- matrix(c(4, 5, -2, 8, -7, 3), 3)
A3 %*% R
##      [,1] [,2]
## [1,]    1    0
## [2,]    0    1

역행렬의 정의

  • \(L\ A=A\ L=I\), \(L\) 은 주어진 \(A\) 에 대하여 유일할 때, \(L\)\(A\)의 역행렬(inverse matrix)라 정의, \(A^{-1}\) 로 표시함.
    • \(A\)의 역행렬 \(A^{-1}\)이 존재하면, \(A^{-1}A=A\ A^{-1}=I\) 가 항상 성립.
    • \(A^{-1}A\)\(A\ A^{-1}\) 이 가능하기 위해서는 두 행렬 \(A\)\(A^{-1}\) 의 차수가 같아야만 함. 이는 \(A\)\(A^{-1}\) 가 같은 차수의 정방행렬이어야 함을 의미.

5.2 역행렬의 계산

  • \(|\,A\,|=\sum_{i=1}^n a_{ij}c_{ij}=\sum_{i=1}^n a_{ij}(-1)^{i+j}|\,M_{ij}\,|\), 여기서 \(c_{ij}\) 는 원소 \(a_{ij}\) 의 여인자.

  • \(A=\begin{bmatrix}1&2&3\\4&5&6\\7&8&10\end{bmatrix}\)에 대하여 첫번째 열에 있는 원소들의 여인자를 계산하면,

    • 1의 여인자 : \((-1)^{1+1}\begin{vmatrix}5&6\\8&10\end{vmatrix}=5\times10-6\times8=2\),

    • 4의 여인자 : \((-1)^{1+2}\begin{vmatrix}2&3\\8&10\end{vmatrix}=(-1)(2\times10-3\times8)=4\),

    • 7의 여인자 : \((-1)^{3+1}\begin{vmatrix}2&3\\5&6\end{vmatrix}=2\times6-3\times5=-3\).

  • 위의 여인자들과 각 열에 있는 원소들과의 곱을 취하면,

    • \(1\times(2)+4\times(4)+7\times(-3)=-3=|\,A\,|\),

    • \(2\times(2)+5\times(4)+8\times(-3)=0\),

    • \(3\times(2)+6\times(4)+10\times(-3)=0\).

  • 두번째 열에 있는 원소들의 여인자는,

    • 2의 여인자 : \((-1)^{1+2}\begin{vmatrix}4&6\\7&10\end{vmatrix}=(-1)(4\times10-6\times7)=2\),

    • 5의 여인자 : \((-1)^{2+2}\begin{vmatrix}1&3\\7&10\end{vmatrix}=1\times10-3\times7=-11\),

    • 8의 여인자 : \((-1)^{3+2}\begin{vmatrix}1&3\\4&6\end{vmatrix}=(-1)(1\times6-3\times4)=6\).

  • 이들과 각 열에 있는 원소들과의 곱을 취하면,

    • \(1\times(2)+4\times(-11)+7\times(6)=0\),

    • \(2\times(2)+5\times(-11)+8\times(6)=-3=|\,A\,|\),

    • \(3\times(2)+6\times(-11)+10\times(6)=0\).

  • 끝으로 세번째 열에 있는 원소들의 여인자는,

    • 3의 여인자 : \((-1)^{1+3}\begin{vmatrix}4&5\\7&8\end{vmatrix}=4\times8-5\times7=-3\),

    • 6의 여인자 : \((-1)^{2+3}\begin{vmatrix}1&2\\7&8\end{vmatrix}=(-1)(1\times8-2\times7)=6\),

    • 10의 여인자 : \((-1)^{3+3}\begin{vmatrix}1&2\\4&5\end{vmatrix}=1\times5-2\times4=-3\).

  • 이들과 각 열에 있는 원소들과의 곱을 취하면,

    • \(1\times(-3)+4\times(6)+7\times(-3)=0\),

    • \(2\times(-3)+5\times(6)+8\times(-3)=0\),

    • \(3\times(-3)+6\times(6)+10\times(-3)=-3=|\,A\,|\).

  • \(A=\begin{bmatrix}1&2&3\\4&5&6\\7&8&10\end{bmatrix}\) 의 원소들을 그들의 여인자들로 대체하여 얻는 행렬은 \(\begin{bmatrix}2&2&-3\\4&-11&6\\-3&6&-3\end{bmatrix}\).

    • 이 행렬의 전치행렬에 \(|\,A\,|^{-1}=-(1/3)\) 을 곱하면,

    • \(-\frac{1}{3}\begin{bmatrix}2&4&-3\\2&-11&6\\-3&6&-3\end{bmatrix}\) 을 얻고, 이를 \(A\)의 왼쪽에서 곱하면,

    • \(-\frac{1}{3}\begin{bmatrix}2&4&-3\\2&-11&6\\-3&6&-3\end{bmatrix}\begin{bmatrix}1&2&3\\4&5&6\\7&8&10\end{bmatrix}=-\frac{1}{3}\begin{bmatrix}-3&0&0\\0&-3&0\\0&0&-3\end{bmatrix}=\begin{bmatrix}1&0&0\\0&1&0\\0&0&1\end{bmatrix}\)

  • 이 행렬은 \(L\ A=I\) 뿐 아니라 \(A\ L=I\) 또한 만족하여 \(A^{-1}\)라고 할 수 있음.

(A4 <- matrix(c(1, 4, 7, 2, 5, 8, 3, 6, 10), 3))
##      [,1] [,2] [,3]
## [1,]    1    2    3
## [2,]    4    5    6
## [3,]    7    8   10
(L4 <- matrix((-1/3)*c(2, 2, -3, 4, -11, 6, -3, 6, -3), 3))
##            [,1]      [,2] [,3]
## [1,] -0.6666667 -1.333333    1
## [2,] -0.6666667  3.666667   -2
## [3,]  1.0000000 -2.000000    1
L4 %*% A4
##      [,1]         [,2] [,3]
## [1,]    1 8.881784e-16    0
## [2,]    0 1.000000e+00    0
## [3,]    0 0.000000e+00    1
round(L4 %*% A4, digits = 4)
##      [,1] [,2] [,3]
## [1,]    1    0    0
## [2,]    0    1    0
## [3,]    0    0    1
A4 %*% L4
##      [,1] [,2] [,3]
## [1,]    1    0    0
## [2,]    0    1    0
## [3,]    0    0    1

Step 1. \(A=\begin{bmatrix}a_{11}&a_{12}&a_{13}\\a_{21}&a_{22}&a_{23}\\a_{31}&a_{32}&a_{33}\end{bmatrix}\) 에 대하여 \(c_{ij}\)\(a_{ij}\)의 여인자라 하면,

Step 2. \(C=\begin{bmatrix}c_{11}&c_{12}&c_{13}\\c_{21}&c_{22}&c_{23}\\c_{31}&c_{32}&c_{33}\end{bmatrix}\) 는 여인자로 구성된 행렬

Step 3. \(C^t=\begin{bmatrix}c_{11}&c_{21}&c_{31}\\c_{12}&c_{22}&c_{32}\\c_{13}&c_{23}&c_{33}\end{bmatrix}\)\(C\)의 전치 행렬로 \(A\)의 adjoint matrix라 함.

Step 4. \(C^t\)\(|\,A\,|\) 로 나눠줌으로써 \(A\) 의 역행렬 \(A^{-1}\)을 구하게 됨.

     \(A^{-1}=|\,A\,|^{-1}C^t=|\,A\,|^{-1}\begin{bmatrix}c_{11}&c_{21}&c_{31}\\c_{12}&c_{22}&c_{32}\\c_{13}&c_{23}&c_{33}\end{bmatrix}\)

R을 이용한 소행렬식과 여인자의 계산

minor <- function(A, i, j){
  det(A[-i, -j, drop=FALSE])
}
cofactor <- function(A, i, j){
  (-1)^(i+j)*minor(A, i, j)
}
adjoint <- function(A){
  n <- nrow(A)
  t(outer(1:n, 1:n, Vectorize(
    function(i, j) cofactor(A, i, j))))
}
minor(A4, 1, 1)
## [1] 2
minor(A4, 2, 1)
## [1] -4
minor(A4, 3, 1)
## [1] -3
minor(A4, 1, 2)
## [1] -2
minor(A4, 2, 2)
## [1] -11
minor(A4, 3, 2)
## [1] -6
minor(A4, 1, 3)
## [1] -3
minor(A4, 2, 3)
## [1] -6
minor(A4, 3, 3)
## [1] -3
cofactor(A4, 1, 1)
## [1] 2
cofactor(A4, 2, 1)
## [1] 4
cofactor(A4, 3, 1)
## [1] -3
cofactor(A4, 1, 2)
## [1] 2
cofactor(A4, 2, 2)
## [1] -11
cofactor(A4, 3, 2)
## [1] 6
cofactor(A4, 1, 3)
## [1] -3
cofactor(A4, 2, 3)
## [1] 6
cofactor(A4, 3, 3)
## [1] -3
adjoint(A4)
##      [,1] [,2] [,3]
## [1,]    2    4   -3
## [2,]    2  -11    6
## [3,]   -3    6   -3
adjoint(A4)/det(A4)
##            [,1]      [,2] [,3]
## [1,] -0.6666667 -1.333333    1
## [2,] -0.6666667  3.666667   -2
## [3,]  1.0000000 -2.000000    1
(adjoint(A4)/det(A4)) %*% A4
##               [,1]          [,2]          [,3]
## [1,]  1.000000e+00 -3.552714e-15 -3.552714e-15
## [2,]  1.776357e-15  1.000000e+00 -3.552714e-15
## [3,] -8.881784e-16 -1.776357e-15  1.000000e+00
round((adjoint(A4)/det(A4)) %*% A4, digits = 4)
##      [,1] [,2] [,3]
## [1,]    1    0    0
## [2,]    0    1    0
## [3,]    0    0    1
solve(A4)
##            [,1]      [,2] [,3]
## [1,] -0.6666667 -1.333333    1
## [2,] -0.6666667  3.666667   -2
## [3,]  1.0000000 -2.000000    1
(solve(A4) %*% A4)
##      [,1] [,2]          [,3]
## [1,]    1    0  0.000000e+00
## [2,]    0    1 -3.552714e-15
## [3,]    0    0  1.000000e+00
round(solve(A4) %*% A4, digits = 4)
##      [,1] [,2] [,3]
## [1,]    1    0    0
## [2,]    0    1    0
## [3,]    0    0    1
예제 5.1

\(A=\begin{bmatrix}2&5\\3&9\end{bmatrix}\)

(A5 <- matrix(c(2, 3, 5, 9), 2))
##      [,1] [,2]
## [1,]    2    5
## [2,]    3    9
det(A5)
## [1] 3
(C5 <- matrix(c(9, -3, -5, 2), 2))
##      [,1] [,2]
## [1,]    9   -5
## [2,]   -3    2
C5/det(A5)
##      [,1]       [,2]
## [1,]    3 -1.6666667
## [2,]   -1  0.6666667
(C5/det(A5)) %*% A5
##               [,1] [,2]
## [1,]  1.000000e+00    0
## [2,] -2.220446e-16    1
round((C5/det(A5)) %*% A5, digits = 4)
##      [,1] [,2]
## [1,]    1    0
## [2,]    0    1
adjoint(A5)
##      [,1] [,2]
## [1,]    9   -5
## [2,]   -3    2
adjoint(A5)/det(A5)
##      [,1]       [,2]
## [1,]    3 -1.6666667
## [2,]   -1  0.6666667
(adjoint(A5)/det(A5)) %*% A5
##               [,1]         [,2]
## [1,]  1.000000e+00 5.329071e-15
## [2,] -4.440892e-16 1.000000e+00
round((adjoint(A5)/det(A5)) %*% A5, digits = 4)
##      [,1] [,2]
## [1,]    1    0
## [2,]    0    1
solve(A5)
##      [,1]       [,2]
## [1,]    3 -1.6666667
## [2,]   -1  0.6666667
solve(A5) %*% A5
##      [,1] [,2]
## [1,]    1    0
## [2,]    0    1
round(solve(A5) %*% A5, digits = 4)
##      [,1] [,2]
## [1,]    1    0
## [2,]    0    1
예제 5.2

\(A=\begin{bmatrix}2&-1&3\\1&3&4\\-2&4&1\end{bmatrix}\)

(A6 <- matrix(c(2, 1, -2, -1, 3, 4, 3, 4, 1), 3))
##      [,1] [,2] [,3]
## [1,]    2   -1    3
## [2,]    1    3    4
## [3,]   -2    4    1
det(A6)
## [1] 13
adjoint(A6)
##      [,1] [,2] [,3]
## [1,]  -13   13  -13
## [2,]   -9    8   -5
## [3,]   10   -6    7
adjoint(A6)/det(A6)
##            [,1]       [,2]       [,3]
## [1,] -1.0000000  1.0000000 -1.0000000
## [2,] -0.6923077  0.6153846 -0.3846154
## [3,]  0.7692308 -0.4615385  0.5384615
(adjoint(A6)/det(A6)) %*% A6
##               [,1]         [,2]          [,3]
## [1,]  1.000000e+00 0.000000e+00  0.000000e+00
## [2,] -3.330669e-16 1.000000e+00 -1.276756e-15
## [3,] -4.440892e-16 4.440892e-16  1.000000e+00
round((adjoint(A6)/det(A6)) %*% A6, digits = 4)
##      [,1] [,2] [,3]
## [1,]    1    0    0
## [2,]    0    1    0
## [3,]    0    0    1
solve(A6)
##            [,1]       [,2]       [,3]
## [1,] -1.0000000  1.0000000 -1.0000000
## [2,] -0.6923077  0.6153846 -0.3846154
## [3,]  0.7692308 -0.4615385  0.5384615
solve(A6) %*% A6
##               [,1] [,2]          [,3]
## [1,]  1.000000e+00    0 -8.881784e-16
## [2,] -3.330669e-16    1 -4.440892e-16
## [3,]  2.220446e-16    0  1.000000e+00
round(solve(A6) %*% A6, digits = 4)
##      [,1] [,2] [,3]
## [1,]    1    0    0
## [2,]    0    1    0
## [3,]    0    0    1

5.3 역행렬의 존재조건과 성질

5.3.1 역행렬의 존재조건

(i) \(A^{-1}\)\(A\) 가 정방행렬인 경우에 존재
(ii) \(A^{-1}\)\(|\,A\,|\ne0\) 일 때만 존재. (nonsingular matrix)

5.3.2 역행렬의 성질

(i) \(A^{-1}A=A\ A^{-1}=I\).
  • \(A\ P=I\)를 만족하는 또다른 \(P\)가 있다고 하자. \(A\ P=I\)의 양변의 좌측에 \(A^{-1}\)을 곱하면 \(A^{-1}A\ P=A^{-1}I\). \(A^{-1}A=I\) 이므로 \(I\ P=A^{-1}\), 즉 \(P=A^{-1}\) 가 되어 \(A\ A^{-1}=I\) 가 성립.
(ii) \(A^{-1}\) 은 유일.
  • \(S\ A=I\) 라 가정. 양변 우측에 \(A^{-1}\)을 곱하면, \(S\ A\ A^{-1}=I\ A^{-1}=A^{-1}\). (i)로부터 \(A\ A^{-1}=I\) 이므로, \(S\ A\ A^{-1}=S\ I=S\). 따라서 \(S=A^{-1}\).
(iii) \(|\,A^{-1}\,|=|\,A\,|^{-1}\)
  • \(1=|\,I\,|=|\,A\ A^{-1}|=|\,A\,|\,|\,A^{-1}\,|\)
(iv) \(A^{-1}\) 은 정칙행렬(nonsingular)
  • \(A^{-1}\)\(A\) 가 정칙일 때 존재. 즉, \(|\,A\,|\ne0\). (iv)에 따라 \(|\,A^{-1}\,|= |\,A\,|^{-1}\ne0\). 따라서 \(A^{-1}\) 은 정칙행렬.
(v) \(A^{-1}\)의 역행렬은 \(A\). 즉, \((A^{-1})^{-1}=A\).
  • \(A\ A^{-1}=I\) 의 양변 우측에 \((A^{-1})^{-1}\) 을 곱하면 \(A\ A^{-1}(A^{-1})^{-1}=I\ (A^{-1})^{-1}\). 여기서 좌변은 \(\big(A\ A^{-1}\big)(A^{-1})^{-1}=A\ \big(A^{-1}(A^{-1})^{-1}\big)=A\). 따라서, \(A=I\ (A^{-1})^{-1}=(A^{-1})^{-1}\).
(vi) \((A^{-1})^t=(A^t)^{-1}\).
  • \(A\ A^{-1}=I\) 의 양변을 전치시키면 \((A\ A^{-1})^t=(A^{-1})^tA^t=I\). 따라서 \((A^{-1})^t\)\(A^t\) 의 역행렬.
(vii) \(A^t=A\) 이면 \((A^{-1})^t=A^{-1}\)
  • 바로 앞의 (vi) 에서 \((A^{-1})^t=(A^t)^{-1}=A^{-1}\) 이므로 \(A^{-1}\) 도 대칭.
(viii) \(A^{-1}\)\(B^{-1}\) 이 존재하면 \((A\ B)^{-1}=B^{-1}A^{-1}\).
  • \((B^{-1}A^{-1})(A\ B)=B^{-1}(A^{-1}A)B=B^{-1}I\ B=B^{-1}B=I\). 양변 우측에 \((A\ B)^{-1}\) 을 곱하면 \((A\ B)(A\ B)^{-1}=I\) 이므로 \(B^{-1}A^{-1}=(A\ B)^{-1}\).

  • \((A_1A_2\cdots A_r)^{-1}=A_r^{-1}A_{r-1}^{-1}\cdots A_2^{-1}A_1^{-1}\).

5.4 간단하고 특별한 경우의 역행렬

(a) 차수가 2인 정방행렬의 역행렬

  • \(A=\begin{bmatrix}a&x\\y&b\end{bmatrix}\) 에 대하여 \(|\,A\,|=ab-xy\), \(C=\begin{bmatrix}b&-y\\-x&a\end{bmatrix}\). 따라서 \(A^{-1}=\frac{1}{ab-xy}\begin{bmatrix}b&-x\\-y&a\end{bmatrix}\). (단, \(ab-xy\ne0\) 일 때)

(b) 대각행렬

  • \((D\{x_i\})^{-1}=D\{1/x_i\}\)
예제 5.3

      \(\begin{bmatrix}2&0&0\\0&4&0\\0&0&3\end{bmatrix}\)

(diag(c(2, 4, 3)))
##      [,1] [,2] [,3]
## [1,]    2    0    0
## [2,]    0    4    0
## [3,]    0    0    3
solve(diag(c(2, 4, 3)))
##      [,1] [,2]      [,3]
## [1,]  0.5 0.00 0.0000000
## [2,]  0.0 0.25 0.0000000
## [3,]  0.0 0.00 0.3333333
(solve(diag(c(2, 4, 3)))) %*% diag(c(2, 4, 3))
##      [,1] [,2] [,3]
## [1,]    1    0    0
## [2,]    0    1    0
## [3,]    0    0    1

(c) \(I\)\(J\) 행렬

\[(a\ I_n+b\ J_n)^{-1}=\frac{1}{a}(I_n-\frac{b}{a+n\ b}J_n)\]

(d) 직교행렬

      \(P\ P^t=I\). 양변 좌측에 \(P^{-1}\) 을 곱하면 \(P^{-1}=P^t\). 이 식의 양변 우측에 \(P\) 를 곱하면 \(P^{-1}P=P^tP=I\). 즉, 직교행렬의 열들은 정직교.

(i) 직교행렬 \(P\) 는 정방행렬
(ii) \(|\,P\,|=\pm1\)
(iii) \(P\ P^t=I\) 라는 의미에서 \(P\) 의 행들은 정직교
(iv) \(P^tP=I\) 라는 의미에서 \(P\) 의 열들도 정직교.
예제 5.4

      \(P=\frac{1}{15}\begin{bmatrix}5&-14&2\\-10&-5&-10\\10&2&-11\end{bmatrix}\)

(P <- (1/15)*matrix(c(5, -10, 10, -14, -5, 2, 2, -10, -11), 3))
##            [,1]       [,2]       [,3]
## [1,]  0.3333333 -0.9333333  0.1333333
## [2,] -0.6666667 -0.3333333 -0.6666667
## [3,]  0.6666667  0.1333333 -0.7333333
t(P)
##            [,1]       [,2]       [,3]
## [1,]  0.3333333 -0.6666667  0.6666667
## [2,] -0.9333333 -0.3333333  0.1333333
## [3,]  0.1333333 -0.6666667 -0.7333333
det(P)
## [1] 1
P %*% t(P)
##              [,1]          [,2]          [,3]
## [1,] 1.000000e+00  2.775558e-17  0.000000e+00
## [2,] 2.775558e-17  1.000000e+00 -5.551115e-17
## [3,] 0.000000e+00 -5.551115e-17  1.000000e+00
round(P %*% t(P), digits = 2)
##      [,1] [,2] [,3]
## [1,]    1    0    0
## [2,]    0    1    0
## [3,]    0    0    1
solve(P)
##            [,1]       [,2]       [,3]
## [1,]  0.3333333 -0.6666667  0.6666667
## [2,] -0.9333333 -0.3333333  0.1333333
## [3,]  0.1333333 -0.6666667 -0.7333333

자료 저장

save.image("chapter_5_class.rda")