행렬

마이클의 AI 연구소·2022년 2월 8일
0

행렬 (Matrix)

행렬

행렬은 표를 수학적인 기호로 나타내기 위해 만든 개념입니다. 많은 수나 식을 직사각형 모양으로 배열하고 괄호로 묶어서 표현합니다. 다음과 같이 표기합니다.

[421503][xx2x4xyy3x2x3+2yxyx]\begin{bmatrix}4 & 2 & -1 \\ 5 & 0 & 3 \end{bmatrix} \begin{bmatrix}x & x^2 & x^4 \\ x-y & y & 3x^2 \\ x^3 + 2y & xy & -x \end{bmatrix}

행렬의 구성요소

  1. 성분 : 행렬을 이루는 각각의 수나 식(원소)
  2. 행(row) : 행렬에서 가로줄
  3. 열(column) : 행렬에서 세로줄

m x n 행렬

m개의 행과 n개의 열이 있는 행렬을 m x n(m by n) 행렬이라고 표현하여 행렬의 크기를 나타냅니다.

[a11a12a1na21a22a2nam1am2amn]\begin{bmatrix} a_{11} & a_{12} & \cdots & a_{1n} \\ a_{21} & a_{22} & \cdots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{m1} & a_{m2} & \cdots & a_{mn} \end{bmatrix}

벡터

선형대수에서는 벡터가 행이나 열이 하나밖에 없는 행렬을 말합니다. 행만 있는 것은 행벡터, 열만 있는 벡터는 열벡터라고 표현합니다. i행 j열의 성분은 aija_{ij} 로 나타냅니다.

정방행렬(square matrix)

행과 열의 수가 같은 행렬(=정사각행렬)을 말합니다. 행과 열의 수가 2개이면 2차 정방행렬, 3개면 3차 정방행렬, n개면 n차 정방행렬이라고 표현합니다. 다음과 같은 정방행렬을 의미합니다.

[2215][316063142][0231212143104506]\begin{bmatrix}2 & -2 \\ 1 & 5 \end{bmatrix} \begin{bmatrix}3 & -1 & 6 \\ 0 & 6 & 3 \\ 1 & 4 & 2 \end{bmatrix} \begin{bmatrix}0 & 2 & 3 & 1 \\ -2 & 1 & -2 & 1 \\ 4 & 3 & -1 & 0 \\ -4 & 5 & 0 & -6 \end{bmatrix}

주대각성분(main diagonal entries)

이 정방행렬에서 (1, 1) 성분에서 (n, n) 성분까지 대각선상에 있는 성분을 주대각성분이라고 합니다. 이것은 앞으로 많이 사용될 수 있는 성분입니다.

대각행렬(diagonal matrix)

정방행렬에서 주대각 성분을 제외한 모든 성분이 0인 행렬을 대각행렬이라고 합니다.

[2005][300060002][4000010000100006]\begin{bmatrix}2 & 0 \\ 0 & 5 \end{bmatrix} \begin{bmatrix}3 & 0 & 0 \\ 0 & 6 & 0 \\ 0 & 0 & 2 \end{bmatrix} \begin{bmatrix}4 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & -1 & 0 \\ 0 & 0 & 0 & -6 \end{bmatrix}

단위행렬(unit matrix) : 1의 성질을 가진 행렬

대각행렬 중에서 주대각성분이 모두 1인 대각행렬을 단위행렬이라고 하고, 대문자 I 혹은 E를 사용합니다. I2I_2 와 같이 작은 첨자로 몇 차 단위행렬인지도 표기할 수 있습니다. 숫자 1과 I와 유사하므로 그렇게 암기하는 것이 편합니다. 실제로도 1과 같이 사용됩니다. 1의 성질은 1×a=a1 \times a = a 과 같이 곱했을 때, 그대로가 나오는 것이 1의 성질이라 할 수 있습니다. 이 단위행렬은 이렇게 다른 정방행렬과 곱했을 때, 곱해진 행렬이 그대로 나오는 성질을 가지고 있습니다.

[100010001][abcdefghi]=[abcdefghi]\begin{bmatrix}1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix}a & b & c \\ d & e & f \\ g & h & i \end{bmatrix} = \begin{bmatrix}a & b & c \\ d & e & f \\ g & h & i \end{bmatrix}

