1. 선형시스템(Linear System)
목차
- 선형시스템 복습 : 초등/중등 교과과정
- 선형시스템 : Ax=b, 연립일차방정식의 대수적 표현
- 가우스 소거법 : 선형시스템을 푸는 방법
- LU분해 : 가우스 소거법 과정을 행렬로 표현
- 프로그래밍 복습
1. 선형시스템 복습 : 초등/중등 교과과정
연립일차방정식 == 선형시스템
- 소거법
- 식과 식을 더하거나 식에 숫자를 곱하여 변수를 소거
소거법을 정형화한 것이 가우스 소거법
소거법을 적용하여 변수를 소거하였는데 소거한 변수가 다시 튀어 나오는 경우가 발생
이런 경우 가우스 소거법을 사용
- 가우스 소거법
- 이미 소거한 변수가 나오지 않도록 하는 방법
선형대수(linear algebra)의 목표는 어떤 선형시스템(연립일차방정식) 문제라도 정형적인 방법으로 표현하고 해결하는 방법을 배우는 것이다.
선형 시스템 구성요소
- Linear Equations(선형방정식)
3차원 공간에 방정식을 그렸을 때, 직선 평면이 나오면 선형방정식이다. - Unknowns(미지수)
알아내려는 변수 x, y, ...를 Unknown(= Variable) 이라고 한다.
M x N Linear System
M : 식(linear equation) 의 개수
N : 미지수(Unknown) 의 개수
Ex)
3x + y + z = 4
x + 2y - z = 1
x + y + z = 2 일 때,
3개의 Linear equations , 3개의 Unknowns 로 구성된 연립일차방정식을3 x 3 Linear System 이라고 한다.
Linear equations 와 Non-Linear equations 구별
- 선형방정식
Unknown의 승수가 1
- 비선형방정식
Unknown의 승수가 2 이상
ex) 3x + y^3 = 2
sinx + y = 2 -> sin 그래프는 곡선 그래프
+) xy + z = 3 의 경우는?
=> x의 승수 1 + y의 승수 1 = 2 이므로 비선형방정식이다.
선형시스템의 대수적 표현(Ax = b)
Ax = b로 표현하기
- 선형시스템의 Unknown(미지수)를 모아 column vector(열벡터) x로 표현
- 선형시스템의 Linear equations(선형방정식)에 대해 다음을 수행
- coefficient(계수) 를 모아 A의 row vector(행벡터)로 표현
- constant(상수)를 모아 b에 표현

M x N 선형시스템의 Ax = b 표현을 정리
- 식은 행이고, 행은 식이다(linear equation <=> row)
- M은 linear equations의 개수
- N은 Unknown의 개수
- A는 M x N 행렬
- x는 N-벡터
- b는 M-벡터
선형시스템의 해(solutions of a Linear System)
- a = 0 이면 특이하다.
- ax = b 의 해가 곧장 나오지 않는다.
- a의 역수(inverse) 가 존재하지 않는 경우, a가 특이 (singular) 하다고 함
- 해가 있으면 선형시스템이 consistent 하다고 함
- 해가 없다면 선형시스템이 inconsistent 하다고 함
2. 가우스 소거법(Gauss eliminations)
Gauss eliminations은 임의의 M x N 선형시스템의 해를 구하는 가장 대표적인 방법
이는 다음의 두 단계로 수행
- Forward elimination (전방소거법)
주어진 선형시스템을 아래로 갈수록 더 단순한 형태의 선형방정식을 가지도록 변형 - back substiution (후방대입법)
아래에서부터 위로 미지수를 실제값으로 대체
Forward elimination
아래로 갈수록 더 단순한 형태의 선형방정식을 가지도록 변형
따라서, 마지막 행은 초등 교과 수준의 가장 단순한 선형방정식이 나옴


back substiution
아래부터 위로 미지수를 실제값으로 대입
두 단계를 통한 예제



기본행 연산(EROs)
소거법에 활용된 세가지 기본행연산 (elementary row operations, EROs)
- 치환(Replacement) : rj <- rj - mri
- 교환(interchange) : rj <-> ri
- 스케일링(scaling) : rj <- sri
전방소거법(Forward elimination) 의 가치
- 주어진 선형시스템을 가장 풀기 쉬운 꼴로 변형해준다.
상삼각형태(Upper triangular form) 로 만들어줌

- 주어진 선형시스템의 랭크(rank)를 알려준다.
랭크 : 의미있는 식의 개수

식은 2개이지만 의미있는 식은 1개(E2는 의미가 없다)
- 선형시스템이 해가 있는지(consistant) 아니면 해가 없는지 (inconsistant) 인지 알려준다

E2 : 0 * x1 + 0 * x2 = 1 -> 해가 없다
'프로그래머스인공지능스쿨' 카테고리의 다른 글
| [2주차 - Day2] 인공지능 수학 - 미적분(2) (0) | 2021.04.28 |
|---|---|
| [2주차 - Day2] 인공지능 수학 - 미적분(1) (0) | 2021.04.28 |
| [1주차 - Day04] 파이썬을 무기로, 코딩테스트 광탈을 면하자! (2) (0) | 2021.04.23 |
| [1주차 - Day03] 파이썬을 무기로, 코딩테스트 광탈을 면하자! (1) (0) | 2021.04.22 |
| [1주차 - Day02] 어서와! 자료구조와 알고리즘은 처음이지?(2) (0) | 2021.04.21 |