이산수학에서 다루는 행렬은 기초적인 행렬입니다. 좀 더 심화적인 행렬의 내용은 선형대수학을 포스팅할 때 다루도록 하겠습니다.

행렬의 정의
행렬은 행과 열로 나열하는 것을 말합니다. 기본적으로 연립방정식을 풀기 위하여 만들어진 개념이며, 수, 문자, 함수 등을 괄호 안에 배열한 것입니다. 행렬의 각 성분은 실수여야 하고, 이는 “스칼라(Scalar)”라고 합니다. 스칼라는 크기만 있고 방향을 가지지 않는 양을 말하며, 벡터와는 반대되는 개념입니다. 수학적으로 정의한 행렬은 다음과 같습니다.
💡 (정의) 행렬 💡
행렬 AA는 실수들을 사각형의 배열로 표시한 것이다(단, mm과 nn은 양의 정수). 각각 nn쌍으로 된 mm개의 수평 성분 (ai1 ai2 ai3⋯ainai1 ai2 ai3⋯ain ) (단, 1≤i≤m1≤i≤m )을 AA의 행(row)이라고 하고, 각각 mm쌍으로 된 nn개의 수직 성분 (a1j a2j a3j⋯amja1j a2j a3j⋯amj )(단, 1≤j≤n1≤j≤n)을 AA의 열(column)이라고 한다.
A=(a11a12a13⋯a1na21a22a23⋯a2n⋮am1am2am3⋯amn)A=⎛⎜ ⎜ ⎜ ⎜⎝a11a12a13⋯a1na21a22a23⋯a2n⋮am1am2am3⋯amn⎞⎟ ⎟ ⎟ ⎟⎠
행렬 AA를 A=(aij)A=(aij)로 표시하는데, 이때, 원소 aijaij는 ii행의 jj번째 열의 원소를 나타냅니다. AA를 m×nm×n 행렬이라고 하며, m by nm by n 행렬로 읽습니다.
영행렬
만약 각 성분이 모두 0이라면, 이 행렬을 “영행렬”이라고 하고 0으로 표시합니다.
💡 (정의) 영행렬 💡
각 성분이 0인 행렬을 말한다. 영행렬은 00으로 표시한다.
(0000),(000000),(000000000)(0000),(000000),⎛⎜⎝000000000⎞⎟⎠
두 행렬의 같음
두 행렬이 있을 때, 그 두 행렬이 같을 조건은 다음과 같습니다.
💡 (정의) 두 행렬의 같음 💡
두 행령이 m×nm×n 행렬이고 대응하는 원소가 모두 같으면 A=(aij)A=(aij)와 B=(bij)B=(bij)는 같다라고 하며, A=BA=B 라고 표현합니다.
행렬의 합
행렬의 합은 다음과 같이 정의합니다.
💡 (정의) 행렬의 합 💡
행렬 AA와 BB가 같은 크기와 행과 열을 가지면, 행렬 AA와 BB의 행렬의 합은 A+BA+B로 표시하고 A+B=(aij)+(bij)=(aij+bij)A+B=(aij)+(bij)=(aij+bij)이다. 즉, 대응하는 성분끼리 합을 구하면 그 값이 A+BA+B의 각 성분이 되는 것이다.
행렬의 덧셈 성질
행렬의 합을 통하여 알 수 있는 행렬의 덧셈 성질은 다음과 같습니다.
💡 (정리) 행렬의 덧셈 성질 💡
- A+B=B+AA+B=B+A (덧셈의 교환법칙)
- (A+B)+C=A+(B+C)(A+B)+C=A+(B+C) (덧셈의 결합법칙)
- A+0=0+A=AA+0=0+A=A (덧셈의 항등법칙)
행렬의 곱
행렬의 곱은 스칼라곱과 행렬곱 두 가지로 정의됩니다.
스칼라 곱
스칼라 곱은 행렬에 실수배를 하는 것입니다. 스칼라 곱은 다음과 같이 정의됩니다.
💡 (정의) 스칼라 곱 💡
AA가 m×nm×n 행렬이고 cc가 실수이면 다음이 성립한다.
c⋅A=c⋅(aij)=(c×aij)c⋅A=c⋅(aij)=(c×aij)
행렬의 곱
두 행렬을 곱하는 행렬의 곱은 다음과 같이 정의됩니다.
💡 (정의) 행렬의 곱 💡
A=(aij)A=(aij)는 m×pm×p 행렬이고 B=(bij)B=(bij)는 p×np×n 행렬일 때, 행렬의 곱 ABAB는 m×nm×n 행렬이고 C=(cij)C=(cij)가 된다. 이때,
Cij=ai1b1j+ai2b2j⋯+aipbpj(단, 1≤i≤m, 1≤j≤n)Cij=ai1b1j+ai2b2j⋯+aipbpj(단, 1≤i≤m, 1≤j≤n)
이다. 즉, 행렬의 곱 ABAB는 다음과 같이 구할 수 있다.
AB=(a11a12a13⋯a1pa21a22a23⋯a2p⋮ai1ai2ai3⋯aip⋮am1am2am3⋯amp)(b11b12b13⋯b1j⋯b1nb21b22b23⋯b1j⋯b2n⋮⋮⋮bp1bp2bp3⋯b1j⋯bpn)=(c11c12c13⋯c1nc21c22c23⋯c2n⋮⋯cij⋯⋮cm1cm2cm3⋯cmn)AB=⎛⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜⎝a11a12a13⋯a1pa21a22a23⋯a2p⋮ai1ai2ai3⋯aip⋮am1am2am3⋯amp⎞⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟⎠⎛⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜⎝b11b12b13⋯b1j⋯b1nb21b22b23⋯b1j⋯b2n⋮⋮⋮bp1bp2bp3⋯b1j⋯bpn⎞⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟⎠=⎛⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜⎝c11c12c13⋯c1nc21c22c23⋯c2n⋮⋯cij⋯⋮cm1cm2cm3⋯cmn⎞⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟⎠
행렬의 곱셈 성질
행렬의 곱을 통하여 알 수 있는 행렬의 곱셈 성질은 다음과 같습니다.
💡 (정리) 행렬의 곱셈 성질 💡
- A⋅(B⋅C)=(A⋅B)⋅CA⋅(B⋅C)=(A⋅B)⋅C (곱셈의 결함법칙)
- A⋅(B+C)=A⋅B+A⋅CA⋅(B+C)=A⋅B+A⋅C (곱셈의 분배법칙)
- (A+B)⋅C=A⋅C+B⋅C(A+B)⋅C=A⋅C+B⋅C (곱셈의 분배법칙)
특수 행렬
여태껏 기본 행렬에 대해서 알아보았는데, 지금부터는 다양한 형태의, 여러 종류의 행렬들에 대해서 알아보도록 하겠습니다.
정방 행렬
💡 (정의) 정방 행렬 💡
행과 열의 수가 nn으로 같은 행렬을 nn차 정방 행렬이라고 한다.
이때, 행 또는 열의 개수를 “정방 행렬의 차수”라고 하며, nn차 정방 행렬에서 대각선상에 위치한 원소, aii(i=1, 2, 3,⋯, n)aii(i=1, 2, 3,⋯, n)를 “주대각 원소”라고 합니다.
대각 행렬
💡 (정의) 대각 행렬 💡
주대각 원소를 제외한 나머지 원소가 모두 00인 행렬을 대각 행렬이라고 한다.
(2003), (200030004)(2003), ⎛⎜⎝200030004⎞⎟⎠
단위 행렬(= 항등 행렬)
💡 (정의) 단위 행렬(항등 행렬) 💡
주대각 원소들은 모두 11이고, 주대각 원소를 제외한 나머지 원소들은 모두 00인 정방 행렬을 단위 행렬 또는 항등 행렬이라고 한다.
(1001), (100010001)(1001), ⎛⎜⎝100010001⎞⎟⎠
스칼라 행렬
💡 (정의) 스칼라 행렬 💡
주대각 원소들이 모두 같은 값을 갖는 대각 행렬을 스칼라 행렬이라고 한다.
(3003), (500050005)(3003), ⎛⎜⎝500050005⎞⎟⎠
전치 행렬
💡 (정의) 전치 행렬 💡
행렬 AA가 임의의 m×nm×n 행렬일 때, AA의 행과 열을 바꾼 n×mn×m 행렬을 전치행렬이라고 한다. AA의 전치행렬은 ATAT라고 표현한다.
대칭 행렬
💡 (정의) 대칭 행렬 💡
어떤 정방 행렬이 자신과 자신의 전치 행렬이 같으면 그 행렬을 대칭 행렬이라고 한다. 행렬 AA가 대칭 행렬이면 A=ATA=AT를 만족한다.
삼각 행렬
상삼각 행렬이거나 하삼각 행렬을 간단하게 삼각 행렬이라고 합니다.
💡 (정의) 상삼각 행렬 💡
주대각 원소의 아래쪽에 있는 모든 원소들이 00인 정방 행렬을 상삼각 행렬이라고 한다.
(3504), (567089003)(3504), ⎛⎜⎝567089003⎞⎟⎠
💡 (정의) 하삼각 행렬 💡
주대각 원소의 위쪽에 있는 모든 원소들이 00인 정방 행렬을 상삼각 행렬이라고 한다.
(3054), (500670893)(3054), ⎛⎜⎝500670893⎞⎟⎠
띠 행렬
💡 (정의) 띠 행렬 💡
주대각 원소와 평행한 몇 줄의 원소들만 값을 갖고, 그 이외의 모든 원소들은 00인 행렬을 띠 행렬이라고 한다.
(540672093),(5400072000380009)⎛⎜⎝540672093⎞⎟⎠,⎛⎜ ⎜ ⎜⎝5400072000380009⎞⎟ ⎟ ⎟⎠
역행렬
💡 (정의) 역행렬 💡
임의의 정방 행렬 AA에 대하여, AB=BA=IAB=BA=I를 만족하는 정방 행렬 BB가 존재할 때 AA는 가역(역행렬이 존재함)이라고 하고, BB는 AA의 역행렬이라고 하며 A−1A−1로 표시한다.
💡 (정리) 2차 정방 행렬의 역행렬 💡
2차 정방 행렬 A=(abcd)A=(abcd)는 det(A)=ad−bc≠0det(A)=ad−bc≠0이므로 가역이고, AA의 역행렬은 다음과 같이 구한다.
A−1=1ad−bc(d−b−ca)A−1=1ad−bc(d−b−ca)
역행렬을 구하는 방법은 아주 다양합니다. 일반적으로 연립방정식을 이용하여 푸는데, 연립방정식을 푸는 방법은 가우스 소거법, 가우스-조단 방법 같이 직접적인 해를 구하는 방법과 야코비 방법, 가우스-자이델 방법 같이 반복적으로 해를 구하는 방법이 있습니다.
이에 대한 자세한 공부는 “선형대수학”에서 다루고 지금은 넘어가도록 하겠습니다.
특이 행렬
💡 (정의) 특이 행렬 💡
임의의 정방 행렬 AA가 있을 때, AA의 역행렬이 존재하지 않는 행렬을 특이 행렬이라고 한다. det(A)=0det(A)=0이 되는 행렬을 말한다.
(140250360)⎛⎜⎝140250360⎞⎟⎠
정칙 행렬
💡 (정의) 정칙 행렬 💡
임의의 정방 행렬 AA가 있을 때, AA의 역행렬이 존재하는 행렬을 정칙 행렬이라고 한다. det(A)≠0det(A)≠0이 되는 행렬을 말한다.
(1324)(1324)
직교 행렬
💡 (정의) 직교 행렬 💡
임의의 행렬 AA에 대하여, A−1=ATA−1=AT가 되는 행렬을 직교 행렬이라고 한다.
부울 행렬
💡 (정의) 부울 행렬 💡
행렬의 원소들이 00이거나 11인 m×nm×n 행렬을 부울 행렬이라고 한다.
부울 행렬의 연산과 부울 연산은 다른데, 부울 행렬에서 사용하는 연산자는 “접합”, “교합”, “부울곱”입니다.
💡 (정의) 접합 💡
A=(aij), B=(bij)A=(aij), B=(bij)인 m×nm×n 부울 행렬이 존재할 때, A∨B=C=(Cij)A∨B=C=(Cij)를 AA와 BB의 접합이라고 하며, 다음과 같이 정의한다.
(cij)={1,aij=1 혹은 bij=1 인 경우0,aij 와 bij 가 모두 0 인 경우(cij)={1,aij=1 혹은 bij=1 인 경우0,aij 와 bij 가 모두 0 인 경우
💡 (정의) 교합 💡
A=(aij), B=(bij)A=(aij), B=(bij)인 m×nm×n 부울 행렬이 존재할 때, A∧B=D=(dij)A∧B=D=(dij)를 AA와 BB의 교합이라고 하며, 다음과 같이 정의한다.
(dij)={1,aij 와 bij 가 모두 1 인 경우0,aij=0 혹은 bij=0 인 경우(dij)={1,aij 와 bij 가 모두 1 인 경우0,aij=0 혹은 bij=0 인 경우
💡 (정의) 부울곱 💡
E⊙F=G=(gij)E⊙F=G=(gij)를 EE와 FF의 부울곱이라고 한다. 행렬 E=(eik)E=(eik)가 m×pm×p 부울 행렬이고 F=(fij)F=(fij)가 p×np×n 부울 행렬이면 EE와 FF의 부울곱은 m×nm×n 부울 행렬이 되고 다음과 같이 정의한다.
(gij)={1,어떤 k(1≤k≤p) 에 대해 aij=1, bij=1 인 경우0,그 외에(gij)={1,어떤 k(1≤k≤p) 에 대해 aij=1, bij=1 인 경우0,그 외에
부울 행렬의 성질은 다음과 같습니다.
💡 (정리) 부울 행렬의 성질 💡
A, B, CA, B, C가 부울 행렬일 때, 다음 성질이 성립한다.
- A∨B=B∨A, A∧B=B∧AA∨B=B∨A, A∧B=B∧A - (교환법칙)
- (A∨B)∨C=A∨(B∨C), (A∧B)∧C=A∧(B∧C)(A∨B)∨C=A∨(B∨C), (A∧B)∧C=A∧(B∧C) - (결합법칙)
- A∧(B∨C)=(A∧B)∨(A∧C), A∨(B∧C)=(A∨B)∧(A∨C)A∧(B∨C)=(A∧B)∨(A∧C), A∨(B∧C)=(A∨B)∧(A∨C) - (분배법칙)
- A⊙(B⊙C)=(A⊙B)⊙CA⊙(B⊙C)=(A⊙B)⊙C - (결합법칙)
행렬식
행렬식은 기본적으로 행렬의 역행렬을 구하기 위하여 주로 사용됩니다.
💡 (정의) 행렬식 💡
행렬식은 모든 정방 행렬 AA에 대하여 고유한 수치 값을 대응시키는 것을 말하며, AA의 행렬식을 |A||A| 또는 det(A)det(A)로 표시한다.
2×22×2인 행렬의 행렬식은 다음과 같이 정의한다.
det(a11a12a21a22)=a11a22−a12a21det(a11a12a21a22)=a11a22−a12a21
사루스 법칙 (권장 X)
일반적인 행렬에 대한 행렬식은 사루스 법칙으로 구할 수 있습니다. 그냥 공식만 보면 이해가 어렵기에 그림을 첨부합니다.
💡 (정리) 사루스 법칙 💡
3×33×3 행렬에서 사용되는 행렬식을 구하는 공식이다. (사루스 법칙은 계산을 위한 공식으로 수학 공부 할 때는 그다지 추천하지 않는 공식입니다.)
|a11a12a13a21a22a23a31a32a33|=a11a22a33+a12a23a31+a13a21a32−a13a22a31−a12a21a33−a11a23a32∣∣ ∣∣a11a12a13a21a22a23a31a32a33∣∣ ∣∣=a11a22a33+a12a23a31+a13a21a32−a13a22a31−a12a21a33−a11a23a32

행렬식에 관한 성질
💡 (정리) 행렬식에 관한 몇 가지 성질 💡
- 행렬 A의 각 원소의 행과 열이 바뀌어도 det(A)는 변하지 않는다.
- 행렬식에서 두 개의 행이나 열을 서로 바꾸면 부호만 변한다.
- 행렬 A가 서로 비례하는 두 개의 행 또는 두 개의 열을 갖는 정방 행렬이면 det(A)=0이다.
- 행렬식에서 특정 어느 행이나 열의 각 성분이 두 수의 합일 때, 두 개의 행렬식의 합으로 나눌 수 있다.
소행렬식과 여인수
간단한 행렬의 행렬식은 사루스 법칙으로 계산할 수 있지만, 행렬의 크기가 커지면 계산하기 쉽지 않습니다. 이러한 문제점을 해결하기 위해 행렬식을 “소행렬식”과 “여인수”를 사용하여 계산하는 방법이 고안되었습니다.
💡 (정의) 소행렬식 💡
행렬식에서 한 원소의 소행렬식은 그 원소가 있는 행과 열을 제외시킨 행렬식이다.
행렬식이 |a11a12a13a21a22a23a31a32a33| 이렇게 주어진다면 a11의 소행렬식은 |a22a23a32a33| 이다.
💡 (정의) 여인수 💡
하나의 정방 행렬에서 한 원소의 여인수는 그 원소의 소행렬식에 부호를 붙인 값을 말한다. 즉, 행렬 A의 i번째 행과 j번째 열을 제거해 만든 소행렬 Aij의 행렬식 |Aij|에 부호 (−1)i+j을 붙인 값을 A의 i, j번째 여인수라고 한다. 부호는 다음과 같이 붙인다.
|+−+⋯−+−⋯+−+⋯⋮⋮⋮|
💡 (정리) 여인수 전개(라플라스 전개) 💡
Mij를 원소 aij의 소행렬식이라고 하면 aij의 여인수 Cij=(−1)i+jMij이다. 또한, 행렬식 |A|를 n행에 대해서 전개하면 다음과 같다.
det(A)=an1|An1|+an2|An2|+⋯+ann|Ann|
같은 방법으로 행렬식 |A|를 n열에 대해서 전개하면 다음과 같다.
det(A)=a1n|A1n|+a2n|A2n|+⋯+ann|Ann|
참고자료 (래퍼런스)
https://www.youtube.com/watch?v=83UnOz6HiOY&list=PL127T2Zu76FuVMq1UQnZv9SG-GFIdZfLg&index=2
https://namu.wiki/w/%EB%9D%BC%ED%94%8C%EB%9D%BC%EC%8A%A4%20%EC%A0%84%EA%B0%9C