1강: 선형시스템(Linear System)
선형시스템에서는 다음과 같은 내용을 배운다.
- 선형시스템 복습: 초등/중등 교과과정
- 선형시스템: Ax=b, 연립일차방정식의 대수적 표현
- 가우스 소거법: 선형시스템을 푸는 방법
- LU 분해: 가우스 소거법 과정을 행렬로 표현
- 프로그래밍 실습
👶선형시스템 복습: 초등 교과과정
간단한 형태의 선형시스템(linear system) 문제는 다음과 같다.
3x3−1∗3xx=6=3−1∗6=2
연립일차방정식 == 선형시스템
3x + y = 2
x - 2y = 3
⇒
6x + 2y = 4
x - 2y = 3
⇒
7x = 7
x = 1, y = -1
소거법을 정형화한 것이 가우스 소거법
소거법을 적용하여 변수를 소거하였는데 소거한 변수가 다시 튀어 나오는 경우가 발생.
이런 경우 가우스 소거법을 이용
-
가우스 소거법
이미 소거한 변수가 나오지 않도록 하는 방법
선형대수(linear algebra)의 목표는 어떤 선형시스템(연립일차방정식) 문제라도 정형적인 방법으로 표현하고 해결하는 방법을 배우는 것이다.
선형시스템 구성요소
-
Linear Equations (선형방정식)
3차원 공간에 방정식을 그렸을 때 직선, 평면이 나오면 선형방정식이다.
-
Unknowns (미지수)
알아내려는 변수 x, y, ...를 Unknown (혹은 variable) 이라고 한다.
m x n Linear System
m: linear equation 의 개수
n: unknown 의 개수
3xxx+−2+yyy+−+z=4z=1z=2
3
개의 linear equations, 3
개의 unknowns로 구성된 연립일차방정식을
3
x 3
linear system 이라고 한다.
non-linear equation (비선형방정식)
💡선형방정식인지 비선형방정식인지 구분하는 방법
미지수의 승수가 1
로만 구성되어 있는 경우는 선형방정식이다!
그렇다면 xy+z=3 의 경우는?
⇒ x의 승수 1
+ y의 승수 1
= 2
이므로 비선형방정식이다!
선형시스템의 대수적 표현
Ax=b (연립일차방정식의 대수적 표현)
👉 Ax = b로 표현하기
⎣⎢⎡3121−2−4⎦⎥⎤[xy]=⎣⎢⎡236⎦⎥⎤
- 선형시스템의 unknowns(미지수)를 모아 column vector(열벡터) x 로 표현한다.
- 선형시스템의 linear equation(선형방정식)에 대해 다음을 수행한다.
- coefficients(계수)를 모아 A의 row vector(행벡터)로 표현한다.
- constant(상수)를 모아 b에 표현한다.
[ 연습문제 ]
빠져있는 변수를 비워두고 적으면 구조적으로 파악하기 더 좋음!
내용 정리
-
선형시스템
3x1+x2=2
x1−2x2=3
2x1−4x2=6
- 식은 행이고, 행은 식이다 (linear equation ↔ row)
- m 은 linear equation(선형방정식)의 개수이다.
- n 은 unknowns(미지수)의 개수이다.
-
Ax=b
⎣⎢⎡3121−2−4⎦⎥⎤[xy] = ⎣⎢⎡236⎦⎥⎤
- A 는 m x n 행렬이다.
- x 는 n-벡터이다.
- b 는 m-벡터이다.
2강: 선형시스템 - 실습
⎣⎢⎡3111−211−11⎦⎥⎤⎣⎢⎡x1x2x3⎦⎥⎤ = ⎣⎢⎡412⎦⎥⎤
행렬과 벡터의 코딩 및 연산
Ax=b
역행렬
(A−1)Ax=b(A−1)
x=A−1b
2강: 가우스 소거법
역행렬을 구하기 위한 알고리즘
선형시스템의 해
-
해가 하나인 경우
3x=6
[1−231][x1x2] = [23]
-
해가 없는 경우
0x=6
[1236][x1x2] = [25]
-
해가 여러개인 경우
0x=0
[1236][x1x2] = [24]
- a=0 이면 특이하다. #2, 3 경우
- ax=b의 해가 곧장 나오지 않는다 → a의 역수가 존재하지 않는다. (0으로 나눌 수 없기 때문)
- a의 역수가 존재하지 않는 경우, a가 특이(singular)하다고 한다.
- 해가 있으면 선형시스템이 consistent 하다고 한다. # 1, 3 경우
- 해가 없으면 선형시스템이 inconsistent 하다고 한다. # 2 경우
가우스 소거법 (Gauss elimination)
가우스 소거법은 임의의 m x n 선형 시스템의 해를 구하는 가장 대표적인 방법이다.
가우스 소거법은 다음의 두 단계로 수행된다.
- 전방소거법(Forward Elimination)
- 후방대입법(back-substitution)
1) 전방소거법(Forward Elimination)
주어진 선형시스템을 아래로 갈수록 더 단순한 형태의 선형방정식을 가지도록 변형하는 절차
⎣⎢⎡∗∗∗∗∗∗∗∗∗⎦⎥⎤⎣⎢⎡x1x2x3⎦⎥⎤=⎣⎢⎡∗∗∗⎦⎥⎤→⎣⎢⎡∗00∗∗0∗∗∗⎦⎥⎤⎣⎢⎡x1x2x3⎦⎥⎤⎣⎢⎡∗∗∗⎦⎥⎤
대부분 0이 아닌 A에 대하여 전방소거법을 수행 후 많은 부분이 0으로 바뀌게 됨
(마지막 행은 가장 단순한 선형방정식이 나오게 됨)
2) 후방대입법
아래에서부터 위로 미지수를 실제값으로 대체
- E3 에서 x3 를 구하고, x3 이용하여
- E2 에서 x2 를 구하고, x3 과 x2 를 이용하여
- E1 에서 x1 을 구한다.
🔥 가우스소거법 해보기
⎣⎢⎡11222313−1⎦⎥⎤⎣⎢⎡x1x2x3⎦⎥⎤ = ⎣⎢⎡13−3⎦⎥⎤
E1:x1+2x2+x3=1
E2:x1+2x2+3x3=3
E3:2x1+3x2+−x3=−3
전방소거법
- E2←E2−E1
- E3←E3−2E1
- E2↔E3
- E2←−E2
- E3←−21E3
⎣⎢⎡100210131⎦⎥⎤⎣⎢⎡x1x2x3⎦⎥⎤ = ⎣⎢⎡151⎦⎥⎤
기본행연산(EROs)
소거법에 활용된 세가지 기본행연산(elementary row operations, EROs)
- 치환(Replacement): rj←rj−mri
- 교환(interchange): rj↔ri
- 스케일링(Scaling): rj←sri
⭐전방소거법(Forward Elimination)의 가치
-
주어진 선형시스템을 가장 풀기 쉬운 꼴로 변형해준다.
상삼각형태(Upper triangular form)로 만들어줌
-
주어진 선형시스템의 랭크(rank)를 알려준다.
랭크: 의미있는 식의 개수
예시) rank = 1 인 선형시스템
[1236][x1x2]=[24]→[1030][x1x2]=[20]
식은 2개이지만 의미있는 식은 1개(E2는의미없는식)
-
선형시스템이 해가 있는지(consistent) 아니면 해가 없는지(inconsistent) 알려준다.
[1236][x1x2]=[25]→[1030][x1x2]=[21]
E2:0x1+0x2=1→해가없음