본 글은 "응용이 보이는 선형대수학" 책을 읽고 정리한 글입니다.
1. 역행렬의 계산
1) 기본행렬
- 정의 : 아래 3가지 정의 중 하나에 해당하는 행렬
1) Row Switching : 단위행렬의 두 행을 교환한 행렬
2) Row Multiplication : 단위행렬의 한 행에 0이 아닌 상수를 곱한 행렬
3) Row Addition : 단위행렬의 한 행에 상수배를 다른 행에 더한 행렬E1)=⎣⎢⎡010100001⎦⎥⎤,E2)=⎣⎢⎡100030001⎦⎥⎤,E3)=⎣⎢⎡10−5010001⎦⎥⎤,
- 기본행렬의 역행렬
- 기본행렬은 가역행렬이며, 기본행렬의 역행렬은 기본행렬이다.
- 기본행렬에서의 계산을 역으로 실행해주면 역행렬을 구할 수 있다.
- 예시
E1)−1=⎣⎢⎡010100001⎦⎥⎤,E2)−1=⎣⎢⎡1000310001⎦⎥⎤,E3)−1=⎣⎢⎡105010001⎦⎥⎤,
2) 행 동치
- 정의
- 행렬 A를 행렬 B 로 바꾸는 기본행렬이 있다면, 행렬 A, B는 행 동치이다.
- A ~ B로 표기한다. ( B=EnEn−1⋯E1A )
- 행 연산을 이용한 역행렬 계산
- 행렬 A를 단위행렬 I 로 변환하는 기본행렬의 곱 EnEn−1⋯E1=A−1 이다.
- 첨가행렬 [A∣I]→[I∣B]와 같이 변화하는 과정에서, B=A−1 이다.
2. LU 분해
1) LU 분해란
- 정의
- LU 분해 또는 LU 행렬 분해(LU matrix decomposition)라고 한다.
- 임의의 행렬 A를 하삼각행렬 L와 상삼각행렬 U의 곱인 A=LU 로 표현하는 것
- 종류
Aa)=⎣⎢⎡1∗∗01∗001⎦⎥⎤⎣⎢⎡∗00∗∗0∗∗∗⎦⎥⎤,Ab)=⎣⎢⎡∗∗∗0∗∗00∗⎦⎥⎤⎣⎢⎡100∗10∗∗1⎦⎥⎤,Ac)=⎣⎢⎡∗∗∗0∗∗00∗⎦⎥⎤⎣⎢⎡∗00∗∗0∗∗∗⎦⎥⎤, a) 단위 하삼각행렬을 이용한 LU 분해
b) 단위 상삼각행렬을 이용한 LU 분해
c) 주대각 성분에 제약 조건이 없는 LU 분해
⇒ 주로 a) 단위 하삼각행렬을 이용한 LU 분해를 사용한다.
- 조건
: ①한 행에 0이 아닌 상수를 곱하는 행 연산과 ②위쪽 행의 상수배를 어떤 행에 더하는 행 연산을 적용하여 상삼각행렬로 만들 수 있을 때, LU 분해를 할 수 있다.
2) LU 분해의 방법
A=⎣⎢⎡120−114202⎦⎥⎤
- 행렬 A를 행 연산을 통해 상삼각행렬을 만든다.
단, 한 행에 0이 아닌 상수를 곱하거나 위쪽 행의 상수배를 더하는 연산만 사용할 수 있다.
상삼각행렬을 만들 수 없다면, LU 분해는 불가능하다.E2E1A=U⎣⎢⎡10001−34001⎦⎥⎤⎣⎢⎡1−20010001⎦⎥⎤⎣⎢⎡120−114202⎦⎥⎤=⎣⎢⎡100−1302−4322⎦⎥⎤
- 기본 행 연산들의 역행렬을 양변에 곱해준다.
A=E1−1E2−1U⎣⎢⎡120−114202⎦⎥⎤=⎣⎢⎡120010001⎦⎥⎤⎣⎢⎡1000134001⎦⎥⎤⎣⎢⎡100−1302−4322⎦⎥⎤
- 기본 행렬의 역행렬끼리 곱하여 하삼각행렬을 구한다.
상삼각행렬을 만들기 위한 기본 행 연산은 모두 하삼각행렬이다.
하삼각행렬들의 곱은 하삼각행렬이고, 역행렬 또한 하삼각행렬이다.A=LU⎣⎢⎡120−114202⎦⎥⎤=⎣⎢⎡1200134001⎦⎥⎤⎣⎢⎡100−1302−4322⎦⎥⎤
3) LU 분해의 활용
LU 분해를 이용하면 기존 행렬을 기약 행 사다리꼴 행렬로 변환하는 과정에서 생기는 계산을 줄일 수 있다.
- LU 분해를 이용한 연립선형방정식의 풀이
- Ax=b 식에서 LU 분해를 이용하여 LUx=b 로 바꾸어준다.
- Ux=y 라고 했을 때, Ly=b 를 풀어 y를 먼저 구해준다.
- Ux=y 를 풀어 x 를 구해준다.
- LU 분해를 이용한 역행렬 계산
A−1=C=[c1c2c3] 이고, I3=[i1i2i3] 일 때,
A−1 을 구하는 것은 Ac1=i1,Ac2=i2,Ac3=i3 3개의 행렬방정식을 푸는 것과 같다.
- Ack=ik 식에서 LU 분해를 이용하여 LUck=ik 로 바꾸어준다.
- Uck=yk 라고 했을 때, Lyk=ik 를 풀어 yk를 먼저 구해준다.
- Uck=yk 를 풀어 ck 를 구해준다.
3. 블록행렬의 역행렬
- 블록 상삼각행렬과 역행렬
A=[A110A12A22],A−1=[A11−10−A11−1A12A22−1A22−1] 단 A의 부분행렬이 모두 가역행렬이어야 위의 식이 성립한다.
- 블록 대각행렬과 역행렬
A=[A1100A22],A−1=[A11−100A22−1] 단 A의 부분행렬이 모두 가역행렬이어야 위의 식이 성립한다.