위와 같이 실제로 계산해보면 정말 그렇다는 것을 확인할 수 있습니다.

영행렬(zero matrix)

모든 성분이 0인 행렬을 말합니다. 3 - 3 = 0이 되는 것처럼 행렬과 행렬을 뺏을 때, 숫자 0이 되면 안되고 영행렬이 되어야 합니다.

실습문제

주어진 행렬에 대하여 다음 물음에 답하시오.

A=[130254617],B=[468],C=[37],D=[501442513803]A = \begin{bmatrix}1 & 3 & 0 \\ 2 & 5 & 4 \\ 6 & -1 & 7 \end{bmatrix}, B = \begin{bmatrix}-4 \\ 6 \\ 8 \end{bmatrix}, C = \begin{bmatrix}-3 & 7\end{bmatrix}, D = \begin{bmatrix}5 & 0 & -1 & 4 \\ 4 & 2 & 5 & 1 \\ -3 & 8 & 0 & 3 \end{bmatrix}
  1. 어떤 행렬이 정방행렬인가? A
  2. B의 크기는 얼마인가? 3 x 1
  3. C의 크기는 얼마인가? 1 x 2
  4. D의 (2, 3) 성분은 무엇인가? 5
  5. A의 두 번째 행벡터는 무엇인가? 2 5 4
  6. D의 세 번째 열벡터는 무엇인가? -1 5 0 (세로로)

행렬의 연산

다음의 행렬 A, B를 통해 덧셈, 뺄셈, 스칼라곱, 곱을 계산해봅니다.

A=[213514],B=[234201]A = \begin{bmatrix}2 & 1 \\ 3 & 5 \\ -1 & 4 \end{bmatrix}, B = \begin{bmatrix}-2 & 3 \\ 4 & 2 \\ 0 & -1 \end{bmatrix}

합과 차

같은 주소의 원소들을 합하거나 빼서 같은 위치에 적어주면 합이 됩니다.

A+B=[213514]+[234201]=[047713]A + B = \begin{bmatrix}2 & 1 \\ 3 & 5 \\ -1 & 4 \end{bmatrix} + \begin{bmatrix}-2 & 3 \\ 4 & 2 \\ 0 & -1 \end{bmatrix} = \begin{bmatrix}0 & 4 \\ 7 & 7 \\ -1 & 3 \end{bmatrix}
AB=[213514]+[234201]=[421315]A - B = \begin{bmatrix}2 & 1 \\ 3 & 5 \\ -1 & 4 \end{bmatrix} + \begin{bmatrix}-2 & 3 \\ 4 & 2 \\ 0 & -1 \end{bmatrix} = \begin{bmatrix}4 & -2 \\ -1 & 3 \\ -1 & 5 \end{bmatrix}

스칼라곱

스칼라는 숫자로서, 숫자와 행렬을 곱하는 연산입니다. 숫자 하나를 행렬의 모든 원소에 곱해주면 됩니다. 참 쉽죠?

5A=5[213514]=[1051525520]5A = 5 \begin{bmatrix}2 & 1 \\ 3 & 5 \\ -1 & 4 \end{bmatrix} = \begin{bmatrix}10 & 5 \\ 15 & 25 \\ -5 & 20 \end{bmatrix}

중간 실습문제

주어진 행렬에 대하여 다음 계산이 가능한지 판정하고, 가능한 경우 계산하시오.

A=[012345],B=[256243],C=[135],D=[208314157369],E=[223043],F=[022242]A = \begin{bmatrix}0 & 1 \\ 2 & 3 \\ 4 & -5 \end{bmatrix}, B = \begin{bmatrix}-2 & 5 \\ 6 & 2 \\4 & 3 \end{bmatrix}, C = \begin{bmatrix}-1 & 3 & 5\end{bmatrix}, \\ D = \begin{bmatrix}2 & 0 & 8 & 3 \\ 1 & 4 & -1 & 5 \\ 7 & -3 & 6 & 9 \end{bmatrix}, E = \begin{bmatrix}-2 & 2 \\ 3 & 0 \\4 & -3 \end{bmatrix}, F = \begin{bmatrix}0 & 2 & -2 \\ 2 & 4 & 2\end{bmatrix}
  1. A + B
[268582]\begin{bmatrix}-2 & 6 \\ 8 & 5 \\ 8 & -2 \end{bmatrix}
  1. 3B
