본 정리는 2021학년도 방송통신대 손진곤 교수님의 선형대수 강의를 들으며 요약한 것입니다.
손진곤 교수님은 내 생각(논리)을 표현할 시 고도의 추상화Abstraction
능력에 대해서 강조하십니다.
선형대수의 효과적인 학습 방법은, 새로운 언어(기호)를 배운다는 관점으로 접근하는 것입니다. 기호로써 수학은 수학적 개념들을 고도로 추상화된 언어를 활용해 논리적으로 기술하는 것이므로, 만국공통어라고 할 수 있습니다. 타인의 생각이 녹아 있는 기호논리를 얼마나 이해하고, 내 생각을 그것으로 얼마나 표현할 수 있는가가 관건입니다.
이미지로 Inflearn 강의인 파이썬을 활용한 선형대수학 - NumPy와 SciPy의 활용 의 타이틀을 가져온 이유는, 이렇게 이론적인 수업을 모두 마친 이후에 파이썬의 여러 모듈들을 이용해 실질적인 활용을 해보기 위함입니다.
나중에 선형적 데이터에 대한 인공지능 기계학습을 공부할 때 좋은 베이스가 되기를 바랍니다. 아직은 이 분야에 아는 것이 없습니다.(2021.09.17)
강의는 크게 세 가지 부분으로 나눠집니다.
바람의 속도 y 는 한 방향으로만 작용하게 됩니다. 따라서,
6.25(x - y) = 5000
5(x + y) = 5000
위 연립일차방정식을 통해 x = 900(km/h)
, y = 100(km/h)
임을 구할 수 있습니다.
여기서 2차 곡선의 다항식은 p(x) = a0 + a1x + a2x^2
와 같이 씁니다.
주어진 세 점에 대한 정보를 활용해 2차 곡선의 각 항의 계수와 상수를 구해냅니다.
풀이로는 방정식 p 에 x 값을 넣어 y 값이 나오는지 확인하게 됩니다.
a0 + a1 + a2 = 4
a0 + 2a1 + 4a2 = 0
a0 + 6a1 + 9a2 = 12
연립방정식을 푼 결과 2차 곡선은 p(x) = 24 - 28x + 8x^2
입니다~
- 일차방정식 ax = b 의 해법
- n 원 일차연립방정식
- 일차연립방정식의 계수, 상수, 미지수, 해
- 소거법
- 방정식에 관한 3가지 기본 연산
- 일차연립방정식 해의 기하학적 의미
- 일차연입방정식의 응용 사례
가장 기본적인 일차방정식은 다음의 형태를 띕니다.
ax = b
여기서 해를 구하기 위해 x = b/a
혹은 x = a^-1b
라고 할 수 있을까요?
(a^-1
은 a
의 곱셈에 관한 역원, 곱해서 항등원 1이 되는 기호)
a = 0
혹은 b = 0
인 경우 의도된 해를 구할 수 없는 문제가 발생합니다.
이런 특별한 상황을 예외라고 하는데, 고급 프로그래머일수록 이 예외에 대한 대처 경험이 많습니다. 충분히 많은 경우의 수를 따져볼 수 있는 것이죠.
위에서의 해 표현 방식은 보통의 경우 맞으나, 계수가 0인 예외 경우를 추가적으로 고려해야 합니다.
이제 연립일차방정식을 살펴봅시다.
n원 일차연립방정식
미지수가 n 개인 일차방정식들을 유한개(m 개) 묶어 놓은 것
따라서 이런 모양으로 표현합니다.
a11X1 + a12X2 + ... + a1nXn = b1
a21X1 + a22X2 + ... + a2nXn = b1
...
am1X1 + am2X2 + ... + amnXn = bm
n 원 일차연립방정식의 해는, 모든 차수의 X 를 S 로 치환해 만족하는 모든 n 개의 S 값의 모음입니다.
a11S1 + a12S2 + ... + a1nSn = b1
a21S1 + a22S2 + ... + a2nSn = b1
...
am1S1 + am2S2 + ... + amnSn = bm
앞서 들어가기에서 살펴본 3원 일차연립방정식 p(x) = 24 - 28x + 8x^2
를 살펴보면,
3개의 연립식을 통해 미지수 3개를 찾아냅니다.
소거법은 다음의 3가지 연산을 이용하여 주어진 연립방정식을 동일한 해집합을 가지면서 보다 풀기 쉬운 형태의 연립방정식으로 변환해가는 방법입니다.
3번에서 임의의 상수가 0이 되어도 동일한 해집합의 조건을 만족하기 때문에 0도 가능하다는 점에 주목합시다.
이제 다음의 문제를 풀어봅시다.
사실 이 문제는 간단해서 1, 2번의 과정 없이 바로 3. 소거하면 됩니다.
따라서 x = 1
, y = 3
으로, (1, 3) 의 해가 도출됩니다.
만약 이 문제를 기하학적으로 설명하면 어떻게 할 수 있을까요?
미지수 y
에 대한 2원일차연립방정식으로 만든 후 그래프로 그려봅니다.
일차방정식의 기하학적 측면에서 불능은 같은 기울기면서 y 절편이 다른 경우, 부정은 y 절편까지 동일한 경우임을 생각해 봅시다.
그렇다면 이러한 일차연립방정식을 응용하는 예시는 무엇이 있을까요?
kCO2 lH2O -> mC6H12O6 + nO2
1강의에서 들었던 일차연립방정식을 행렬로 표현할 수 있습니다.
또한 행렬에 기본행 연산을 적용하여 소거법을 행렬로써 표현할 수도 있습니다.
행렬도 하나의 수로 생각해야 합니다.
직사각형 형태의 행과 열에 각각의 숫자가 들어가게 되는데, 이것 자체가 하나의 행렬인 것입니다.
여기서 행렬에 들어가는 각각의 수는 n원 일차연립방정식의 n원 미정계수(계수행렬 A)로 표현되거나 미지수행렬 X 혹은 상수행렬 B로 표현됩니다.
AX = B
의 행렬 표현법은 우리에게 익숙한 1차방정식의 형태로 나타납니다.
따라서 똑같이 유일한 해를 갖거나, 부정이거나, 불능입니다.
나아가 소거법을 활용하여 미지수를 구해갈 수도 있습니다.
이후 강의들도 n원 일차연립방정식이 행렬로 확장되는 것과 비슷한 방식으로 전개된다는 사실을 기억해 둡시다.
- 행렬과 그에 관련된 용어들을 설명할 수 있다.
- 일차연립방정식을 행렬로 나타낼 수 있다.
- 기본행연산과 그 표기법을 설명할 수 있다.
- 주어진 행렬을 행제형 행렬 및 소거행제형 행렬로 변환할 수 있다.
- 가우스 소거법, 가우스-조르단 소거법으로 일차연립방정식의 해를 구할 수 있다.
행렬Matrix
행(row)과 열(column)로 구성되는 사각형 형태로 수를 배열한 것
행렬의 크기 표현
(행의 개수) X (열의 개수) ex. 3 X 4 행렬!
m X n 행렬은 다음과 같이 표현합니다.
aij
에 대해서,
(단, 1 <= i <= m, 1 <= j <= n)
a11, a12, ..., a1n
a21, a22, ..., a2n
...
am1, am2, ..., amn
1강에서 살펴봤던 n원 일차연립방정식은 계수행렬 A, 미지수행렬 X, 상수행렬 B의 조합으로 표현할 수 있습니다.
방정식에 관한 3가지 기본 연산 과 같이 행렬에 관한 3가지 기본 연산이 있습니다.
하나의 행이 방정식이므로, 행에 대한 연산입니다!
기본행연산
행렬 A에 일련의 기본행연산을 적용하여 행렬 B를 얻을 수 있는 경우
A와 B는 행상등(row-equivalent)하다고 말한다.
위의 행렬에 관한 3가지 기본 연산을 기본행연산으로써 유한번 적용해 행상등한 행렬을 도출합니다.
행렬을 이용한 일차연립방정식의 해법은 다음과 같습니다.
일차연립방정식 L1과 L2에 대해서 각각의 확대행렬을 A와 B라 하였을 때, A와 B가 행상등하면 L1과 L2는 상등하다.
이로써 확대행렬의 기본행연산으로 상등한 일차연립방정식의 해를 구할 수 있습니다.
사다리꼴의 행제형 행렬의 정의(조건)는 다음과 같습니다. (row echelon matrix)
- 영행이 있다면 그것은 영행이 아닌 행의 아래에 있다.
- 영행이 아닌 행의 첫 번째 0이 아닌 원소를 행의 선도원소라고 할 때 모든 선도원소는 1이다.
- 영행이 아닌 연속된 두 행이 있어 각각 i번째 행과 i+1번째 행이라 할 때,
i번째 행의 선도원소는 i+1번째 행의 선도원소보다 왼쪽에 있다(i >= 1).
여기에 소거조건이 추가된 소거행제형 행렬의 추가 조건은 다음과 같습니다.
Reduced Row Echelon Matrix
- 행제형 행렬이면서 i번째 행의 선도원소가 j번째 열에 있다면,
j번째 열의 다른 모든 원소는 0이다.
즉, 하나의 선도원소가 있는 열의 다른 모든 원소는 0이라는 의미입니다. 예를 들어 다음과 같은 형태를 생각하면 됩니다.
1, 0, 0, 0,
0, 1, 0, 0,
0, 0, 1, 0,
0, 0, 0, 1,
영행들로만 구성된 영행렬은 위배되는 조건이 없기 때문에 행제형 행렬이면서 소거행제형 행렬입니다. (하지만 활용성은 없습니다^^)
행제형 행렬과 소거행제형 행렬을 구분할 수 있도록 더 많은 예제들을 연습해보기 바랍니다.
가우스 소거법
행제형 행렬을 구한 다음 후진대입법을 사용한다.
일차연립방정식으로부터 확대행렬을 구하고, 기본행연산을 통해 행제형 행렬을 구하는 단계를 거치게 됩니다.
후진대입법은 행제형 행렬에서 나중에 등장하는 행의 해를 이전 행에 대입하여 미지수를 구해나가는 방식입니다.
가우스 소거법 풀이의 예제는 다음을 참조합시다.
가우스-조르단 소거법
소거행제형 행렬을 구하여 바로 해를 구한다.
행제형 행렬 행의 각 선도원소보다 열 방향으로 위에 있는 원소들은 꼭 0이 아닙니다. 따라서 후진대입법 연산이 필요한데,
만약 선도원소 위의 원소들까지 모두 0인 소거행제형 행렬을 구하게 된다면 바로 해가 도출됩니다.
위의 예제에서 한번 더 나아가 소거행제형 행렬을 구하면, 가장 우측의 미지수 행렬이 곧 해가 됩니다.
-> (x = 3, y = 1, z = 2)
수를 한 줄로 쓰면 벡터가 됩니다. 행렬에서는 행 혹은 열이 1이면 행벡터 혹은 열벡터가 됩니다.
[행벡터]
4, 2, 9
[열벡터]
4,
7
1 X 1 의 행렬은?
(4)
행렬이기도 하지만 4라는 하나의 수입니다.
이처럼 기호로써의 행렬도 하나의 수라고 볼 수 있다면, 일반적인 수에 적용 가능한 연산이나 법칙, 항등원이나 역원 등이 행렬에도 동일하게 적용될까요?
3강에서는 행렬이라는 새로 정의되는 ‘수’와 그 연산들을 공부합니다.
수집합과 연산
수집합 예1: 자연수, 정수, 유리수, 무리수, 실수, 복소수, …
수집합 예2: 벡터, 행렬, 명제, 함수, 집합, …
연산: 덧셈, 뺄셈, 곱셈, 나눗셈, …
연산에 관한 성질 [법칙]
덧셈: 교환법칙, 결합법칙, 항등원(0), 역원(-a)
곱셈: 교환법칙, 결합법칙, 항등원(1), 역원(a^-1)
과연 벡터의 교환법칙이나 행렬의 교환법칙은 성립될까요?
- 행렬끼리의 합 연산을 설명할 수 있다.
- 행렬과 스칼라의 곱 연산을 설명할 수 있다.
- 행렬끼리의 곱 연산을 설명할 수 있다. (특이한 성질!)
- 하나의 행렬에 대한 전치 연산을 설명할 수 있다.
먼저 행렬의 기본 개념을 살펴봅시다.
[정의 3.1]
m x n
행렬 A 에 대하여…
- i 번째 행의 j 번째 원소
- (i, j) 좌표의 원소(성분)은 aij 로 표현
- 행렬 A 의 표현
- A = (aij), (1 <= i <= m, 1 <= j <= n)
- m = n 일 때
- 행렬 A 는 n차 정방행렬(square matrix of order n)
- A 가 정방행렬일 때
- aii (i <= i <= n) 에 해당하는 원소들을 A 의 주대각원소(성분)이라 명명
위 기본 개념을 가지고 다양한 형태의 행렬을 설명하는 연습도 해보시길 바랍니다.
[정의 3.2] n차 정방행렬 A = (aij) 애 대하여…
- aij = 0 (단, i != j) 이면 대각 행렬(diagonal matrix)
aii = c (1 <= i <= n) 이면 스칼라 행렬(scalar matrix) aii = 1 (1 <= i <= n) 이면 단위 행렬(identity matrix)
- aij = 0 (단, i < j) 이면 하삼각 행렬(lower triangular matrix)
- aij = 0 (단, i > j) 이면 상삼각 행렬(upper triangular matrix)
대각 행렬의 정의에서 기술된 조건은 곧 정방행렬에서 주대각원소를 제외한 모든 원소는 0이라는 의미입니다.
또한, 스칼라행렬 및 단위행렬과 같이 aii
의 조건에 대한 기술이 따로 없다면 주대각원소는 0도 허용합니다.
[정의 3.3] 행렬의 상등?
두 자연수의 비교처럼 같은 형태와 원소의 타입을 가진 행렬 간에만 비교가 가능합니다.
행렬 A = (aij) 와 행렬 B = (bij) 의 형태가 m x n 일 때
모든 i, j (1 <= i <= m), (1 <= j <= n) 에 대해 aij = bij 인 경우,
행렬 A 와 행렬 B 는 서로 같다 또는 상등하다고 말한다.
행렬의 합의 개념은 다음과 같습니다.
[정의 3.4] 행렬의 합
행렬 A = (aij) 와 행렬 B = (bij) 의 형태가 m x n 일 때
A 와 B 의 합(sum)은 m x n 행렬 C = (cij) 로서,
cij = aij + bij, (1 <= i <= m, 1 <= j <= n)
으로 정의된다. 이런 경우 A + B = C로 표시한다.
쉽게 말해 같은 조건의 두 행렬 합에서는 동일한 위치의 원소끼리 더해 같은 형태의 결과를 도출합니다.
그렇다면 행렬의 합의 성질은 어떻게 설명할 수 있을까요?
[정리 3.1] 행렬의 합의 성질
매트릭스 Mmn 은 m x n 행렬 전체의 집합이고, A, B, C ∈ Mmn 일 때 다음이 성립한다.
- [교환법칙] A + B = B + A
- [결합법칙] A + (B + C) = (A + B) + C
- [항등원] A + O = A 를 만족하는 유일한 행렬(영행렬) O 가 Mmn 에 존재함
- [역원] A + D = O 를 만족하는 행렬(음행렬) D 가 A 에 대해 유일하게 Mmn 에 존재함
- 행렬 D: -A 라 표기하며 A 의 음행렬(negative matrix)
뺄셈은 곧 역원을 더하는 연산인 것과 같이, 행렬의 합과 차 예제 풀이에서 행렬 C - A 연산은 곧 C + (-A), 즉 행렬 A 의 역원을 더하는 연산임을 기억해 둡시다.
벡터Vector 는 크기과 방향이 있습니다.
여기서 크기만 있는 것을 스칼라라고 합니다.
따라서 스칼라 배(곱)라고 하면 같은 방향에 대해서 크기가 스칼라 만큼 배가되는 것을 의미합니다.
[정의 3.5] 행렬의 스칼라 배
행렬 A = (aij) 가 m x n 행렬이고 c 를 임의의 수라고 하면
A 와 c 의 스칼라 배(scalar multiple) cA 는 m x n 행렬로서,
- cA = (caij) (1 <= i <= m, 1 <= j <= n) 으로 정의된다.
스칼라 크기 c 를 각 원소에 곱하는 것입니다.
이번에는 스칼라 배의 성질입니다.
[정리 3.2] 행렬의 스칼라 배의 성질
A, B, C ∈ Mmn 이고 c 와 d 를 임의의 수라 할 때,
- (c + d)A = cA + dA
- [분배법칙] c(A + B) = cA + cB
- [결합법칙] c(dA) = (cd)A
- [단위원] 1A = A
1번에서 행렬 A 가 각 스칼라에 분배되는 원리는 성질상 맞지만, 이를 엄밀하게 분배법칙이라 말할 수는 없습니다.
왜냐하면 좌변에서의 합은 스칼라 합(상수합)이고 우변에서의 합은 행렬 합이기 때문에 서로 같은 연산이라 볼 수 없기 때문입니다.
반면에 분배법칙이라고 말할 수 있는 2번은 좌변과 우변 모두 행렬 합으로써 연산의 차이가 없습니다.
행렬끼리의 곱은 계산량이 많은 만큼 컴퓨터 사이언스에서 다양하게 쓰입니다.(알고리즘, 로보틱스, 그래픽스 등)
[정의 3.6] 행렬의 곱
A = (aij) 가 mxp 행렬, B = (bij) 가 pxn 행렬이면,
A 와 B 의 곱 AB 는 mxn 행렬 C = (cij) 로서
- Cij = 시그마k=1~p까지 aik*bkj (1 <= i <= m, 1 <= j <= n) 로 정의된다.
이런 경우 AB = C 로 표시한다.
즉 Cij 는 ai1*b1j + ai2*b2j + ... + aik*bkj
가 됩니다.
이 때, 예전에 배웠던 벡터의 내적의 정의를 살펴봅시다. (내적의 개념이 일맥상통하여 중요합니다.)
A*B = a1b1 + a2b2 + … + anbn (벡터의 각 항끼리 곱한 것의 최종합)
벡터의 내적을 구하는 것처럼 행렬의 곱의 결과 mxn 행렬 C 는, 행렬의 각 요소의 곱의 최종합을 가지고 i행 j열의 결과를 구합니다.
다음으로는 행렬 곱의 특이사항을 살펴봅시다. 이것은 실수 곱셈의 교환법칙과 차이가 있으므로 꼭 기억해야 합니다.
[특이사항] 행렬 곱의 특이사항
mxp 행렬 A 와 pxn 행렬 B 에 대해 AB 는 정의되지만,
BA 는 다음 4가지 경우가 있음:
- BA 가 정의되지 않는 경우 (n != m)
- BA 가 정의되나, AB 와 크기가 같지 않는 경우 (n = m, p != n)
- 즉, AB 는 nxn 행렬, BA 는 pxp 행렬으로 서로 상등하지 않다!
- BA 가 정의되고 AB 와 크기도 같지만(n = m = p), AB != BA 인 경우
- 이는 모든 부분이 동일하지만 각 원소의 값이 다름을 의미!
- BA 가 정의되고 AB 와 크기도 같으며(n = m = p), AB = BA 인 경우
위의 행렬 곱의 특이사항에서 4번을 제외한 나머지 경우의 결과는 모두 상등하지 않으므로,
AB != BA 라 결론내릴 수 있습니다.
즉, 행렬의 곱은 교환법칙이 성립하지 않습니다..!
그렇다면 이제 행렬의 곱의 성질을 살펴봅시다.
[정리 3.3] 행렬의 곱의 성질
행렬 A, B, C 와 임의의 수 c 에 대해 행렬의 곱이 정의되는 경우, 다음이 성립한다.
- [분배법칙] A(B + C) = AB + AC
- [분배법칙] (A + B)C = AC + BC
- [결합법칙] A(BC) = (AB)C
- A(cB) = c(AB) = (cA)B
행렬의 곱에 대한 연산 규칙 중 교환법칙만은 성립하지 않음을 기억합시다!
즉, 단위행렬은 행렬의 곱에 대한 항등원!
행렬의 곱은 대표적인 2항 연산입니다. (무엇과 무엇을 곱한다)
반면에 절대값 구하기나 여집합 구하기와 같은 1항 연산도 존재합니다.
이와 비슷한 맥락으로 행렬의 전치가 존재합니다.
[정의 3.7] 행렬의 전치
A = (aij) 가 mxn 행렬이라 하면
A 의 전치행렬(transpose of A)는 nxm 행렬 A^T = (aij^T) 로서
- aij^T = aji (1 <= i <= m, 1 <= j <= n) 를 만족한다.
행렬의 전치의 성질은 다음과 같습니다.
[정리 3.4] 행렬 전치의 성질
c 가 임의의 수이고 A 와 B 가 행렬일 때 연산이 정의되는 경우에 있어 다음이 성립한다.
- (A^T)^T = A
- 집합의 여집합의 여집합은 자기 자신인 것처럼
- 행렬의 전치의 전치는 자기 자신이다.
- (A + B)^T = A^T + B^T
- 행렬의 합의 전치는 각 행렬의 전치의 합과 같다.
- 행렬의 합 연산과 전치 연산 중 무엇을 먼저 해도 상관 없음!
- (AB)^T = B^TA^T
- 행렬의 곱의 전치는 뒤 행렬의 전치와 앞 행렬의 전치의 곱(순서 중요)과 같음
- (cA)^T = cA^T
- 행렬의 스칼라 곱과 전치 연산 중 무엇을 먼저 해도 상관 없음!
3번의 전치 성질은 행렬의 곱에서 교환법칙이 성립되지 않는 성질에서 파생됩니다.
전치를 한다는 것은 행렬의 열과 행이 바뀐다는 것을 의미하므로, 전치 이후 곱한다면 곱하는 위치를 서로 바꿔줘야 합니다.(직접 예시를 풀어보며 이해할 것)
또한 행렬의 합 혹은 행렬의 스칼라 곱에 대해 전치는 어느 것부터 먼저 해도 상관이 없습니다.(2번, 4번)
[정의 3.8] (추가) 대칭행렬
A^T = A 인 행렬 A 를 대칭행렬(symmetric matrix)라 한다.
- 행렬 A 가 대칭행렬이기 위해서는
- A 는 정방행렬이어야 하며
- aij = aji 를 만족해야 함
- A 의 주대각 원소를 기준으로 대칭되는 위치의 행렬 원소가 서로 같음!
행렬 곱의 연산의 성질에 따라 주어진 행렬 A 의 곱셈에 관한 역원은 역행렬입니다. (A 에 곱해서 항등원, 즉 단위행렬이 나오는 행렬)
본 강의에서는 앞서 배운 기본행연산과 행상등하다는 것의 특징을 활용해 역행렬을 구하는 방법을 학습합니다.
행렬 연산에는 합, 스칼라곱, 곱, 전치가 있었습니다.
이 중 행렬 곱셈에서 교환법칙은 성립하지 않는다는 특징을 꼭 기억하시기 바랍니다.
하지만 역행렬의 경우, 항등원이 도출되는 그 성질에 따라 교환법칙이 성립하게 됩니다.
또한, 1차 연립방정식의 행렬 표현에서 역행렬의 성질을 활용해 소거도 가능합니다.
역행렬을 구하는 공식에서는 행렬식이 활용됩니다.
2x2 행렬에 대한 역행렬 공식
A = (a, b, / c, d),
A^-1 = 1/D(d, -b, / -c, a)
(단, 행렬식 D = ad - bc)
역행렬은 정보보호에서 암호화/복호화시 활용되기도 합니다.
행렬 A 를 암호키로 지정하면 A^-1 는 복호화키로써 활용되어 원문이 무엇인지 해석이 가능합니다.
여기서 A 의 역행렬은 가우스-조르단 소거법을 활용해 구합니다.
나아가 역행렬을 갖는 행렬을 정칙행렬이라고 합니다.
- 정칙행렬과 역행렬이 무엇인지 설명할 수 있다.
- 주어진 행렬 A 의 역행렬을 구할 수 있으며, 구하지 못하는 경우를 설명할 수 있다.
- 일차연립방정식의 해법과 역행렬과의 관련성을 설명할 수 있다.
- 정칙행렬의 성질을 5가지 정도 열거할 수 있다.
앞서 살펴봤듯이 일차방정식 ax = b
에서 a != 0
이면 a의 곱셈에 관한 역원 a^-1 이 존재하여
a^-1을 방정식의 양변에 곱하여 해 x = a^-1b
를 구할 수 있었습니다.
이와 유사하게 행렬방정식 AX = B
에서 A 가 행렬 곱에 관한 역원(역행렬 A^-1)을 갖는다면
A^-1을 방정식의 양변에 곱하여 해 X = A^-1B
를 구할 수 있습니다.
[정의 4.1] 정칙행렬, 역행렬
n차 정방행렬 A 에 대해 행렬 B 가 존재하여 AB = BA = In 을 만족할 때,
A 를 정칙행렬(nonsingular matrix) 또는 역연산이 가능한 행렬(invertible matrix)이라고 부르며,
B 를 A 의 역행렬(inverse matrix)이라고 부르고B = A^-1
로 표시한다.
[정리 4.1] 정칙행렬의 유일성
A 가 정칙행렬이면 A 의 역행렬 A^-1 은 유일하다.
(유일하지 않다는 반대 명제가 거짓이라는 것을 통해 증명 확인)
다시 말해, 정칙행렬은 역행렬을 가지는 행렬이고 어떤 정칙행렬 A 의 역행렬은 유일합니다!
그렇다면 역행렬을 구하는 공식을 살펴봅시다.
나중에 행렬식을 통해 구하는 쉬운 방법을 배우겠지만, 지금은 우선 2차 정방행렬의 역행렬을 구하는 공식을 봅시다.
[예제 4.1] 2차 정방행렬 A 의 역행렬을 구하는 공식
A^-1 = 1/D(d, -b, / -c, a), (D = ad - bc != 0)
위 공식을 통해 2차 정방행렬의 역행렬을 구할 수 있습니다.
또한 역행렬의 역원적 특성을 활용해 앞서 살펴봤던 행렬의 거듭 제곱의 개념을 확장할 수 있습니다.
행렬의 거듭 제곱에서 음이 아닌 정수 r 과 s 에 대해 A^-rA^-s = A^(r+s), (A^r)^s = A^(rs)
가 성립한다고 정리했었습니다.
[정리 4.2] 행렬의 거듭 제곱의 확장
정칙행렬 A 에 관해 임의의 자연수 n 에 대해
A^-n = (A^-1)^n
로 정의한다면,
- 임의의 정수 r 과 s 에 대해서도
A^-rA^-s = A^(r+s), (A^r)^s = A^(rs)
가 성립한다.
이전에는 음이 아닌 정수에 한정했지만, 음행렬(역행렬)이 정의된 이후에는 임의의 정수로 그 범주가 확장되었습니다.
나아가 정칙행렬의 성질을 살펴봅시다.
[정리 4.3] 정칙행렬의 성질
A 와 B 가 n 차 정칙행렬이라 하면 다음이 성립된다.
- A^-1 도 정칙행렬이며 (A^-1)^-1 = A 이다.
- AB 도 정칙행렬이며 (AB)^-1 = B^-1A^-1 이다.
[2번의 따름정리] n차 정칙행렬 k 개의 곱에서,
A1A2A3...Ak(Ak^-1A(k-1)^-1...A2^-1A1^-1) = I
- cA 도 정칙행렬이며 (cA)^-1 = c^-1A^-1 이다. (단, c != 0)
- A^T 도 정칙행렬이며 (A^T)^-1 = (A^-1)^T 이다.
2, 3, 4번에서 위첨자가 단순히 분배되었다고 생각하면 안 됩니다. 각각의 증명법에 대해 찬찬히 생각해 봅시다.
예를 들어 4번에서는 위첨자가 단순히 교환된 것이 아니라, A^T 와 A^T 의 역행렬을 곱해 단위행렬이 도출된다는 역원의 정의를 기반으로 (A^-1)^T 가 곧 A^T 의 역행렬임을 증명할 수 있습니다.
[유의사항] 정칙행렬의 합의 역행렬은?
위에서 정칙행렬 곱에 대한 정리(2번)를 설명했습니다.
하지만(A + B)^-1 = A^-1 + B^-1
과 같은 덧셈에 대한 정리는 성립하지 않습니다.
먼저 기본행렬에 대해 알아봅시다.
[정의 4.2] 기본행렬
n차 단위행렬 In 에 기본행연산을 한 번만 적용하여 얻는 행렬 E 를 기본행렬(elementary matrix)이라고 한다.
- 기본행연산
Rij, Ri(c), Rij(c)
에 대응하는 기본행렬을- 각각
Eij, Ei(c), Eij(c)
로 표시한다.
단위행렬에 앞서 배운 기본행연산을 한 번만 적용한 결과를 기본행렬이라고 합니다.
[정리 4.4] 기본행연산과 기본행렬의 관계
A 와 B 를 nxp 행렬이라 하면 다음이 성립한다.
- A 에 기본행연산 R 을 적용한 결과는 EA 와 같다.
(단, 행렬 E 는 n차 단위행렬에 동일한 기본행연산 R 을 적용하여 얻은 기본행렬임.)
A --R--> B = EA
- A 와 B 가 행상등하다면 유한개의 기본행렬
E1, E2, ..., Ek
가 존재하여 다음을 만족한다.
- A = E1E2 … EkB
A --R1-R2-R3-...-Rk--> B = EkE(k-1)...E2E1A
앞으로는 1번 혹은 k 번의 기본행연산으로 도출된 행렬 표현 시 기본행렬을 사용해 EA
와 같이 간략화할 수 있습니다.
[정리 4.5] 기본행렬의 성질
기본행렬은 정칙행렬이며 그 역행렬은 동일한 종류의 기본행렬이다.
[증명]
- EijEij = I. 따라서 (Eij)^-1 = Eij
- 역행렬이 존재하여 I 를 도출 가능하다는 점에서 정칙행렬 맞음.
- i, j 행을 교환한 후 다시 i, j 를 교환하면 본래 모습이 됨.
- 기본행렬의 기본행연산 전 본래 모습은 단위행렬 I.
- 따라서 Eij 의 단위행렬이 나타나도록 하는 역원은 Eij 이다.
- Ei(c)Ei(c^-1) = I. 따라서 (Ei(c))^-1 = Ei(c^-1)
- 다시 I 를 구하는 역원의 특성을 이용해 증명해보기
- Eij(c)Eij(-c) = I. 따라서 (Eij(c))^-1 = Eij(-c)
- Eij(c) 는 i 행에 c 를 곱해 j 행에 더하는 기본행연산이므로
- 동일하게 i 행에 -c 를 곱해 j 행에 더하면 본래 I 가 나옴.
[정리 4.6] (성질) 정칙행렬과 영행[영렬]
A 가 n차 정칙행렬이라면 A 에는 영행이나 영렬이 없다.
- 영행 혹은 영렬이 존재할 시 그것에 어떤 행렬을 곱할지라도 결과물에 영행이 포함되게 되므로 단위행렬이 될 수 없음.
정리 4.5와 같이 기본행렬의 특성을 활용하면 다양한 곱셈연산을 쉽게 할 수 있습니다.
또한 역행렬을 갖는 정칙행렬에는 영행이나 영렬이 존재할 수 없음을 기억하기 바랍니다.
다음으로 정칙행렬은 여러 진술로 설명할 수 있습니다.
[정리 4.7] 정칙행렬의 특성
A 가 n차 정방행렬일 때 다음은 서로 동치이다.
- A 는 정칙행렬이다.
- A 와 In 은 행상등하다.
- A 는 유한개의 n차 기본행렬들의 곱이다.
n차 정방행렬인 A 가 정칙행렬이라면, 역행렬이 존재하여 k 번의 기본행연산을 통해 단위행렬을 도출할 수 있으며(행상등) 이 말은 곧 유한개의 n차 기본행렬(E)들의 곱입니다.
이제는 역행렬을 구하는 방법에 대해 살펴보겠습니다.
[정리 4.8] 역행렬을 구하는 이론
n차 정방행렬 A, B, C 에 대해 (A | In) 과 소거행제형 행렬 (B | C) 가 행상등하면 다음이 성립한다.
- B 가 영행을 포함하면 A 는 정칙행렬이 아니다.
- 만일 B = In 이면 A 는 정칙행렬이고 C = A^-1 가 된다.
위 진술은 A 행렬에 n 크기의 단위행렬을 뒤에 붙이고
여러 번의 기본행연산을 통해 소거행제형행렬을 만들면,
앞의 행렬 B 는 단위행렬이 되거나 영행을 포함하는 행렬이 되므로 제외하고 뒤의 행렬 C 가 역행렬이 된다는 것입니다.
이 때 B 가 영행을 포함하는 경우라면 A 는 정칙행렬이 아닙니다.
행렬식을 일차연립방정식으로 표현한 AX = B
의 해와 관련해서 위수(Rank)에 대해 살펴보고,
다음으로 정칙행렬과 일차연립방정식의 관계에 대해 살펴보겠습니다.
[정의 4.3] 위수
행렬 M 에 기본행연산을 적용하여 (소거)행제형 행렬 R 로 만들었을 때 R 의 영행이 아닌 행의 수를 행렬 M 의 위수(rank)라 한다.
이제 위수와 일차연립방정식의 해 간의 관계에 대해 살펴봅시다.
[정리 4.9] 일차연립방정식의 해
방정식이 m 개이고 미지수가 n 개인 일차연립방정식
AX = B
에 대하여 다음이 성립한다.
- A 의 위수와 (A | B) 의 위수가 같기 위한 필요충분조건은 연립방정식이 해를 갖는 것이다.
- A 와 (A | B) 의 위수가 n 과 같기 위한 필요충분조건은 연립방정식이 유일한 해를 갖는 것이다.
예를 들어 행렬 A 의 위수가 3인데 (A | B) 확대행렬의 위수가 4라면 1번의 조건을 만족시키지 못하기 때문에 연립일차방정식은 해를 갖지 않습니다.
나아가 행렬 A 와 확대행렬 (A | B) 의 위수가 3으로 같지만 미지수의 개수가 4개라면 2번의 조건을 만족하지 못해 무수히 많은 해를 갖게 됩니다. (마지막 해가 맞춰지지 않으므로 부정)
따라서 연립방정식이 유일한 해를 갖기 위해서는 행렬 A 와 확대행렬 (A | B) 의 위수가 같고, 그 위수가 미지수의 개수 n 과 같아야 합니다.