이산수학 5강 - 행렬
행렬의 구성과 표기법을 익히고 합, 차, 스칼라 곱, 행렬곱, 전치 등의 기본연산을 학습한다. 가우스 소거법으로 일차연립방정식을 푸는 과정과 여러 행렬의 유형을 구분한 뒤, 논리연산을 사용하는 부울행렬의 합·교차·부울곱을 이해한다.
1. 행렬의 기본 개념
행렬의 의미와 활용
행렬(matrix)은 수를 행과 열로 구성된 직사각형 형태로 배열한 것이다. 많은 데이터를 일정한 구조로 표현하고 한꺼번에 처리할 수 있어 프로그래밍 언어, 자료구조, 컴퓨터 그래픽스, 패턴인식, 로봇 동작, 인공지능 등 다양한 컴퓨터 분야에서 활용된다.
m × n 행렬은 m개의 행과 n개의 열로 구성된 수 배열이다. 행렬 A의 i번째 행, j번째 열에 있는 수를 A의 (i, j) 원소라 하고 aij로 표시한다. 행렬 전체를 A = [aij]와 같이 간단히 나타내기도 한다.
| 용어 | 정의 | 크기 |
|---|---|---|
| 행벡터 | 하나의 행으로 이루어진 행렬 | 1 × n |
| 열벡터 | 하나의 열로 이루어진 행렬 | m × 1 |
| 영행렬 O | 모든 원소가 0인 행렬 | 필요에 따라 여러 크기가 가능 |
예를 들어 A = [[1, 2, 3], [4, 5, 6]]은 2개의 행과 3개의 열을 가지므로 2 × 3 행렬이다. 이때 a23은 두 번째 행, 세 번째 열의 원소이므로 6이다. 행렬의 크기는 이후 연산 가능 여부를 결정하므로 원소 계산보다 먼저 확인해야 한다.
m × n에서 앞의 수 m은 행의 개수, 뒤의 수 n은 열의 개수이다. (i, j) 원소 aij에서도 i는 행 번호, j는 열 번호를 뜻한다.
2. 행렬의 합·차와 스칼라 곱
원소별로 수행하는 연산
행렬 A와 B의 합과 차는 두 행렬의 크기가 같을 때만 정의된다. 같은 위치에 있는 원소끼리 더하거나 빼므로 C = A + B이면 cij = aij + bij이고, C = A - B이면 cij = aij - bij이다.
실수 k와 행렬 A의 스칼라 곱 kA는 A의 모든 원소에 k를 곱한 행렬이다. 따라서 C = kA이면 cij = kaij이다. 합과 차는 대응하는 원소끼리 계산하고, 스칼라 곱은 하나의 수를 모든 원소에 적용한다는 차이를 구분해야 한다.
강의 예제의 계산
A = [[1, 1, 0, 0], [0, 1, 1, 0], [0, 0, 1, 1]], B = [[2, 4, 1, 3], [1, 4, 2, 3], [2, 3, 1, 6]]이라 하자. 두 행렬은 모두 3 × 4이므로 합과 차를 계산할 수 있다.
- B - A = [[1, 3, 1, 3], [1, 3, 1, 3], [2, 3, 0, 5]]
- 3A = [[3, 3, 0, 0], [0, 3, 3, 0], [0, 0, 3, 3]]
- 3A + (B - A) = [[4, 6, 1, 3], [1, 6, 4, 3], [2, 3, 3, 8]]
합과 스칼라 곱의 연산법칙
| 법칙 | 수식 |
|---|---|
| 합의 교환법칙 | A + B = B + A |
| 합의 결합법칙 | (A + B) + C = A + (B + C) |
| 합의 항등원 | A + O = A |
| 합의 역원 | A + (-A) = O |
| 스칼라 곱의 결합법칙 | (ab)A = a(bA) |
| 스칼라 덧셈·뺄셈의 분배법칙 | (a ± b)A = aA ± bA |
| 행렬 덧셈·뺄셈의 분배법칙 | a(A ± B) = aA ± aB |
3. 행렬의 곱
곱셈이 가능한 크기
A가 m × n 행렬이고 B가 n × l 행렬일 때 행렬곱 AB가 정의되며, 그 결과는 m × l 행렬이다. 즉 앞 행렬의 열 개수와 뒤 행렬의 행 개수가 같아야 한다. 결과 행렬의 크기는 바깥쪽에 남는 두 수로 결정된다.
AB = C에서 (i, j) 원소 cij는 A의 i번째 행과 B의 j번째 열의 대응 원소를 곱하여 모두 더한 값이다.
cij = Σk=1naikbkj = ai1b1j + ai2b2j + ··· + ainbnj이다. 한 원소를 구할 때 “A의 행 × B의 열”을 내적한다고 기억하면 된다.
행벡터와 열벡터의 내적
n차원 벡터 A = (a1, a2, …, an)와 B = (b1, b2, …, bn)의 내적은 A · B = a1b1 + a2b2 + ··· + anbn이다. 예를 들어 (1, 2, 3)과 (-1, 0, 2)의 내적은 -1 + 0 + 6 = 5이다.
행렬곱 계산 예제
A = [[4, -1], [2, 3], [1, 5]], B = [[7, -3], [9, -2]]라 하자. A는 3 × 2이고 B는 2 × 2이므로 AB는 3 × 2 행렬이다. 첫 번째 원소는 4 × 7 + (-1) × 9 = 19이고, 세 번째 행 두 번째 열의 원소는 1 × (-3) + 5 × (-2) = -13이다.
모든 행과 열의 내적을 계산하면 AB = [[19, -10], [41, -12], [52, -13]]을 얻는다.
행렬곱의 연산법칙과 특이 성질
연산에 적합한 크기의 행렬에 대해 행렬곱은 결합법칙 A(BC) = (AB)C와 분배법칙 A(B + C) = AB + AC, (A + B)C = AC + BC를 만족한다. 그러나 일반적으로 곱의 교환법칙은 성립하지 않는다.
| 성질 | 내용 |
|---|---|
| 비가환성 | AB와 BA가 모두 정의되어도 일반적으로 AB ≠ BA이다. |
| 영인자 가능성 | A ≠ O이고 B ≠ O이어도 AB = O가 되는 행렬이 존재한다. |
| 거듭제곱 조건 | An은 A가 정방행렬일 때 정의한다. |
| 거듭제곱 법칙 | ArAs = Ar+s, (Ar)s = Ars |
강의의 예제 A = [[2, 0], [0, -1]]에서는 An = [[2n, 0], [0, (-1)n]]이다. 대각행렬의 거듭제곱에서는 각 대각원소가 거듭제곱되고, (-1)n은 n의 홀짝에 따라 -1과 1을 번갈아 가진다.
행렬의 합은 같은 크기에서 원소별로 계산하지만, 행렬곱은 앞 행렬의 행과 뒤 행렬의 열을 내적한다. 또한 행렬곱은 일반적으로 순서를 바꿀 수 없으며, 0이 아닌 두 행렬의 곱이 영행렬이 될 수도 있다.
4. 일차연립방정식과 행렬
일차연립방정식은 행렬식 AX = B로 표현할 수 있다. 여기서 A는 미지수의 계수를 모은 계수행렬, X는 미지수를 세로로 배열한 미지수 행렬, B는 등호 오른쪽의 상수를 배열한 상수행렬이다. A와 B를 세로선으로 연결한 (A|B)를 확대행렬이라 한다.
만약 A의 역행렬 A-1이 존재한다면 AX = B의 양변 왼쪽에 A-1을 곱하여 X = A-1B로 해를 구할 수 있다. 그러나 역행렬을 직접 이용하지 않고 확대행렬에 기본행연산을 적용하는 방법이 가우스 소거법이다.
기본행연산
| 연산 | 기호 | 의미 |
|---|---|---|
| 행 교환 | Ri,j | 두 행의 위치를 서로 바꾼다. |
| 행 스케일링 | Ri(c) | 한 행에 0이 아닌 스칼라 c를 곱한다. |
| 행 대체 | Ri,j(c) | 한 행의 스칼라 배를 다른 행에 더한다. |
확대행렬 A에 유한 번의 기본행연산을 적용하여 B를 얻을 수 있으면 A ~ B라고 한다. 두 일차연립방정식의 확대행렬이 이 관계에 있으면 두 연립방정식의 해집합은 동일하다. 기본행연산으로 행렬의 모양을 바꾸어도 원래 방정식의 해를 보존한다는 사실이 가우스 소거법의 근거이다.
5. 행제형과 가우스 소거법
행제형 행렬
강의에서 행제형 행렬(row echelon matrix)은 다음 세 조건을 만족하는 행렬로 정의한다.
- 영행이 아닌 행은 모든 원소가 0인 영행보다 위에 있다.
- 영행이 아닌 각 행의 첫 번째 0이 아닌 원소인 선도원소는 1이다.
- 아래 행의 선도원소는 위 행의 선도원소보다 오른쪽에 있다.
소거 행제형 행렬
소거 행제형 행렬(reduced row echelon matrix)은 행제형의 세 조건에 한 가지 조건을 더 만족한다. 각 선도원소가 들어 있는 열에서 선도원소를 제외한 나머지 원소가 모두 0이어야 한다. 즉 피벗 위와 아래의 원소를 모두 0으로 만든 형태이다.
| 구분 | 행제형 | 소거 행제형 |
|---|---|---|
| 영행의 위치 | 맨 아래 | 맨 아래 |
| 선도원소 | 각 행에서 1이며 아래로 갈수록 오른쪽 | 행제형 조건을 모두 만족 |
| 선도원소 열 | 선도원소 아래를 소거하는 형태 | 선도원소를 제외한 위·아래 원소가 모두 0 |
가우스 소거법과 가우스-조르단 소거법
가우스 소거법은 일차연립방정식의 확대행렬을 기본행연산으로 행제형 행렬까지 바꾼 뒤 뒤에서부터 대입하여 해를 구한다. 가우스-조르단 소거법은 더 나아가 소거 행제형 행렬까지 변환하여 각 미지수의 값을 직접 읽을 수 있게 한다.
강의 예제의 연립방정식 x2 + 5x3 = 2, x1 - 3x3 = -2, 2x1 + 2x2 + 9x3 = 1은 확대행렬을 소거 행제형으로 바꾸면 [[1, 0, 0 | -1.4], [0, 1, 0 | 1], [0, 0, 1 | 0.2]]가 된다. 따라서 해는 x1 = -1.4, x2 = 1, x3 = 0.2이다.
행제형 여부를 판단할 때는 영행의 위치, 선도원소가 1인지, 선도원소가 아래로 갈수록 오른쪽에 있는지를 차례로 본다. 소거 행제형 여부를 판단하려면 여기에 각 선도원소 열의 나머지 원소가 모두 0인지 추가로 확인한다.
6. 정방·대각·단위행렬
정방행렬
행과 열의 개수가 같은 n × n 행렬을 n차 정방행렬이라 하고 n을 정방행렬의 차수라 한다. 정방행렬에서 a11, a22, …, ann을 대각원소라 하며, 이 원소들이 놓인 대각선을 주대각선이라 한다.
대각행렬
n차 정방행렬에서 주대각선 밖의 모든 원소가 0인 행렬을 대각행렬이라고 한다. 즉 i ≠ j이면 aij = 0이다. 대각원소 자체는 반드시 1일 필요가 없으며 0을 포함할 수도 있다.
단위행렬
n차 정방행렬에서 대각원소가 모두 1이고 나머지 원소가 모두 0인 행렬을 단위행렬이라 하고 In으로 나타낸다. 단위행렬은 행렬곱의 항등원 역할을 하므로 크기가 맞는 행렬 A에 대해 AI = IA = A이다.
단위행렬은 대각행렬의 특별한 경우이고, 대각행렬은 정방행렬의 특별한 경우이다. 정방행렬이라고 해서 반드시 대각행렬인 것은 아니다.
7. 대칭·역대칭·삼각행렬
대칭행렬
n차 정방행렬에서 모든 i, j에 대해 aij = aji인 행렬을 대칭행렬이라 한다. 주대각선을 기준으로 서로 마주 보는 원소가 같은 값을 가진다. 전치행렬의 관점에서는 AT = A인 행렬이다.
역대칭행렬
n차 정방행렬에서 aij = -aji이고 대각원소가 모두 0인 행렬을 역대칭행렬 또는 교대행렬이라 한다. 주대각선을 기준으로 마주 보는 두 원소의 부호가 반대이다.
예를 들어 3차 역대칭행렬에서 a12 = 3, a13 = 2, a23 = -1이면 나머지 대응 원소는 a21 = -3, a31 = -2, a32 = 1이고 대각원소는 모두 0이다. 따라서 행렬은 [[0, 3, 2], [-3, 0, -1], [-2, 1, 0]]이다.
삼각행렬
n차 정방행렬에서 주대각선 아래의 모든 원소가 0이면 상삼각행렬이고, 주대각선 위의 모든 원소가 0이면 하삼각행렬이다. 상삼각행렬과 하삼각행렬을 통틀어 삼각행렬이라 한다.
| 행렬 유형 | 판정 조건 |
|---|---|
| 대칭행렬 | aij = aji |
| 역대칭행렬 | aij = -aji, 모든 대각원소는 0 |
| 상삼각행렬 | i > j일 때 aij = 0 |
| 하삼각행렬 | i < j일 때 aij = 0 |
8. 전치행렬과 역행렬
전치행렬
m × n 행렬 A의 행과 열을 서로 교환한 행렬을 A의 전치행렬이라 하고 AT로 나타낸다. A의 (i, j) 원소는 AT의 (j, i) 원소가 되며, AT의 크기는 n × m이다.
예를 들어 A = [[1, 2, 3], [4, 5, 6]]이면 AT = [[1, 4], [2, 5], [3, 6]]이다. 2 × 3 행렬이 3 × 2 행렬로 바뀌며, 첫 번째 행이 첫 번째 열로 이동한다.
역행렬
n차 정방행렬 A에 대해 AB = BA = In을 만족하는 행렬 B가 존재하면 A를 역가능하다고 한다. 이때 B를 A의 역행렬이라 하고 A-1로 나타낸다.
역행렬은 정방행렬에 대해 논의하지만 모든 정방행렬에 역행렬이 존재하는 것은 아니다. 역행렬이라면 왼쪽과 오른쪽에서 곱했을 때 모두 같은 차수의 단위행렬이 되어야 한다.
9. 부울행렬과 부울연산
부울행렬
모든 원소가 부울값 0 또는 1로만 구성된 행렬을 부울행렬이라고 한다. 일반 행렬의 산술연산과 달리 부울행렬의 연산은 논리합 ∨와 논리곱 ∧를 사용한다.
부울행렬의 합과 교차
같은 크기의 두 부울행렬 A = [aij], B = [bij]에 대해 부울행렬의 합(join) A ∨ B는 같은 위치의 원소에 논리합을 적용한다. 따라서 cij = aij ∨ bij이다. 둘 중 하나라도 1이면 결과는 1이다.
부울행렬의 교차(meet) A ∧ B는 같은 위치의 원소에 논리곱을 적용한다. 따라서 cij = aij ∧ bij이며, 두 원소가 모두 1일 때만 결과가 1이다.
부울곱
A가 m × n, B가 n × l 부울행렬일 때 부울곱 A ⨀ B는 m × l 부울행렬이다. 일반 행렬곱의 곱셈 자리에 논리곱 ∧를, 덧셈 자리에 논리합 ∨를 사용한다.
부울곱의 (i, j) 원소는 cij = (ai1 ∧ b1j) ∨ (ai2 ∧ b2j) ∨ ··· ∨ (ain ∧ bnj)이다. 대응하는 항 가운데 하나라도 두 값이 모두 1이면 cij는 1이다.
| 연산 | 기호 | 계산 방식 | 크기 조건 |
|---|---|---|---|
| 합 | A ∨ B | 대응 원소의 논리합 | A와 B의 크기가 같음 |
| 교차 | A ∧ B | 대응 원소의 논리곱 | A와 B의 크기가 같음 |
| 부울곱 | A ⨀ B | 행과 열에서 논리곱 후 논리합 | A의 열 수 = B의 행 수 |
강의 예제에서 A = [[0, 0, 0], [0, 0, 0], [1, 1, 1]], B = [[1, 0, 0], [1, 1, 0], [1, 0, 0]]일 때 A ∨ B = [[1, 0, 0], [1, 1, 0], [1, 1, 1]], A ∧ B = [[0, 0, 0], [0, 0, 0], [1, 0, 0]], A ⨀ B = [[0, 0, 0], [0, 0, 0], [1, 1, 0]]이다.
핵심 개념 정리
- m × n 행렬은 m개의 행과 n개의 열로 구성되며, (i, j) 원소는 aij로 나타낸다.
- 행렬의 합과 차는 크기가 같은 행렬에서 대응 원소끼리 계산하고, 스칼라 곱은 모든 원소에 같은 실수를 곱한다.
- m × n 행렬 A와 n × l 행렬 B의 곱 AB는 m × l이며, 각 원소는 A의 행과 B의 열의 내적으로 계산한다.
- 행렬곱은 결합법칙과 분배법칙을 만족하지만 일반적으로 교환법칙은 성립하지 않는다.
- 0이 아닌 두 행렬의 곱이 영행렬이 될 수 있으며, 행렬의 거듭제곱은 정방행렬에 대해 정의한다.
- 기본행연산은 행 교환, 0이 아닌 수를 곱하는 행 스케일링, 한 행의 스칼라 배를 다른 행에 더하는 행 대체이다.
- 행제형은 영행의 위치와 선도원소 조건을 만족하고, 소거 행제형은 선도원소가 있는 열의 나머지 원소까지 모두 0이다.
- 정방·대각·단위·대칭·역대칭·삼각·전치·역행렬의 정의와 판정 조건을 구분해야 한다.
- 부울행렬의 합과 교차는 대응 원소에 ∨와 ∧를 적용하며, 부울곱은 일반 행렬곱의 덧셈과 곱셈을 각각 ∨와 ∧로 바꾼 연산이다.
행렬 문제의 핵심은 먼저 크기를 확인하는 것이다. 합·차는 두 행렬의 크기가 같아야 하고, 행렬곱과 부울곱은 앞 행렬의 열 수와 뒤 행렬의 행 수가 같아야 한다. 이후 정의에 따라 대응 원소 계산인지, 행과 열의 내적 계산인지 구분하면 된다.
예상문제 20선
1. 3 × 4 행렬 A에 대한 설명으로 옳은 것은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ②
m × n 행렬에서 m은 행의 개수이고 n은 열의 개수이다. 따라서 3 × 4 행렬은 3행 4열이다.
2. 행렬 A의 (i, j) 원소 aij가 의미하는 것은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ④
아래첨자의 첫 번째 수는 행 번호, 두 번째 수는 열 번호를 나타낸다.
3. 두 행렬 A와 B의 합 A + B가 정의되기 위한 조건은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ①
행렬의 합과 차는 같은 위치의 원소끼리 계산하므로 두 행렬의 행 수와 열 수가 모두 같아야 한다.
4. A = [[1, -2], [3, 0]]일 때 2A는?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ③
스칼라 곱은 행렬의 모든 원소에 스칼라를 곱한다. 따라서 각 원소에 2를 곱한다.
5. A가 2 × 3 행렬이고 B가 3 × 4 행렬일 때 AB의 크기는?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ②
안쪽 수 3이 같으므로 곱이 정의되고, 바깥쪽 수를 따라 결과는 2 × 4 행렬이다.
6. 행렬곱의 (i, j) 원소를 구하는 방법으로 옳은 것은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ①
AB의 cij는 A의 i번째 행과 B의 j번째 열에서 대응 원소를 곱해 합한 값이다.
7. 행렬곱의 성질에 대한 설명으로 옳지 않은 것은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ④
행렬곱은 일반적으로 교환법칙을 만족하지 않으므로 AB ≠ BA일 수 있다.
8. 기본행연산에 해당하지 않는 것은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ③
기본행연산은 행 교환, 0이 아닌 수를 이용한 행 스케일링, 행 대체의 세 가지이다. 임의의 값으로 바꾸는 연산은 해집합을 보존하지 않는다.
9. 강의의 정의에 따른 행제형 행렬의 조건으로 옳은 것을 모두 반영한 것은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ③
강의에서는 영행의 위치, 선도원소가 1이라는 조건, 선도원소가 아래로 갈수록 오른쪽에 있다는 조건을 행제형의 기준으로 제시한다.
10. 소거 행제형이 행제형에 추가로 요구하는 조건은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ①
소거 행제형에서는 각 피벗 열에서 피벗 1을 제외한 위와 아래의 원소가 모두 0이어야 한다.
11. n차 대각행렬의 조건으로 옳은 것은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ④
대각행렬은 정방행렬이며 i ≠ j인 모든 위치에서 aij = 0이다. 대각원소는 1일 필요가 없다.
12. 단위행렬 In에 대한 설명으로 옳은 것은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ②
단위행렬은 대각원소가 1이고 비대각원소가 0인 정방행렬이며 행렬곱의 항등원이다.
13. 대칭행렬 A의 판정 조건은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ①
대칭행렬은 주대각선을 기준으로 마주 보는 원소가 같으며 AT = A이다.
14. 역대칭행렬에 대한 설명으로 옳은 것은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ③
역대칭행렬은 주대각선을 기준으로 마주 보는 원소의 부호가 반대이고 대각원소는 모두 0이다.
15. 상삼각행렬의 조건은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ②
상삼각행렬은 i > j인 주대각선 아래 영역의 원소가 모두 0인 정방행렬이다.
16. A가 2 × 5 행렬일 때 전치행렬 AT의 크기는?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ④
전치는 행과 열을 서로 바꾸므로 m × n 행렬의 전치는 n × m 행렬이다.
17. n차 정방행렬 A의 역행렬 B가 만족해야 하는 조건은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ④
왼쪽과 오른쪽 어느 순서로 곱해도 단위행렬이 되는 B가 존재할 때 A는 역가능하고 B = A-1이다.
18. 부울행렬의 정의로 옳은 것은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ②
부울행렬은 모든 원소가 두 부울값 0과 1 중 하나로만 구성된 행렬이다.
19. 부울행렬의 합 A ∨ B와 교차 A ∧ B에 대한 설명으로 옳은 것은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ③
합과 교차는 크기가 같은 두 부울행렬의 대응 원소에 각각 ∨와 ∧를 적용하는 원소별 연산이다.
20. 부울곱 A ⨀ B의 계산 방법으로 옳은 것은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ①
부울곱은 행과 열의 대응 항에 논리곱을 적용한 뒤 그 결과들을 논리합하여 각 원소를 구한다.
댓글
댓글 쓰기