[615186129]\begin{bmatrix}-6 & 15 \\ 18 & 6 \\ 12 & 9 \end{bmatrix}
  1. A - 2B
[49101411]\begin{bmatrix} -4 & -9 \\ -10 & -1 \\ -4 & -11 \end{bmatrix}
  1. A - F

    연산 불가능

  2. C + 3E

    연산 불가능

행렬곱

계산 가능 조건

행렬의 연산은 앞 행렬의 행뒷 행렬의 열을 곱해서 합산을 합니다. 따라서 앞 행렬의 열의 수와 뒷 행렬의 행의 수가 같아야만 계산이 가능합니다.

계산을 수식으로 표현해보자

행렬의 곱셈은 아래 그림과 같이 앞 행렬의 i행 성분과 뒷 행렬의 j열 성분의 곱의 합이 결과 행렬의 (i, j) 성분이 됩니다. 하나의 행과 하나의 열을 계산하는 식도 함께 표현해봅시다.

실제 값을 할당해서 계산해보면 다음과 같습니다.

행렬 곱의 교환법칙은 적용되지 않음

일반적인 연산은 AB=BAAB = BA 이지만, 행렬에서는 성립되지 않습니다. (ABBAAB \ne BA)

실제로 한 번 계산해봅시다.

A=[033121],B=[123230]A = \begin{bmatrix} 0 & 3 \\ 3 & 1 \\ 2 & -1 \end{bmatrix}, B = \begin{bmatrix} 1 & -2 & 3 \\ 2 & 3 & 0 \\ \end{bmatrix}
AB=[033121][123230]=[690539076]AB = \begin{bmatrix} 0 & 3 \\ 3 & 1 \\ 2 & -1 \end{bmatrix}\begin{bmatrix} 1 & -2 & 3 \\ 2 & 3 & 0 \\ \end{bmatrix} = \begin{bmatrix} 6 & 9 & 0 \\ 5 & -3 & 9\\ 0 & -7 & 6\end{bmatrix}
BA=[123230][033121]=[0299]BA = \begin{bmatrix} 1 & -2 & 3 \\ 2 & 3 & 0 \\ \end{bmatrix}\begin{bmatrix} 0 & 3 \\ 3 & 1 \\ 2 & -1 \end{bmatrix} = \begin{bmatrix} 0 & -2 \\ 9 & 9 \end{bmatrix}

위와 같이 다른 결과값이 도출되는 것을 알 수 있습니다.

행렬과 벡터의 곱

행렬과 벡터의 곱도 별반 다르지 않고 동일하게 계산합니다.

3x2 행렬과 2x1 행렬을 곱하여 3x1 행렬이 도출됩니다.

A=[113214],v=[35]A=\begin{bmatrix} 1 & -1 \\ 3 & -2 \\ 1 & 4 \end{bmatrix}, v = \begin{bmatrix}3 \\ -5 \end{bmatrix}
Avˉ=[113214][35]=[3+59+10320]=[81917]A\bar v =\begin{bmatrix} 1 & -1 \\ 3 & -2 \\ 1 & 4 \end{bmatrix} \begin{bmatrix}3 \\ -5 \end{bmatrix} = \begin{bmatrix}3+5\\9+10\\3-20\end{bmatrix} = \begin{bmatrix}8 \\ 19 \\ -17\end{bmatrix}

실습문제

주어진 행렬에 대하여 다음을 계산해봅시다.

A=[253410234],B=[001],C=[010],I=[100010001]A=\begin{bmatrix} 2 & 5 & -3 \\ -4 & 1 & 0 \\ -2 & 3 & 4 \end{bmatrix}, B = \begin{bmatrix}0 \\ 0 \\ 1 \end{bmatrix}, C = \begin{bmatrix}0 &1 & 0 \end{bmatrix}, I = \begin{bmatrix}1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix}
  1. CI
CI=[010][100010001]=[010]CI = \begin{bmatrix}0 &1 & 0 \end{bmatrix}\begin{bmatrix}1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix} = \begin{bmatrix}0 & 1 & 0 \end{bmatrix}
  1. IB
