제 3장. 연립 방정식의 해법cs.sookmyung.ac.kr/~ykkim/materials/teaching/na/chap3.… ·...
TRANSCRIPT
1
제 3 장 . 연립 방정식의 해법1. 행렬과 방정식의 행렬 표현2. 소거법3. 행렬식과 역 행렬4. 노름과 조건수5. 반복법6. 비선형 연립 방정식의 해법
2
1. 행렬과 방정식의 표현연립 방정식을 동시에 만족하는 값 x1, x2,..,xn 을 구하는 문제를 다룬다 .
연립 방정식의 종류선형 연립 방정식비 선형 연립 방정식
0),...,,(
0),...,,(0),...,,(
21
212
211
nn
n
n
xxxf
xxxfxxxf
3
1. 행렬과 방정식의 표현 (cont.)
행렬의 종류 ( 교재 P.80~83 참조 )행렬 ( 행의 수 n, 열의 수 m, n m), 정방 행렬 (n n)행 벡터 (n = 1), 열 벡터 (m = 1)대각 행렬단위 행렬전치 행렬 (AT), 대칭 행렬 (AT =A)삼각 행렬 ; 상삼각 , 하삼각교대 행렬 (AT = -A)트레이스
4
1. 행렬과 방정식의 표현 (cont.)
행렬의 기본 연산 법칙행렬의 상등행렬의 합과 차행렬의 곱3 중 대각 행렬과 역 행렬 ( 교재 p.85 참조 )
5
1. 행렬과 방정식의 표현 (cont.)
연립 방정식의 행렬 표현
nnnnnn
nn
nn
bxaxaxa
bxaxaxabxaxaxa
2211
22222121
11212111
nn b
bb
x
xx
aaa
aaaaaa
BAX
2
1
2
1
111111
111111
111111
6
2. 소거법방정식을 결합하여 미지수를 소거한다 . 선형 연립 방정식의 해를 구하는 방법행렬식과 Cramer 공식 미지수 소거법
Gauss 소거법Gauss-Jordan 소거법LU 분해법과 역 행렬특수 행렬과 반복법
비선형 연립 방정식의 해법
7
2. 소거법 (cont.)
주요 용어 :피벗 원소 (pivot element) : 소거시키는 기준이 되는 대각선의 원소 .피벗 행 (pivot row) : 피벗 원소가 속해있는 행 .
선형 연립방정식의 연산 법칙 :확대 행렬의 어떤 행에도 상수를 곱할 수 있다 .하나의 행에 어떤 수를 곱하여 , 다른 행에 더할 수 있다 .어떤 두 행의 위치를 바꿀 수 있다 .
8
2.1 Gauss 소거법 전진 소거와 후진 대입 기법을 사용계수 행렬을 상 삼각 행렬로 변환하여 , 역 대입
연립 방정식이 커지면 , 계산시간이 3 배로 증가대부분의 노력은 소거 단계에 있다소거법의 문제점0 으로 나누는 경우 피벗화반올림 오차 더 많은 유효숫자 사용불량 조건 시스템
9
2.1 Gauss 소거법 (cont.)
21112
122
321213
3
2
1
xxx
BAX
1. 행렬의 표현
2. 확대 행렬 A|B 생성
3
2
1
21112
122
321213
|RRR
BA
10
2.1 Gauss 소거법 (cont.)
21112
122
321213
3. 전진 소거하여 상 삼각 행렬로 만든다 .
4. 제일 먼저 x3 를 구하고 , x2, x1 을 차례로 전진 대입
182112
740770213
422112
2100770213
3R2+(-1)R1R2 7R3+4R2R3
2 4221)1( 33 xx 1 2 ,2177)2( 2332 xxxx
3 1 2, ,1223)3( 123321 xxxxxx
11
2.1 Gauss 소거법 (cont.)
문제점소거와 후진 대입하는 동안 0 으로 나누어지는 경우와 계수가
0 에 매우 근접해 있을 경우가 발생 .피벗화로 부분적으로 해결완전 피벗화 : 계수 행렬 중 절대 값이 제일 큰 요소를 찾아 피벗 원소로 택하는 방법 . 바뀐 열이 x 의 차수를 변화 시키기 때문에 프로그램을 복잡하게 만들게 되므로 잘 사용되지 않는다 . 부분 피벗화 : 한 개의 열 내에서만 제일 큰 원소를 찾아 피벗 원소로 택하는 방법 .
12
2.2 Gauss-Jordan 소거법 미지수를 소거할 때 다른 모든 방정식에서 소거하고 , 모든 행들은 피벗 요소로 나누어 정규화 된다 .소거한 후에는 단위 행렬이 되므로 후진 대입할 필요가 없다 .Gauss 소거법 보다 약 50% 더 연산 작업을 수행해야 하므로 , Gauss 소거법이 선형 연립 방정식의 해를 얻기 위해 선호되는 방법이다 .
13
2.2 Gauss-Jordan 소거법 (cont.)
3
2
1
21112
122
321213
|RRR
BA
18-2112
740
770213
42-21
105
210077021021
42-2163
210002100021
213
100010001
3R2+(-1)R1R2
3R2+(-2)R1R3
14
2.3 LU 분해법
AX = B 에서 우변 B 를 소거에 포함시키지 않는다0 으로 나누는 것을 피하기 위하여 피벗화 요구계수 행렬 A 를 상삼각 , 하삼각 행렬의 곱으로 표현해를 구하기 위한 두 단계LU 분해 단계 : AX = B LUX = B (L 은 하삼각 행렬 , U
는 상삼각행렬 )대입 단계 :
LD = B 를 사용하여 , 전진 대입으로 D 를 구한다UX = D 를 이용하여 후진 대입으로 X 를 구한다
15
2.3 LU 분해법 (cont.)
Crout 분해법 대각 요소가 1 인 행렬 U 를 사용
Cholesky 분해법L 과 U 의 대각 요소가 같은 행렬을 사용 l11= u11, l22 = u22 , …, lnn = unn
Doolittle 분해법 대각 요소가 1 인 행렬 L 를 사용
16
2.3.1 Crout 분해
행렬을 행과 열에 따라 쓰면서 L 과 U 를 만든다
44434241
34333231
24232221
14131211
44343324421441432342134142124141
343324321431332332133132123131
242214212322132122122121
14111311121111
44434241
34333231
24232221
14131211
34
2423
141312
44434241
333231
2221
11
1000100
101
000000
aaaaaaaaaaaaaaaa
lululullulullullululullulullull
ulululullullululull
aaaaaaaaaaaaaaaa
uuuuuu
lllllll
lll
ALU
17
2.3.1 Crout 분해 (cont.)
111414141411
111313131311
111212121211
///
lauaullauaullauaul
1241424242421241
1231323232321231
1221222222221221
ulalalululalalululalalul
4141
3131
2121
1111
alalalal
1 열의 비교
1 행의 비교 2 열의 비교
18
2.3.1 Crout 분해 (cont.)
3443244214414444
33
243214313434
234213414343
233213313333
22
14212424
22
13212323
ulululal
lululau
ululal
ululal
lulau
lulau
3 열 ,4 열의 비교
19
2.3.1 Crout 분해 (cont.)
njforla
u
niforal
jj
ii
,,3,2
,,2,1
1,1
,1,1
1,1,
1,3,2 and ,,2,1
1,3,2 and ,,1,
,
1
1,,,
,
1
1,,,,
njnjjkforl
ulau
njnjjiforulal
jj
j
ikiijkj
kj
j
kjkkijiji
1
1,,,,
n
knkknnnnn ulal특히 ,
정리된 일반식
20
2.3.2 예제예제 3.5 : 교재 p.105
LU 분해법 알고리즘 : 교재 p.106
LU 분해법을 사용한 역행렬 구하기
100
010
001
33
22
11
BBAX
BBAX
BBAX
21
3. 행렬식과 역 행렬행렬식Cramer 공식을 수행하거나 , 행렬의 불량 조건을 평가하는데 사용된다 .행렬과 달리 행렬식은 하나의 수치 값이다 .
3231
222113
3331
232112
3332
232211
333231
232221
131211
aaaa
aaaaa
aaaaa
aaaaaaaaaa
D
333231
232221
131211
aaaaaaaaa
A
22
3. 행렬식과 역 행렬 (cont.)
Cramer 공식방정식의 수가 적을 때 사용할 수 있는 기법각 미지수를 두개의 행렬식을 사용해서 분수 형태로
표현한다 . 여기서 분모는 행렬식 D 이고 , 분자는 D 의 요소 중에서 미지수를 갖는 계수의 열 위치에 상수 b1, b
2, …, bn 으로 대체하여 얻은 행렬식
DD
x ii
23
3. 행렬식과 역 행렬 (cont.)
Cramer 공식 (cont.)AX = B 로 부터 직접 x 를 구하는 방법이다 .예를 들어 , i = 1 이면
Daabaabaab
DD
x 33323
23222
13121
11
24
3. 행렬식과 역 행렬 (cont.)
역 행렬 행렬 A 가 정방 행렬이면 , A 의 역 행렬인 A-1 이
존재한다 . A A-1 = I
역 행렬 구하기행렬 A 와 단위 행렬 I 를 확대 행렬로 만들고 , Gauss-J
ordan 의 방법을 적용하여 A 의 자리가 단위 행렬이 되도록 하면 I 의 자리에서 변화된 값이 역 행렬이 된다
25
3. 행렬식과 역 행렬 (cont.)
211218212121211512
210002100021
211218031036
210077021021
302031001
740770
213
100010001
122
321213
|
IA
1/17/47/6
11117/57/4
100010001
AI
26
4. 크기 (norm) 와 조건수
노름 혹은 크기 (norm) 은 벡터와 행렬과 같은 다중 성분 수학적 개체의 길이 또는 크기의 척도를 제공하는 값이다 .
x
z
y
a
b
c
222 cbaFe
27
4. 크기와 조건수 (cont.)
Norm : (p.116 참조 )Euclidian norm :
열 norm(1-norm) : 각 열 원소의 절대값을 합한 것 중에 최대값
행 norm(-norm) : 각 행 원소의 절대값을 합한 것 중 최대값
n
iijnj
aA111 ||max||||
n
i
n
jije aA
1 1
2||||
n
jijni
aA11
||max||||
28
4. 크기와 조건수 (cont.)
Norm 의 특성 : (p.115 참조 ) ||A|| 0 , 단 A=0 인 경우에 ||A||=0
||kA|| = k ||A|| , 단 k 는 임의의 상수 ||A+B|| ||A|| + ||B||
||AB|| ||A|| ||B||
29
4. 크기와 조건수 (cont.)
크기를 사용하여 조건수를 정의할 수 있다 .
Cond[A] =
Cond[A] 를 행렬 조건수라고 부른다 . 좋은 측정값은 조건수가 1 정도가 된다 .
행렬 조건수를 사용한 크기의 오차에 관한 식
1 AA
AA
ACondXX
][
30
4. 크기와 조건수 (cont.)
불량 조건을 갖는 대표적 예 : Hilbert 행렬
33 Hilbert 행렬의 경우 : 2.451 1
AA
nnnn
n
n
n
21
21
111
21
51
41
31
11
41
31
21
131
211
31
4.1 반복적인 정제연립 방정식이 불량 조건일 경우 직접법을 사용하여 구해진 해 X(0) 는 오차가 크다 .이런 경우 , 직접법을 반복적으로 적용해서 참값에 가까운 해를 구할 수 있다 .
연립 방정식 AX = B 에서 직접법으로 구한 근사해 X(0) 를 대입하면 , AX(0) = B(0) 가 된다 .
)0()0()1(
)0()0(
)0()0()0()0(
)0()0()0(
,
)(
XXX
BXA
BBBXXX
BBXXAAXAX
32
4.1 반복적인 정제 (cont.)
p.120 : 예제
38.3
23.7
61.1
47.154.083.0
78.156.033.4
53.205.102.3
3
2
1
x
x
x
66.2
35.2
88.0)0(X
372.3
229.7
605.1)0(B
008.0
001.0
005.0)0(B
008.0
001.0
005.0
47.154.083.0
78.156.033.4
53.205.102.3
3
2
1
x
x
x
56.1
09.4
11.0
3
2
1
x
x
x
1.1
74.1
99.0
56.1
09.4
11.0
66.2
35.2
88.0)0()0()1( XXX
33
5. 특수 행렬과 반복법계수 행렬이 0 을 많이 포함한 경우에 소거법 보다 빨리 근을 구할 수 있는 방법 .초기 가정 값을 선정하여 정제된 추정 해를 얻기 위하여 반복 . 큰 연립 방정식에 적합하고 , 오차는 반복 횟수로 조정할 수 있음 .Jacobi 반복법 Gauss-Seidel 반복법이완법
34
5.1 Jacobi 반복법
계수가 제일 큰 미지수가 좌변에 오도록 각 식을 정리하여 반복식의 형태로 만든다 .
시작점을 x1 = x2 = x3 = 0 을 취해서 반복식에 대입하여 새로운 x1 , x2 , x3 값을 얻고 , 이 과정을 반복한다 .
3333232131
2323222121
1313212111
bxaxaxa
bxaxaxa
bxaxaxa
3
2
1
xxx
35
5.2 Gauss-Seidel 반복법 Jacobi 반복법 보다 수렴 속도가 훨씬 빠르고 , 새로운 x 값이 즉시 사용됨 . 만약 해가 수렴하고 있다면 가장 유효한 추정 값을 채택할 수 있기 때문에 선호하는 방법 . 참값에 충분히 가깝게 수렴할 때까지 반복 . 종료 판정 기준 :
sji
ji
ji
ia Ex
xxi
1
,
36
* 반복법의 비교
Gauss-Seidel 반복법 Jacobi 반복법
37
5.3 이완법
Gauss-Seidel 법에서 수렴을 향상 시키기 위하여 약간의 변형을 한 방법이다 .
각각의 새로운 x 값을 구한 후에 x 값은 이전과 현재의 반복으로 구한 결과의 가중 평균으로 수정된다 . 이것을 이완이라고 한다 .
38
5.3 이완법 (cont.)
이완과정을 반복하여 잔차가 모두 0 이 되는 시점에서 계산을 중지하게 되고 , x 의 시작 값과 이완에 의해 증감된 값을 모두 더하면 해를 구할 수 있다 . 수렴 속도는 매우 빠르지만 , 프로그램이 어렵다 .
39
5.3 이완법 (cont.)
40
5.3 이완법 (cont.)
41
5.3 이완법 (cont.)
42
5.3 이완법 (cont.)
43
6. 비선형 연립 방정식의 해법대수 및 초월 함수를 포함한 비선형 연립 방정식의 해를 구하는 것은 어렵다 .
비선형 방정식을 풀기위한 개 구간법을 확장하면 , 이들 연립 방정식의 해를 구할 수 있다 .
비선형 연립 방정식의 해법1 차 반복법 ( 고정점 반복법 )
Newton-Raphson 법
44
6.1 고정점 반복법
수렴 조건을 만족하는 반복식을 구하여 , 초기 가정 값을 대입한다 .
수렴조건 :
수렴조건이 너무나 엄격하기 때문에 고정점 반복법은 실제로 거의 사용되지 않는다 .
1
1
1
zzz
yyy
xxx
hgf
hgf
hgf
45
6.2 Newton-Raphson 방법
주어진 한 쌍의 연립 방정식을 (x0, y0) 를 기준으로 하여 Taylor급수 전개하여 제 1 차 미분계수를 포함하는 항을 취한다 .
)()(),(),(
)()(),(),(
0000
0000
yygxxgyxgyxg
yyfxxfyxfyxf
yx
yx
kyyhxxyxgyxf
0101
1111
, 0),( & 0),(
kyyhxx
yxgkghgyxfkfhf
yx
yx
0101
00
00
,
),(),(
h 와 k 는 Cramer 공식을 사용하여 구할 수 있다 .
yx
yx
x
x
yx
yx
y
y
ggffggff
k
ggffggff
h
&
46
* 편미분의 계산
xyxfyxxf
xff
xx
),(),(lim0
xyxxfyxxf
xyxfyxxff x
2),(),(
),(),(
x 가 극히 작다고 생각하여 , 근사값으로 표현하면 ,