IB=[100010001][001]=[001]IB = \begin{bmatrix}1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix}\begin{bmatrix}0 \\ 0 \\ 1 \end{bmatrix} = \begin{bmatrix}0 \\ 0 \\ 1 \end{bmatrix}
💡 위의 계산은 계산을 해볼 필요도 없이 항등항렬 I와의 연산이므로 곱해주는 행렬을 그대로 적어주면 된다.

행렬의 거듭제곱

행렬은 제곱도 가능합니다. 스칼라를 거듭해서 곱해주는 것과 같이 행렬도 여러번 곱해줍니다. 단, 정방행렬일 경우에만 가능합니다. 생각해보면 알 수 있듯이, 행과 열이 다른 경우 연산이 불가능해지기 때문입니다.

A2=AA   A3=AAA   A4=AAAAA^2 = AA \space \space \space A^3 = AAA \space\space\space A^4 = AAAA

행렬의 거듭제곱의 성질

  1. A0=IA^0 = I
  2. (Ab)c=Abc(A^b)^c = A^{bc}
  3. AbAc=Ab+cA^bA^c = A^{b+c}

실습문제

행렬 A=[1231]A = \begin{bmatrix}1 & -2\\3 & 1\end{bmatrix}에 대해 다음 행렬의 거듭제곱을 구하시오.

  1. A0A^0
  • 계산할 필요 없이 0제곱은 II행렬이 됨
  • 고로 답은 [1001]\begin{bmatrix}1 & 0 \\ 0 & 1\end{bmatrix}
  1. A2A^2
  • [1231][1231]=[5465]\begin{bmatrix}1 & -2\\3 & 1\end{bmatrix}\begin{bmatrix}1 & -2\\3 & 1\end{bmatrix}=\begin{bmatrix}-5 & -4\\6 & -5\end{bmatrix}
  1. A3A^3
  • [5465][1231]=[176917]\begin{bmatrix}-5 & -4\\6 & -5\end{bmatrix}\begin{bmatrix}1 & -2\\3 & 1\end{bmatrix}=\begin{bmatrix}-17 & 6\\-9 & -17\end{bmatrix}

행렬 연산의 기본 성질

일반적인 숫자의 연산의 성질들이 동일하게 행렬에 적용됩니다.

  1. A+0=0+A=AA+0=0+A=A
  2. IA=AI=AIA=AI=A
  3. A+B=B+AA+B=B+A
  4. (A+B)+C=A+(B+C)(A+B)+C=A+(B+C)
  5. (AB)C=A(BC)(AB)C=A(BC)
  6. A(B+C)=AB+ACA(B+C)=AB+AC
  7. (A+B)C=AC+BC(A+B)C=AC+BC
  8. a(B+C)=aB+aCa(B+C)=aB+aC
  9. (a+b)C=aC+bC(a+b)C=aC+bC
  10. (ab)C=a(bC)(ab)C=a(bC)
  11. a(BC)=(aB)C=B(aC)a(BC)=(aB)C=B(aC)

예외 성질

AB=0 일 때, 반드시 A나 B가 0이라고 단정 할 수 없습니다.

아래와 같이 0행렬이 아닌 행렬연산에서도 0행렬이 도출될 수 있습니다

[1200][2010]=[0000]\begin{bmatrix}-1 & -2 \\ 0 & 0 \end{bmatrix} \begin{bmatrix}2 & 0 \\ -1 & 0 \end{bmatrix} = \begin{bmatrix}0 & 0 \\ 0 & 0 \end{bmatrix}

행렬 합과 차의 거듭제곱 법칙

일반적인 산술연산에서의 합과 차의 거듭제곱 법칙은 (A+B)2=A2+2AB+B2(A+B)^2 = A^2+2AB+B^2이 성립되지만 행렬은 그렇지 못합니다. 왜냐하면 이 법칙에서의 2AB2ABAB+BA=2ABAB + BA = 2AB로 도출한 것이기 때문입니다. 그러나 행렬은 AB=BAAB = BA가 성립하지 않으므로 그 부분을 풀어서 전개해야 하는 것입니다. 그 결과 아래와 같은 법칙으로 정리할 수 있습니다.

  1. (A+B)2=A2+AB+BA+B2(A+B)^2=A^2+AB+BA+B^2
  2. (AB)2=A2ABBA+B2(A-B)^2 = A^2-AB-BA+B^2
profile
늘 성장을 꿈꾸는 자들을 위한 블로그입니다.

0개의 댓글